From cf396e36618cda5f8c9bb1359bf6c187abc04a6b Mon Sep 17 00:00:00 2001 From: matejcik Date: Tue, 14 May 2019 16:22:23 +0200 Subject: [PATCH] python: return generated files to git This separates the regeneration step from the build/install step. This is to simplify bootstrapping: trezorlib is needed in several build/test steps, and bound to be needed in more. It should be usable and installable straight from the checkout. --- python/.gitignore | 3 - python/Makefile | 23 +- python/setup.py | 71 +--- python/trezorlib/coins.json | 1 + python/trezorlib/coins.py | 7 +- python/trezorlib/messages/Address.py | 19 ++ python/trezorlib/messages/ApplyFlags.py | 19 ++ python/trezorlib/messages/ApplySettings.py | 37 ++ python/trezorlib/messages/BackupDevice.py | 7 + python/trezorlib/messages/BinanceAddress.py | 19 ++ python/trezorlib/messages/BinanceCancelMsg.py | 25 ++ python/trezorlib/messages/BinanceCoin.py | 21 ++ .../trezorlib/messages/BinanceGetAddress.py | 28 ++ .../trezorlib/messages/BinanceGetPublicKey.py | 28 ++ .../trezorlib/messages/BinanceInputOutput.py | 29 ++ python/trezorlib/messages/BinanceOrderMsg.py | 40 +++ python/trezorlib/messages/BinanceOrderSide.py | 5 + python/trezorlib/messages/BinanceOrderType.py | 6 + python/trezorlib/messages/BinancePublicKey.py | 19 ++ python/trezorlib/messages/BinanceSignTx.py | 43 +++ python/trezorlib/messages/BinanceSignedTx.py | 25 ++ .../trezorlib/messages/BinanceTimeInForce.py | 6 + .../trezorlib/messages/BinanceTransferMsg.py | 30 ++ python/trezorlib/messages/BinanceTxRequest.py | 7 + python/trezorlib/messages/ButtonAck.py | 7 + python/trezorlib/messages/ButtonRequest.py | 22 ++ .../trezorlib/messages/ButtonRequestType.py | 17 + python/trezorlib/messages/Cancel.py | 7 + python/trezorlib/messages/CardanoAddress.py | 19 ++ .../trezorlib/messages/CardanoGetAddress.py | 28 ++ .../trezorlib/messages/CardanoGetPublicKey.py | 28 ++ python/trezorlib/messages/CardanoPublicKey.py | 24 ++ python/trezorlib/messages/CardanoSignTx.py | 37 ++ python/trezorlib/messages/CardanoSignedTx.py | 22 ++ python/trezorlib/messages/CardanoTxAck.py | 19 ++ .../trezorlib/messages/CardanoTxInputType.py | 33 ++ .../trezorlib/messages/CardanoTxOutputType.py | 30 ++ python/trezorlib/messages/CardanoTxRequest.py | 25 ++ python/trezorlib/messages/ChangePin.py | 19 ++ python/trezorlib/messages/CipherKeyValue.py | 43 +++ python/trezorlib/messages/CipheredKeyValue.py | 19 ++ python/trezorlib/messages/ClearSession.py | 7 + python/trezorlib/messages/CosiCommit.py | 28 ++ python/trezorlib/messages/CosiCommitment.py | 22 ++ python/trezorlib/messages/CosiSign.py | 34 ++ python/trezorlib/messages/CosiSignature.py | 19 ++ .../trezorlib/messages/DebugLinkDecision.py | 25 ++ .../trezorlib/messages/DebugLinkFlashErase.py | 19 ++ .../trezorlib/messages/DebugLinkGetState.py | 7 + python/trezorlib/messages/DebugLinkLog.py | 25 ++ python/trezorlib/messages/DebugLinkMemory.py | 19 ++ .../trezorlib/messages/DebugLinkMemoryRead.py | 22 ++ .../messages/DebugLinkMemoryWrite.py | 25 ++ python/trezorlib/messages/DebugLinkState.py | 54 +++ python/trezorlib/messages/DebugLinkStop.py | 7 + .../trezorlib/messages/DebugMoneroDiagAck.py | 40 +++ .../messages/DebugMoneroDiagRequest.py | 40 +++ python/trezorlib/messages/ECDHSessionKey.py | 19 ++ python/trezorlib/messages/Entropy.py | 19 ++ python/trezorlib/messages/EntropyAck.py | 19 ++ python/trezorlib/messages/EntropyRequest.py | 7 + python/trezorlib/messages/EosActionBuyRam.py | 26 ++ .../messages/EosActionBuyRamBytes.py | 24 ++ python/trezorlib/messages/EosActionCommon.py | 32 ++ .../trezorlib/messages/EosActionDelegate.py | 32 ++ .../trezorlib/messages/EosActionDeleteAuth.py | 21 ++ .../trezorlib/messages/EosActionLinkAuth.py | 27 ++ .../trezorlib/messages/EosActionNewAccount.py | 29 ++ python/trezorlib/messages/EosActionRefund.py | 18 + python/trezorlib/messages/EosActionSellRam.py | 21 ++ .../trezorlib/messages/EosActionTransfer.py | 29 ++ .../trezorlib/messages/EosActionUndelegate.py | 29 ++ python/trezorlib/messages/EosActionUnknown.py | 21 ++ .../trezorlib/messages/EosActionUnlinkAuth.py | 24 ++ .../trezorlib/messages/EosActionUpdateAuth.py | 29 ++ .../messages/EosActionVoteProducer.py | 30 ++ python/trezorlib/messages/EosAsset.py | 21 ++ python/trezorlib/messages/EosAuthorization.py | 37 ++ .../messages/EosAuthorizationAccount.py | 23 ++ .../trezorlib/messages/EosAuthorizationKey.py | 33 ++ .../messages/EosAuthorizationWait.py | 21 ++ python/trezorlib/messages/EosGetPublicKey.py | 28 ++ .../trezorlib/messages/EosPermissionLevel.py | 21 ++ python/trezorlib/messages/EosPublicKey.py | 22 ++ python/trezorlib/messages/EosSignTx.py | 36 ++ python/trezorlib/messages/EosSignedTx.py | 25 ++ python/trezorlib/messages/EosTxActionAck.py | 77 +++++ .../trezorlib/messages/EosTxActionRequest.py | 19 ++ python/trezorlib/messages/EosTxHeader.py | 33 ++ python/trezorlib/messages/EthereumAddress.py | 22 ++ .../trezorlib/messages/EthereumGetAddress.py | 28 ++ .../messages/EthereumGetPublicKey.py | 28 ++ .../messages/EthereumMessageSignature.py | 22 ++ .../trezorlib/messages/EthereumPublicKey.py | 24 ++ .../trezorlib/messages/EthereumSignMessage.py | 28 ++ python/trezorlib/messages/EthereumSignTx.py | 52 +++ python/trezorlib/messages/EthereumTxAck.py | 19 ++ .../trezorlib/messages/EthereumTxRequest.py | 28 ++ .../messages/EthereumVerifyMessage.py | 25 ++ python/trezorlib/messages/Failure.py | 22 ++ python/trezorlib/messages/FailureType.py | 15 + python/trezorlib/messages/Features.py | 97 ++++++ python/trezorlib/messages/FirmwareErase.py | 19 ++ python/trezorlib/messages/FirmwareRequest.py | 22 ++ python/trezorlib/messages/FirmwareUpload.py | 22 ++ python/trezorlib/messages/GetAddress.py | 39 +++ .../trezorlib/messages/GetECDHSessionKey.py | 27 ++ python/trezorlib/messages/GetEntropy.py | 19 ++ python/trezorlib/messages/GetFeatures.py | 7 + python/trezorlib/messages/GetPublicKey.py | 37 ++ python/trezorlib/messages/HDNodePathType.py | 29 ++ python/trezorlib/messages/HDNodeType.py | 33 ++ python/trezorlib/messages/IdentityType.py | 33 ++ python/trezorlib/messages/Initialize.py | 22 ++ python/trezorlib/messages/InputScriptType.py | 7 + python/trezorlib/messages/LiskAddress.py | 19 ++ python/trezorlib/messages/LiskDelegateType.py | 18 + python/trezorlib/messages/LiskGetAddress.py | 28 ++ python/trezorlib/messages/LiskGetPublicKey.py | 28 ++ .../messages/LiskMessageSignature.py | 22 ++ .../messages/LiskMultisignatureType.py | 30 ++ python/trezorlib/messages/LiskPublicKey.py | 19 ++ python/trezorlib/messages/LiskSignMessage.py | 28 ++ python/trezorlib/messages/LiskSignTx.py | 30 ++ .../trezorlib/messages/LiskSignatureType.py | 18 + python/trezorlib/messages/LiskSignedTx.py | 19 ++ .../messages/LiskTransactionAsset.py | 40 +++ .../messages/LiskTransactionCommon.py | 44 +++ .../trezorlib/messages/LiskTransactionType.py | 10 + .../trezorlib/messages/LiskVerifyMessage.py | 25 ++ python/trezorlib/messages/LoadDevice.py | 42 +++ python/trezorlib/messages/MessageSignature.py | 22 ++ python/trezorlib/messages/MessageType.py | 195 +++++++++++ .../messages/MoneroAccountPublicAddress.py | 21 ++ python/trezorlib/messages/MoneroAddress.py | 19 ++ .../messages/MoneroExportedKeyImage.py | 21 ++ python/trezorlib/messages/MoneroGetAddress.py | 37 ++ .../trezorlib/messages/MoneroGetTxKeyAck.py | 25 ++ .../messages/MoneroGetTxKeyRequest.py | 46 +++ .../trezorlib/messages/MoneroGetWatchKey.py | 28 ++ .../messages/MoneroKeyImageExportInitAck.py | 7 + .../MoneroKeyImageExportInitRequest.py | 39 +++ .../messages/MoneroKeyImageSyncFinalAck.py | 19 ++ .../MoneroKeyImageSyncFinalRequest.py | 7 + .../messages/MoneroKeyImageSyncStepAck.py | 27 ++ .../messages/MoneroKeyImageSyncStepRequest.py | 27 ++ .../messages/MoneroLiveRefreshFinalAck.py | 7 + .../messages/MoneroLiveRefreshFinalRequest.py | 7 + .../messages/MoneroLiveRefreshStartAck.py | 7 + .../messages/MoneroLiveRefreshStartRequest.py | 28 ++ .../messages/MoneroLiveRefreshStepAck.py | 22 ++ .../messages/MoneroLiveRefreshStepRequest.py | 31 ++ .../trezorlib/messages/MoneroMultisigKLRki.py | 27 ++ .../trezorlib/messages/MoneroOutputEntry.py | 23 ++ .../trezorlib/messages/MoneroRctKeyPublic.py | 21 ++ python/trezorlib/messages/MoneroRingCtSig.py | 24 ++ .../messages/MoneroSubAddressIndicesList.py | 27 ++ .../MoneroTransactionAllInputsSetAck.py | 21 ++ .../MoneroTransactionAllInputsSetRequest.py | 7 + .../messages/MoneroTransactionAllOutSetAck.py | 30 ++ .../MoneroTransactionAllOutSetRequest.py | 21 ++ .../messages/MoneroTransactionData.py | 69 ++++ .../MoneroTransactionDestinationEntry.py | 32 ++ .../messages/MoneroTransactionFinalAck.py | 28 ++ .../messages/MoneroTransactionFinalRequest.py | 7 + .../messages/MoneroTransactionInitAck.py | 30 ++ .../messages/MoneroTransactionInitRequest.py | 36 ++ .../messages/MoneroTransactionInputViniAck.py | 7 + .../MoneroTransactionInputViniRequest.py | 33 ++ .../MoneroTransactionInputsPermutationAck.py | 7 + ...neroTransactionInputsPermutationRequest.py | 25 ++ .../messages/MoneroTransactionRsigData.py | 42 +++ .../messages/MoneroTransactionSetInputAck.py | 34 ++ .../MoneroTransactionSetInputRequest.py | 21 ++ .../messages/MoneroTransactionSetOutputAck.py | 33 ++ .../MoneroTransactionSetOutputRequest.py | 31 ++ .../messages/MoneroTransactionSignInputAck.py | 22 ++ .../MoneroTransactionSignInputRequest.py | 39 +++ .../messages/MoneroTransactionSourceEntry.py | 51 +++ .../messages/MoneroTransferDetails.py | 33 ++ python/trezorlib/messages/MoneroWatchKey.py | 22 ++ .../messages/MultisigRedeemScriptType.py | 39 +++ python/trezorlib/messages/NEMAddress.py | 19 ++ .../messages/NEMAggregateModification.py | 29 ++ .../messages/NEMCosignatoryModification.py | 21 ++ .../trezorlib/messages/NEMDecryptMessage.py | 34 ++ .../trezorlib/messages/NEMDecryptedMessage.py | 19 ++ python/trezorlib/messages/NEMGetAddress.py | 31 ++ .../messages/NEMImportanceTransfer.py | 21 ++ .../messages/NEMImportanceTransferMode.py | 4 + .../trezorlib/messages/NEMModificationType.py | 4 + python/trezorlib/messages/NEMMosaic.py | 24 ++ .../trezorlib/messages/NEMMosaicCreation.py | 26 ++ .../trezorlib/messages/NEMMosaicDefinition.py | 66 ++++ python/trezorlib/messages/NEMMosaicLevy.py | 4 + .../messages/NEMMosaicSupplyChange.py | 27 ++ .../messages/NEMProvisionNamespace.py | 27 ++ python/trezorlib/messages/NEMSignTx.py | 51 +++ python/trezorlib/messages/NEMSignedTx.py | 22 ++ .../trezorlib/messages/NEMSupplyChangeType.py | 4 + .../messages/NEMTransactionCommon.py | 39 +++ python/trezorlib/messages/NEMTransfer.py | 38 +++ python/trezorlib/messages/OntologyAddress.py | 19 ++ python/trezorlib/messages/OntologyAsset.py | 4 + .../trezorlib/messages/OntologyGetAddress.py | 28 ++ .../messages/OntologyGetPublicKey.py | 28 ++ .../messages/OntologyOntIdAddAttributes.py | 32 ++ .../messages/OntologyOntIdAttribute.py | 24 ++ .../messages/OntologyOntIdRegister.py | 21 ++ .../trezorlib/messages/OntologyPublicKey.py | 19 ++ .../OntologySignOntIdAddAttributes.py | 34 ++ .../messages/OntologySignOntIdRegister.py | 34 ++ .../messages/OntologySignTransfer.py | 34 ++ .../messages/OntologySignWithdrawOng.py | 34 ++ .../OntologySignedOntIdAddAttributes.py | 22 ++ .../messages/OntologySignedOntIdRegister.py | 22 ++ .../messages/OntologySignedTransfer.py | 22 ++ .../messages/OntologySignedWithdrawOng.py | 22 ++ .../trezorlib/messages/OntologyTransaction.py | 44 +++ python/trezorlib/messages/OntologyTransfer.py | 27 ++ .../trezorlib/messages/OntologyTxAttribute.py | 21 ++ .../trezorlib/messages/OntologyWithdrawOng.py | 24 ++ python/trezorlib/messages/OutputScriptType.py | 8 + python/trezorlib/messages/PassphraseAck.py | 22 ++ .../trezorlib/messages/PassphraseRequest.py | 19 ++ .../messages/PassphraseSourceType.py | 5 + .../trezorlib/messages/PassphraseStateAck.py | 7 + .../messages/PassphraseStateRequest.py | 19 ++ python/trezorlib/messages/PinMatrixAck.py | 19 ++ python/trezorlib/messages/PinMatrixRequest.py | 19 ++ .../messages/PinMatrixRequestType.py | 5 + python/trezorlib/messages/Ping.py | 28 ++ python/trezorlib/messages/PublicKey.py | 24 ++ python/trezorlib/messages/RecoveryDevice.py | 43 +++ .../trezorlib/messages/RecoveryDeviceType.py | 4 + python/trezorlib/messages/RequestType.py | 7 + python/trezorlib/messages/ResetDevice.py | 43 +++ python/trezorlib/messages/RippleAddress.py | 19 ++ python/trezorlib/messages/RippleGetAddress.py | 28 ++ python/trezorlib/messages/RipplePayment.py | 24 ++ python/trezorlib/messages/RippleSignTx.py | 42 +++ python/trezorlib/messages/RippleSignedTx.py | 22 ++ python/trezorlib/messages/SelfTest.py | 19 ++ python/trezorlib/messages/SetU2FCounter.py | 19 ++ python/trezorlib/messages/SignIdentity.py | 30 ++ python/trezorlib/messages/SignMessage.py | 34 ++ python/trezorlib/messages/SignTx.py | 46 +++ python/trezorlib/messages/SignedIdentity.py | 25 ++ .../messages/StellarAccountMergeOp.py | 22 ++ python/trezorlib/messages/StellarAddress.py | 19 ++ .../trezorlib/messages/StellarAllowTrustOp.py | 31 ++ python/trezorlib/messages/StellarAssetType.py | 24 ++ .../messages/StellarBumpSequenceOp.py | 22 ++ .../messages/StellarChangeTrustOp.py | 27 ++ .../messages/StellarCreateAccountOp.py | 25 ++ .../messages/StellarCreatePassiveOfferOp.py | 36 ++ .../trezorlib/messages/StellarGetAddress.py | 28 ++ .../trezorlib/messages/StellarManageDataOp.py | 25 ++ .../messages/StellarManageOfferOp.py | 39 +++ .../messages/StellarPathPaymentOp.py | 45 +++ python/trezorlib/messages/StellarPaymentOp.py | 30 ++ .../trezorlib/messages/StellarSetOptionsOp.py | 52 +++ python/trezorlib/messages/StellarSignTx.py | 58 ++++ python/trezorlib/messages/StellarSignedTx.py | 22 ++ .../trezorlib/messages/StellarTxOpRequest.py | 7 + python/trezorlib/messages/Success.py | 19 ++ python/trezorlib/messages/TezosAddress.py | 19 ++ python/trezorlib/messages/TezosBallotOp.py | 27 ++ python/trezorlib/messages/TezosBallotType.py | 5 + python/trezorlib/messages/TezosContractID.py | 21 ++ .../trezorlib/messages/TezosContractType.py | 4 + .../trezorlib/messages/TezosDelegationOp.py | 35 ++ python/trezorlib/messages/TezosGetAddress.py | 28 ++ .../trezorlib/messages/TezosGetPublicKey.py | 28 ++ .../trezorlib/messages/TezosOriginationOp.py | 50 +++ python/trezorlib/messages/TezosProposalOp.py | 30 ++ python/trezorlib/messages/TezosPublicKey.py | 19 ++ python/trezorlib/messages/TezosRevealOp.py | 35 ++ python/trezorlib/messages/TezosSignTx.py | 53 +++ python/trezorlib/messages/TezosSignedTx.py | 25 ++ .../trezorlib/messages/TezosTransactionOp.py | 41 +++ python/trezorlib/messages/TransactionType.py | 67 ++++ .../messages/TronAccountUpdateContract.py | 18 + python/trezorlib/messages/TronAddress.py | 19 ++ .../messages/TronAssetIssueContract.py | 53 +++ python/trezorlib/messages/TronContract.py | 80 +++++ .../messages/TronFreezeBalanceContract.py | 21 ++ python/trezorlib/messages/TronFrozenSupply.py | 21 ++ python/trezorlib/messages/TronGetAddress.py | 28 ++ .../TronParticipateAssetIssueContract.py | 24 ++ .../messages/TronProposalApproveContract.py | 21 ++ .../messages/TronProposalCreateContract.py | 26 ++ .../messages/TronProposalDeleteContract.py | 18 + .../messages/TronProposalParameters.py | 21 ++ python/trezorlib/messages/TronSignTx.py | 45 +++ python/trezorlib/messages/TronSignedTx.py | 22 ++ .../messages/TronTransferAssetContract.py | 24 ++ .../messages/TronTransferContract.py | 21 ++ .../messages/TronUnfreezeAssetContract.py | 7 + .../messages/TronUnfreezeBalanceContract.py | 7 + .../messages/TronUpdateAssetContract.py | 21 ++ python/trezorlib/messages/TronVote.py | 21 ++ .../messages/TronVoteWitnessContract.py | 26 ++ .../messages/TronWithdrawBalanceContract.py | 7 + .../messages/TronWitnessCreateContract.py | 18 + .../messages/TronWitnessUpdateContract.py | 18 + python/trezorlib/messages/TxAck.py | 21 ++ python/trezorlib/messages/TxInputType.py | 59 ++++ python/trezorlib/messages/TxOutputBinType.py | 24 ++ python/trezorlib/messages/TxOutputType.py | 50 +++ python/trezorlib/messages/TxRequest.py | 28 ++ .../messages/TxRequestDetailsType.py | 27 ++ .../messages/TxRequestSerializedType.py | 24 ++ python/trezorlib/messages/VerifyMessage.py | 28 ++ python/trezorlib/messages/WipeDevice.py | 7 + python/trezorlib/messages/WordAck.py | 19 ++ python/trezorlib/messages/WordRequest.py | 19 ++ python/trezorlib/messages/WordRequestType.py | 5 + python/trezorlib/messages/__init__.py | 316 ++++++++++++++++++ 319 files changed, 8545 insertions(+), 84 deletions(-) create mode 100644 python/trezorlib/coins.json create mode 100644 python/trezorlib/messages/Address.py create mode 100644 python/trezorlib/messages/ApplyFlags.py create mode 100644 python/trezorlib/messages/ApplySettings.py create mode 100644 python/trezorlib/messages/BackupDevice.py create mode 100644 python/trezorlib/messages/BinanceAddress.py create mode 100644 python/trezorlib/messages/BinanceCancelMsg.py create mode 100644 python/trezorlib/messages/BinanceCoin.py create mode 100644 python/trezorlib/messages/BinanceGetAddress.py create mode 100644 python/trezorlib/messages/BinanceGetPublicKey.py create mode 100644 python/trezorlib/messages/BinanceInputOutput.py create mode 100644 python/trezorlib/messages/BinanceOrderMsg.py create mode 100644 python/trezorlib/messages/BinanceOrderSide.py create mode 100644 python/trezorlib/messages/BinanceOrderType.py create mode 100644 python/trezorlib/messages/BinancePublicKey.py create mode 100644 python/trezorlib/messages/BinanceSignTx.py create mode 100644 python/trezorlib/messages/BinanceSignedTx.py create mode 100644 python/trezorlib/messages/BinanceTimeInForce.py create mode 100644 python/trezorlib/messages/BinanceTransferMsg.py create mode 100644 python/trezorlib/messages/BinanceTxRequest.py create mode 100644 python/trezorlib/messages/ButtonAck.py create mode 100644 python/trezorlib/messages/ButtonRequest.py create mode 100644 python/trezorlib/messages/ButtonRequestType.py create mode 100644 python/trezorlib/messages/Cancel.py create mode 100644 python/trezorlib/messages/CardanoAddress.py create mode 100644 python/trezorlib/messages/CardanoGetAddress.py create mode 100644 python/trezorlib/messages/CardanoGetPublicKey.py create mode 100644 python/trezorlib/messages/CardanoPublicKey.py create mode 100644 python/trezorlib/messages/CardanoSignTx.py create mode 100644 python/trezorlib/messages/CardanoSignedTx.py create mode 100644 python/trezorlib/messages/CardanoTxAck.py create mode 100644 python/trezorlib/messages/CardanoTxInputType.py create mode 100644 python/trezorlib/messages/CardanoTxOutputType.py create mode 100644 python/trezorlib/messages/CardanoTxRequest.py create mode 100644 python/trezorlib/messages/ChangePin.py create mode 100644 python/trezorlib/messages/CipherKeyValue.py create mode 100644 python/trezorlib/messages/CipheredKeyValue.py create mode 100644 python/trezorlib/messages/ClearSession.py create mode 100644 python/trezorlib/messages/CosiCommit.py create mode 100644 python/trezorlib/messages/CosiCommitment.py create mode 100644 python/trezorlib/messages/CosiSign.py create mode 100644 python/trezorlib/messages/CosiSignature.py create mode 100644 python/trezorlib/messages/DebugLinkDecision.py create mode 100644 python/trezorlib/messages/DebugLinkFlashErase.py create mode 100644 python/trezorlib/messages/DebugLinkGetState.py create mode 100644 python/trezorlib/messages/DebugLinkLog.py create mode 100644 python/trezorlib/messages/DebugLinkMemory.py create mode 100644 python/trezorlib/messages/DebugLinkMemoryRead.py create mode 100644 python/trezorlib/messages/DebugLinkMemoryWrite.py create mode 100644 python/trezorlib/messages/DebugLinkState.py create mode 100644 python/trezorlib/messages/DebugLinkStop.py create mode 100644 python/trezorlib/messages/DebugMoneroDiagAck.py create mode 100644 python/trezorlib/messages/DebugMoneroDiagRequest.py create mode 100644 python/trezorlib/messages/ECDHSessionKey.py create mode 100644 python/trezorlib/messages/Entropy.py create mode 100644 python/trezorlib/messages/EntropyAck.py create mode 100644 python/trezorlib/messages/EntropyRequest.py create mode 100644 python/trezorlib/messages/EosActionBuyRam.py create mode 100644 python/trezorlib/messages/EosActionBuyRamBytes.py create mode 100644 python/trezorlib/messages/EosActionCommon.py create mode 100644 python/trezorlib/messages/EosActionDelegate.py create mode 100644 python/trezorlib/messages/EosActionDeleteAuth.py create mode 100644 python/trezorlib/messages/EosActionLinkAuth.py create mode 100644 python/trezorlib/messages/EosActionNewAccount.py create mode 100644 python/trezorlib/messages/EosActionRefund.py create mode 100644 python/trezorlib/messages/EosActionSellRam.py create mode 100644 python/trezorlib/messages/EosActionTransfer.py create mode 100644 python/trezorlib/messages/EosActionUndelegate.py create mode 100644 python/trezorlib/messages/EosActionUnknown.py create mode 100644 python/trezorlib/messages/EosActionUnlinkAuth.py create mode 100644 python/trezorlib/messages/EosActionUpdateAuth.py create mode 100644 python/trezorlib/messages/EosActionVoteProducer.py create mode 100644 python/trezorlib/messages/EosAsset.py create mode 100644 python/trezorlib/messages/EosAuthorization.py create mode 100644 python/trezorlib/messages/EosAuthorizationAccount.py create mode 100644 python/trezorlib/messages/EosAuthorizationKey.py create mode 100644 python/trezorlib/messages/EosAuthorizationWait.py create mode 100644 python/trezorlib/messages/EosGetPublicKey.py create mode 100644 python/trezorlib/messages/EosPermissionLevel.py create mode 100644 python/trezorlib/messages/EosPublicKey.py create mode 100644 python/trezorlib/messages/EosSignTx.py create mode 100644 python/trezorlib/messages/EosSignedTx.py create mode 100644 python/trezorlib/messages/EosTxActionAck.py create mode 100644 python/trezorlib/messages/EosTxActionRequest.py create mode 100644 python/trezorlib/messages/EosTxHeader.py create mode 100644 python/trezorlib/messages/EthereumAddress.py create mode 100644 python/trezorlib/messages/EthereumGetAddress.py create mode 100644 python/trezorlib/messages/EthereumGetPublicKey.py create mode 100644 python/trezorlib/messages/EthereumMessageSignature.py create mode 100644 python/trezorlib/messages/EthereumPublicKey.py create mode 100644 python/trezorlib/messages/EthereumSignMessage.py create mode 100644 python/trezorlib/messages/EthereumSignTx.py create mode 100644 python/trezorlib/messages/EthereumTxAck.py create mode 100644 python/trezorlib/messages/EthereumTxRequest.py create mode 100644 python/trezorlib/messages/EthereumVerifyMessage.py create mode 100644 python/trezorlib/messages/Failure.py create mode 100644 python/trezorlib/messages/FailureType.py create mode 100644 python/trezorlib/messages/Features.py create mode 100644 python/trezorlib/messages/FirmwareErase.py create mode 100644 python/trezorlib/messages/FirmwareRequest.py create mode 100644 python/trezorlib/messages/FirmwareUpload.py create mode 100644 python/trezorlib/messages/GetAddress.py create mode 100644 python/trezorlib/messages/GetECDHSessionKey.py create mode 100644 python/trezorlib/messages/GetEntropy.py create mode 100644 python/trezorlib/messages/GetFeatures.py create mode 100644 python/trezorlib/messages/GetPublicKey.py create mode 100644 python/trezorlib/messages/HDNodePathType.py create mode 100644 python/trezorlib/messages/HDNodeType.py create mode 100644 python/trezorlib/messages/IdentityType.py create mode 100644 python/trezorlib/messages/Initialize.py create mode 100644 python/trezorlib/messages/InputScriptType.py create mode 100644 python/trezorlib/messages/LiskAddress.py create mode 100644 python/trezorlib/messages/LiskDelegateType.py create mode 100644 python/trezorlib/messages/LiskGetAddress.py create mode 100644 python/trezorlib/messages/LiskGetPublicKey.py create mode 100644 python/trezorlib/messages/LiskMessageSignature.py create mode 100644 python/trezorlib/messages/LiskMultisignatureType.py create mode 100644 python/trezorlib/messages/LiskPublicKey.py create mode 100644 python/trezorlib/messages/LiskSignMessage.py create mode 100644 python/trezorlib/messages/LiskSignTx.py create mode 100644 python/trezorlib/messages/LiskSignatureType.py create mode 100644 python/trezorlib/messages/LiskSignedTx.py create mode 100644 python/trezorlib/messages/LiskTransactionAsset.py create mode 100644 python/trezorlib/messages/LiskTransactionCommon.py create mode 100644 python/trezorlib/messages/LiskTransactionType.py create mode 100644 python/trezorlib/messages/LiskVerifyMessage.py create mode 100644 python/trezorlib/messages/LoadDevice.py create mode 100644 python/trezorlib/messages/MessageSignature.py create mode 100644 python/trezorlib/messages/MessageType.py create mode 100644 python/trezorlib/messages/MoneroAccountPublicAddress.py create mode 100644 python/trezorlib/messages/MoneroAddress.py create mode 100644 python/trezorlib/messages/MoneroExportedKeyImage.py create mode 100644 python/trezorlib/messages/MoneroGetAddress.py create mode 100644 python/trezorlib/messages/MoneroGetTxKeyAck.py create mode 100644 python/trezorlib/messages/MoneroGetTxKeyRequest.py create mode 100644 python/trezorlib/messages/MoneroGetWatchKey.py create mode 100644 python/trezorlib/messages/MoneroKeyImageExportInitAck.py create mode 100644 python/trezorlib/messages/MoneroKeyImageExportInitRequest.py create mode 100644 python/trezorlib/messages/MoneroKeyImageSyncFinalAck.py create mode 100644 python/trezorlib/messages/MoneroKeyImageSyncFinalRequest.py create mode 100644 python/trezorlib/messages/MoneroKeyImageSyncStepAck.py create mode 100644 python/trezorlib/messages/MoneroKeyImageSyncStepRequest.py create mode 100644 python/trezorlib/messages/MoneroLiveRefreshFinalAck.py create mode 100644 python/trezorlib/messages/MoneroLiveRefreshFinalRequest.py create mode 100644 python/trezorlib/messages/MoneroLiveRefreshStartAck.py create mode 100644 python/trezorlib/messages/MoneroLiveRefreshStartRequest.py create mode 100644 python/trezorlib/messages/MoneroLiveRefreshStepAck.py create mode 100644 python/trezorlib/messages/MoneroLiveRefreshStepRequest.py create mode 100644 python/trezorlib/messages/MoneroMultisigKLRki.py create mode 100644 python/trezorlib/messages/MoneroOutputEntry.py create mode 100644 python/trezorlib/messages/MoneroRctKeyPublic.py create mode 100644 python/trezorlib/messages/MoneroRingCtSig.py create mode 100644 python/trezorlib/messages/MoneroSubAddressIndicesList.py create mode 100644 python/trezorlib/messages/MoneroTransactionAllInputsSetAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionAllInputsSetRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionAllOutSetAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionAllOutSetRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionData.py create mode 100644 python/trezorlib/messages/MoneroTransactionDestinationEntry.py create mode 100644 python/trezorlib/messages/MoneroTransactionFinalAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionFinalRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionInitAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionInitRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionInputViniAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionInputViniRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionInputsPermutationAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionInputsPermutationRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionRsigData.py create mode 100644 python/trezorlib/messages/MoneroTransactionSetInputAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionSetInputRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionSetOutputAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionSetOutputRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionSignInputAck.py create mode 100644 python/trezorlib/messages/MoneroTransactionSignInputRequest.py create mode 100644 python/trezorlib/messages/MoneroTransactionSourceEntry.py create mode 100644 python/trezorlib/messages/MoneroTransferDetails.py create mode 100644 python/trezorlib/messages/MoneroWatchKey.py create mode 100644 python/trezorlib/messages/MultisigRedeemScriptType.py create mode 100644 python/trezorlib/messages/NEMAddress.py create mode 100644 python/trezorlib/messages/NEMAggregateModification.py create mode 100644 python/trezorlib/messages/NEMCosignatoryModification.py create mode 100644 python/trezorlib/messages/NEMDecryptMessage.py create mode 100644 python/trezorlib/messages/NEMDecryptedMessage.py create mode 100644 python/trezorlib/messages/NEMGetAddress.py create mode 100644 python/trezorlib/messages/NEMImportanceTransfer.py create mode 100644 python/trezorlib/messages/NEMImportanceTransferMode.py create mode 100644 python/trezorlib/messages/NEMModificationType.py create mode 100644 python/trezorlib/messages/NEMMosaic.py create mode 100644 python/trezorlib/messages/NEMMosaicCreation.py create mode 100644 python/trezorlib/messages/NEMMosaicDefinition.py create mode 100644 python/trezorlib/messages/NEMMosaicLevy.py create mode 100644 python/trezorlib/messages/NEMMosaicSupplyChange.py create mode 100644 python/trezorlib/messages/NEMProvisionNamespace.py create mode 100644 python/trezorlib/messages/NEMSignTx.py create mode 100644 python/trezorlib/messages/NEMSignedTx.py create mode 100644 python/trezorlib/messages/NEMSupplyChangeType.py create mode 100644 python/trezorlib/messages/NEMTransactionCommon.py create mode 100644 python/trezorlib/messages/NEMTransfer.py create mode 100644 python/trezorlib/messages/OntologyAddress.py create mode 100644 python/trezorlib/messages/OntologyAsset.py create mode 100644 python/trezorlib/messages/OntologyGetAddress.py create mode 100644 python/trezorlib/messages/OntologyGetPublicKey.py create mode 100644 python/trezorlib/messages/OntologyOntIdAddAttributes.py create mode 100644 python/trezorlib/messages/OntologyOntIdAttribute.py create mode 100644 python/trezorlib/messages/OntologyOntIdRegister.py create mode 100644 python/trezorlib/messages/OntologyPublicKey.py create mode 100644 python/trezorlib/messages/OntologySignOntIdAddAttributes.py create mode 100644 python/trezorlib/messages/OntologySignOntIdRegister.py create mode 100644 python/trezorlib/messages/OntologySignTransfer.py create mode 100644 python/trezorlib/messages/OntologySignWithdrawOng.py create mode 100644 python/trezorlib/messages/OntologySignedOntIdAddAttributes.py create mode 100644 python/trezorlib/messages/OntologySignedOntIdRegister.py create mode 100644 python/trezorlib/messages/OntologySignedTransfer.py create mode 100644 python/trezorlib/messages/OntologySignedWithdrawOng.py create mode 100644 python/trezorlib/messages/OntologyTransaction.py create mode 100644 python/trezorlib/messages/OntologyTransfer.py create mode 100644 python/trezorlib/messages/OntologyTxAttribute.py create mode 100644 python/trezorlib/messages/OntologyWithdrawOng.py create mode 100644 python/trezorlib/messages/OutputScriptType.py create mode 100644 python/trezorlib/messages/PassphraseAck.py create mode 100644 python/trezorlib/messages/PassphraseRequest.py create mode 100644 python/trezorlib/messages/PassphraseSourceType.py create mode 100644 python/trezorlib/messages/PassphraseStateAck.py create mode 100644 python/trezorlib/messages/PassphraseStateRequest.py create mode 100644 python/trezorlib/messages/PinMatrixAck.py create mode 100644 python/trezorlib/messages/PinMatrixRequest.py create mode 100644 python/trezorlib/messages/PinMatrixRequestType.py create mode 100644 python/trezorlib/messages/Ping.py create mode 100644 python/trezorlib/messages/PublicKey.py create mode 100644 python/trezorlib/messages/RecoveryDevice.py create mode 100644 python/trezorlib/messages/RecoveryDeviceType.py create mode 100644 python/trezorlib/messages/RequestType.py create mode 100644 python/trezorlib/messages/ResetDevice.py create mode 100644 python/trezorlib/messages/RippleAddress.py create mode 100644 python/trezorlib/messages/RippleGetAddress.py create mode 100644 python/trezorlib/messages/RipplePayment.py create mode 100644 python/trezorlib/messages/RippleSignTx.py create mode 100644 python/trezorlib/messages/RippleSignedTx.py create mode 100644 python/trezorlib/messages/SelfTest.py create mode 100644 python/trezorlib/messages/SetU2FCounter.py create mode 100644 python/trezorlib/messages/SignIdentity.py create mode 100644 python/trezorlib/messages/SignMessage.py create mode 100644 python/trezorlib/messages/SignTx.py create mode 100644 python/trezorlib/messages/SignedIdentity.py create mode 100644 python/trezorlib/messages/StellarAccountMergeOp.py create mode 100644 python/trezorlib/messages/StellarAddress.py create mode 100644 python/trezorlib/messages/StellarAllowTrustOp.py create mode 100644 python/trezorlib/messages/StellarAssetType.py create mode 100644 python/trezorlib/messages/StellarBumpSequenceOp.py create mode 100644 python/trezorlib/messages/StellarChangeTrustOp.py create mode 100644 python/trezorlib/messages/StellarCreateAccountOp.py create mode 100644 python/trezorlib/messages/StellarCreatePassiveOfferOp.py create mode 100644 python/trezorlib/messages/StellarGetAddress.py create mode 100644 python/trezorlib/messages/StellarManageDataOp.py create mode 100644 python/trezorlib/messages/StellarManageOfferOp.py create mode 100644 python/trezorlib/messages/StellarPathPaymentOp.py create mode 100644 python/trezorlib/messages/StellarPaymentOp.py create mode 100644 python/trezorlib/messages/StellarSetOptionsOp.py create mode 100644 python/trezorlib/messages/StellarSignTx.py create mode 100644 python/trezorlib/messages/StellarSignedTx.py create mode 100644 python/trezorlib/messages/StellarTxOpRequest.py create mode 100644 python/trezorlib/messages/Success.py create mode 100644 python/trezorlib/messages/TezosAddress.py create mode 100644 python/trezorlib/messages/TezosBallotOp.py create mode 100644 python/trezorlib/messages/TezosBallotType.py create mode 100644 python/trezorlib/messages/TezosContractID.py create mode 100644 python/trezorlib/messages/TezosContractType.py create mode 100644 python/trezorlib/messages/TezosDelegationOp.py create mode 100644 python/trezorlib/messages/TezosGetAddress.py create mode 100644 python/trezorlib/messages/TezosGetPublicKey.py create mode 100644 python/trezorlib/messages/TezosOriginationOp.py create mode 100644 python/trezorlib/messages/TezosProposalOp.py create mode 100644 python/trezorlib/messages/TezosPublicKey.py create mode 100644 python/trezorlib/messages/TezosRevealOp.py create mode 100644 python/trezorlib/messages/TezosSignTx.py create mode 100644 python/trezorlib/messages/TezosSignedTx.py create mode 100644 python/trezorlib/messages/TezosTransactionOp.py create mode 100644 python/trezorlib/messages/TransactionType.py create mode 100644 python/trezorlib/messages/TronAccountUpdateContract.py create mode 100644 python/trezorlib/messages/TronAddress.py create mode 100644 python/trezorlib/messages/TronAssetIssueContract.py create mode 100644 python/trezorlib/messages/TronContract.py create mode 100644 python/trezorlib/messages/TronFreezeBalanceContract.py create mode 100644 python/trezorlib/messages/TronFrozenSupply.py create mode 100644 python/trezorlib/messages/TronGetAddress.py create mode 100644 python/trezorlib/messages/TronParticipateAssetIssueContract.py create mode 100644 python/trezorlib/messages/TronProposalApproveContract.py create mode 100644 python/trezorlib/messages/TronProposalCreateContract.py create mode 100644 python/trezorlib/messages/TronProposalDeleteContract.py create mode 100644 python/trezorlib/messages/TronProposalParameters.py create mode 100644 python/trezorlib/messages/TronSignTx.py create mode 100644 python/trezorlib/messages/TronSignedTx.py create mode 100644 python/trezorlib/messages/TronTransferAssetContract.py create mode 100644 python/trezorlib/messages/TronTransferContract.py create mode 100644 python/trezorlib/messages/TronUnfreezeAssetContract.py create mode 100644 python/trezorlib/messages/TronUnfreezeBalanceContract.py create mode 100644 python/trezorlib/messages/TronUpdateAssetContract.py create mode 100644 python/trezorlib/messages/TronVote.py create mode 100644 python/trezorlib/messages/TronVoteWitnessContract.py create mode 100644 python/trezorlib/messages/TronWithdrawBalanceContract.py create mode 100644 python/trezorlib/messages/TronWitnessCreateContract.py create mode 100644 python/trezorlib/messages/TronWitnessUpdateContract.py create mode 100644 python/trezorlib/messages/TxAck.py create mode 100644 python/trezorlib/messages/TxInputType.py create mode 100644 python/trezorlib/messages/TxOutputBinType.py create mode 100644 python/trezorlib/messages/TxOutputType.py create mode 100644 python/trezorlib/messages/TxRequest.py create mode 100644 python/trezorlib/messages/TxRequestDetailsType.py create mode 100644 python/trezorlib/messages/TxRequestSerializedType.py create mode 100644 python/trezorlib/messages/VerifyMessage.py create mode 100644 python/trezorlib/messages/WipeDevice.py create mode 100644 python/trezorlib/messages/WordAck.py create mode 100644 python/trezorlib/messages/WordRequest.py create mode 100644 python/trezorlib/messages/WordRequestType.py create mode 100644 python/trezorlib/messages/__init__.py diff --git a/python/.gitignore b/python/.gitignore index 7ea8c856d..8c3c14c29 100644 --- a/python/.gitignore +++ b/python/.gitignore @@ -7,6 +7,3 @@ MANIFEST *.bin *.py.cache /.tox - -/trezorlib/coins.json -/trezorlib/messages/* diff --git a/python/Makefile b/python/Makefile index 9eac13346..1f6091610 100644 --- a/python/Makefile +++ b/python/Makefile @@ -7,6 +7,21 @@ EXCLUDE_TARGETS=messages all: build +clean-gen: ## remove generated files + rm -f trezorlib/messages/*.py + rm -f trezorlib/coins.json + +gen: clean-gen + $(PYTHON) ../common/tools/cointool.py dump \ + --list --support \ + --include-type=bitcoin \ + --exclude=icon \ + -o trezorlib/coins.json + $(PYTHON) ../common/protob/pb2py \ + -o trezorlib/messages \ + -P ..protobuf \ + ../common/protob/*.proto + build: $(SETUP) build @@ -17,11 +32,7 @@ dist: clean $(SETUP) sdist $(SETUP) bdist_wheel -clean: clean-generated clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts - -clean-generated: ## remove generated files - rm -f trezorlib/messages/*.py - rm -f trezorlib/coins.json +clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts clean-build: ## remove build artifacts rm -fr build/ @@ -55,4 +66,4 @@ style_check: isort --check-only --recursive $(STYLE_TARGETS) --skip-glob "$(EXCLUDE_TARGETS)/*" flake8 -.PHONY: all build install clean style style_check git-clean clean-generated clean-build clean-pyc clean-test +.PHONY: all build install clean style style_check git-clean clean-build clean-pyc clean-test diff --git a/python/setup.py b/python/setup.py index ef5b23fbe..89de55a87 100755 --- a/python/setup.py +++ b/python/setup.py @@ -1,15 +1,9 @@ #!/usr/bin/env python3 -import glob -import json import os.path import re -import subprocess -import sys from distutils.errors import DistutilsError from setuptools import Command, find_packages, setup -from setuptools.command.build_py import build_py -from setuptools.command.develop import develop install_requires = [ "setuptools>=19.0", @@ -24,7 +18,6 @@ install_requires = [ ] CWD = os.path.dirname(os.path.realpath(__file__)) -TREZOR_COMMON = os.path.join(CWD, "vendor", "trezor-common") def read(*path): @@ -42,24 +35,8 @@ def find_version(): raise RuntimeError("Version string not found") -def build_coins_json(dst): - TOOLS_PATH = os.path.join(TREZOR_COMMON, "tools") - sys.path.insert(0, TOOLS_PATH) - import coin_info - - coins = coin_info.coin_info().bitcoin - support = coin_info.support_info(coins) - for coin in coins: - coin["support"] = support[coin["key"]] - - with open(dst, "w") as f: - json.dump(coins, f, indent=2, sort_keys=True) - - del sys.path[0] - - class PrebuildCommand(Command): - description = "update vendored files (coins.json, protobuf messages)" + description = "Deprecated. Run 'make gen' instead." user_options = [] def initialize_options(self): @@ -69,51 +46,7 @@ class PrebuildCommand(Command): pass def run(self): - # check for existence of the submodule directory - common_defs = os.path.join(TREZOR_COMMON, "defs") - if not os.path.exists(common_defs): - raise DistutilsError( - "trezor-common submodule seems to be missing.\n" - + "Use 'git submodule update --init' to retrieve it." - ) - - # generate and copy coins.json to the tree - coins_json = os.path.join(CWD, "trezorlib", "coins.json") - build_coins_json(coins_json) - - # regenerate messages - try: - proto_srcs = glob.glob(os.path.join(TREZOR_COMMON, "protob", "*.proto")) - subprocess.check_call( - [ - sys.executable, - os.path.join(TREZOR_COMMON, "protob", "pb2py"), - "-o", - os.path.join(CWD, "trezorlib", "messages"), - "-P", - "..protobuf", - ] - + proto_srcs - ) - except Exception as e: - raise DistutilsError( - "Generating protobuf failed. Make sure you have 'protoc' in your PATH." - ) from e - - -def _patch_prebuild(cls): - """Patch a setuptools command to depend on `prebuild`""" - orig_run = cls.run - - def new_run(self): - self.run_command("prebuild") - orig_run(self) - - cls.run = new_run - - -_patch_prebuild(build_py) -_patch_prebuild(develop) + raise DistutilsError(self.description) setup( diff --git a/python/trezorlib/coins.json b/python/trezorlib/coins.json new file mode 100644 index 000000000..bbcf65566 --- /dev/null +++ b/python/trezorlib/coins.json @@ -0,0 +1 @@ +[{"address_type": 0, "address_type_p2sh": 5, "bech32_prefix": "bc", "bip115": false, "bitcore": [], "blockbook": ["https://btc1.trezor.io", "https://btc2.trezor.io", "https://btc3.trezor.io", "https://btc4.trezor.io", "https://btc5.trezor.io"], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Bitcoin", "coin_name": "Bitcoin", "coin_shortcut": "BTC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/bitcoin/bitcoin", "hash_genesis_block": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", "key": "bitcoin:BTC", "maintainer": "Pavol Rusnak ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bitcoin", "segwit": true, "shortcut": "BTC", "signed_message_header": "Bitcoin Signed Message:\n", "slip44": 0, "support": {"connect": true, "trezor1": "1.5.2", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "bitcoin", "website": "https://bitcoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 111, "address_type_p2sh": 196, "bech32_prefix": "tb", "bip115": false, "bitcore": [], "blockbook": ["https://tbtc1.trezor.io", "https://tbtc2.trezor.io"], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Testnet", "coin_name": "Testnet", "coin_shortcut": "TEST", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/bitcoin/bitcoin", "hash_genesis_block": "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943", "key": "bitcoin:TEST", "maintainer": "Pavol Rusnak ", "max_address_length": 34, "maxfee_kb": 10000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Testnet", "segwit": true, "shortcut": "TEST", "signed_message_header": "Bitcoin Signed Message:\n", "slip44": 1, "support": {"connect": true, "trezor1": "1.5.2", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "bitcoin", "website": "https://bitcoin.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": 73342198, "xpub_magic_segwit_p2sh": 71979618}, {"address_type": 53, "address_type_p2sh": 55, "bech32_prefix": "acm", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Actinium", "coin_name": "Actinium", "coin_shortcut": "ACM", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/Actinium-project/Actinium", "hash_genesis_block": "28d77872e23714562f49a1be792c276623c1bbe3fdcf21b6035cfde78b00b824", "key": "bitcoin:ACM", "maintainer": "Harris Brakmic ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 100000, "name": "Actinium", "segwit": true, "shortcut": "ACM", "signed_message_header": "Actinium Signed Message:\n", "slip44": 228, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.10", "webwallet": true}, "uri_prefix": "actinium", "website": "https://actinium.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 55, "address_type_p2sh": 16, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Axe", "coin_name": "Axe", "coin_shortcut": "AXE", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/axerunners/axe", "hash_genesis_block": "00000c33631ca6f2f61368991ce2dc03306b5bb50bf7cede5cfbba6db38e52e6", "key": "bitcoin:AXE", "maintainer": "Kirill Orlov ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 1000, "name": "Axe", "segwit": false, "shortcut": "AXE", "signed_message_header": "DarkCoin Signed Message:\n", "slip44": 4242, "support": {"connect": true, "trezor1": "1.7.3", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "axe", "website": "https://axerunners.com", "xprv_magic": 50221816, "xpub_magic": 50221772, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 25, "address_type_p2sh": 85, "bech32_prefix": "bm", "bip115": false, "bitcore": [], "blockbook": ["https://bellcoin-blockbook.ilmango.work", "https://bell.blockbook.ovh"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Bellcoin", "coin_name": "Bellcoin", "coin_shortcut": "BELL", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 20}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/bellcoin-org/bellcoin", "hash_genesis_block": "000008f3b6bd10c2d03b06674a006b8d9731f6cb58179ef1eee008cee2209603", "key": "bitcoin:BELL", "maintainer": "ilmango-doge ", "max_address_length": 34, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bellcoin", "segwit": true, "shortcut": "BELL", "signed_message_header": "Bellcoin Signed Message:\n", "slip44": 25252, "support": {"connect": false, "trezor1": null, "trezor2": null, "webwallet": false}, "uri_prefix": "bellcoin", "website": "https://bellcoin.web4u.jp", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 230, "address_type_p2sh": 235, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "BitCash", "coin_name": "BitCash", "coin_shortcut": "BITC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/WillyTheCat/BitCash", "hash_genesis_block": "7d57d87ff3c15a521530af60edee1887fba9c193eb518face926785c4cd8f4f1", "key": "bitcoin:BITC", "maintainer": "Christian Kassler ", "max_address_length": 53, "maxfee_kb": 30000000, "min_address_length": 52, "minfee_kb": 1000, "name": "BitCash", "segwit": false, "shortcut": "BITC", "signed_message_header": "Bitcash Signed Message:\n", "slip44": 230, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.10", "webwallet": false}, "uri_prefix": "bitcash", "website": "https://www.choosebitcash.com", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 25, "address_type_p2sh": 5, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 300, "cashaddr_prefix": null, "coin_label": "Bitcloud", "coin_name": "Bitcloud", "coin_shortcut": "BTDX", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/LIMXTEC/Bitcloud", "hash_genesis_block": "000002d56463941c20eae5cb474cc805b646515d18bc7dc222a0885b206eadb0", "key": "bitcoin:BTDX", "maintainer": "limxdev ", "max_address_length": 34, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 10000, "name": "Bitcloud", "segwit": false, "shortcut": "BTDX", "signed_message_header": "Diamond Signed Message:\n", "slip44": 218, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.10", "webwallet": false}, "uri_prefix": "bitcloud", "website": "https://bit-cloud.info", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 0, "address_type_p2sh": 5, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://bch1.trezor.io", "https://bch2.trezor.io", "https://bch3.trezor.io", "https://bch4.trezor.io", "https://bch5.trezor.io"], "blocktime_seconds": 600, "cashaddr_prefix": "bitcoincash", "coin_label": "Bitcoin Cash", "coin_name": "Bcash", "coin_shortcut": "BCH", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": true, "fork_id": 0, "github": "https://github.com/Bitcoin-ABC/bitcoin-abc", "hash_genesis_block": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", "key": "bitcoin:BCH", "maintainer": "Jochen Hoenicke ", "max_address_length": 34, "maxfee_kb": 500000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bitcoin Cash", "segwit": false, "shortcut": "BCH", "signed_message_header": "Bitcoin Signed Message:\n", "slip44": 145, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "bitcoincash", "website": "https://www.bitcoincash.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 111, "address_type_p2sh": 196, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 600, "cashaddr_prefix": "bchtest", "coin_label": "Bitcoin Cash Testnet", "coin_name": "Bcash Testnet", "coin_shortcut": "TBCH", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": true, "fork_id": 0, "github": "https://github.com/Bitcoin-ABC/bitcoin-abc", "hash_genesis_block": "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943", "key": "bitcoin:TBCH", "maintainer": "Jochen Hoenicke ", "max_address_length": 34, "maxfee_kb": 10000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bitcoin Cash Testnet", "segwit": false, "shortcut": "TBCH", "signed_message_header": "Bitcoin Signed Message:\n", "slip44": 1, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": false}, "uri_prefix": "bitcoincash", "website": "https://www.bitcoincash.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 38, "address_type_p2sh": 23, "bech32_prefix": "btg", "bip115": false, "bitcore": [], "blockbook": ["https://btg1.trezor.io", "https://btg2.trezor.io", "https://btg3.trezor.io", "https://btg4.trezor.io", "https://btg5.trezor.io"], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Bitcoin Gold", "coin_name": "Bgold", "coin_shortcut": "BTG", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": true, "fork_id": 79, "github": "https://github.com/BTCGPU/BTCGPU", "hash_genesis_block": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", "key": "bitcoin:BTG", "maintainer": "Saleem Rashid ", "max_address_length": 34, "maxfee_kb": 500000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bitcoin Gold", "segwit": true, "shortcut": "BTG", "signed_message_header": "Bitcoin Gold Signed Message:\n", "slip44": 156, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "bitcoingold", "website": "https://bitcoingold.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 111, "address_type_p2sh": 196, "bech32_prefix": "tbtg", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Bitcoin Gold Testnet", "coin_name": "Bgold Testnet", "coin_shortcut": "TBTG", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": true, "fork_id": 79, "github": "https://github.com/BTCGPU/BTCGPU", "hash_genesis_block": "00000000e0781ebe24b91eedc293adfea2f557b53ec379e78959de3853e6f9f6", "key": "bitcoin:TBTG", "maintainer": "The Bitcoin Gold Developers ", "max_address_length": 34, "maxfee_kb": 500000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bitcoin Gold Testnet", "segwit": true, "shortcut": "TBTG", "signed_message_header": "Bitcoin Gold Signed Message:\n", "slip44": 156, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "bitcoingold", "website": "https://bitcoingold.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": 73342198, "xpub_magic_segwit_p2sh": 71979618}, {"address_type": 4901, "address_type_p2sh": 5039, "bech32_prefix": null, "bip115": false, "bitcore": ["https://explorer.btcprivate.org"], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Bitcoin Private", "coin_name": "Bprivate", "coin_shortcut": "BTCP", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": 42, "github": "https://github.com/BTCPrivate/BitcoinPrivate", "hash_genesis_block": "0007104ccda289427919efc39dc9e4d499804b7bebc22df55f8b834301260602", "key": "bitcoin:BTCP", "maintainer": "Chris Sulmone ", "max_address_length": 95, "maxfee_kb": 1000000, "min_address_length": 35, "minfee_kb": 1000, "name": "Bitcoin Private", "segwit": false, "shortcut": "BTCP", "signed_message_header": "BitcoinPrivate Signed Message:\n", "slip44": 183, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "bitcoinprivate", "website": "https://btcprivate.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 61, "address_type_p2sh": 123, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://blockbook1.bitcoinrh.org", "https://blockbook2.bitcoinrh.org"], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Bitcoin Rhodium", "coin_name": "Brhodium", "coin_shortcut": "XRC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://gitlab.com/bitcoinrh/BRhodiumNode", "hash_genesis_block": "baff5bfd9dc43fb672d003ec20fd21428f9282ca46bfa1730d73e1f2c75f5fdd", "key": "bitcoin:XRC", "maintainer": "baff5b ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bitcoin Rhodium", "segwit": false, "shortcut": "XRC", "signed_message_header": "BitCoin Rhodium Signed Message:\n", "slip44": 10291, "support": {"connect": false, "trezor1": "soon", "trezor2": "soon", "webwallet": false}, "uri_prefix": "bitcoin-rhodium", "website": "https://www.bitcoinrh.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 3, "address_type_p2sh": 125, "bech32_prefix": "btx", "bip115": false, "bitcore": ["https://insight.bitcore.cc"], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Bitcore", "coin_name": "Bitcore", "coin_shortcut": "BTX", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Low": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/LIMXTEC/BitCore", "hash_genesis_block": "604148281e5c4b7f2487e5d03cd60d8e6f69411d613f6448034508cea52e9574", "key": "bitcoin:BTX", "maintainer": "limxdev ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Bitcore", "segwit": true, "shortcut": "BTX", "signed_message_header": "BitCore Signed Message:\n", "slip44": 160, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "bitcore", "website": "https://bitcore.cc", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 102, "address_type_p2sh": 5, "bech32_prefix": "bsd", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 200, "cashaddr_prefix": null, "coin_label": "Bitsend", "coin_name": "Bitsend", "coin_shortcut": "BSD", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/LIMXTEC/BitSend", "hash_genesis_block": "0000012e1b8843ac9ce8c18603658eaf8895f99d3f5e7e1b7b1686f35e3c087a", "key": "bitcoin:BSD", "maintainer": "limxdev ", "max_address_length": 34, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 10000, "name": "Bitsend", "segwit": true, "shortcut": "BSD", "signed_message_header": "Bitsend Signed Message:\n", "slip44": 91, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.10", "webwallet": false}, "uri_prefix": "bitsend", "website": "https://bitsend.info", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 26, "address_type_p2sh": 5, "bech32_prefix": "bst", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "BlockStamp", "coin_name": "BlockStamp", "coin_shortcut": "BST", "consensus_branch_id": null, "cooldown": 1000, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "duplicate": true, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/BlockStamp/bst", "hash_genesis_block": "8000000049a2e26b0185be50b4b8ed58b707c8893762959f0b1673641cae1828", "key": "bitcoin:BST", "maintainer": "Krzysztof Kuchta ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "BlockStamp", "segwit": true, "shortcut": "BST", "signed_message_header": "BST Signed Message:\n", "slip44": 254, "support": {"connect": false, "trezor1": "soon", "trezor2": "soon", "webwallet": false}, "uri_prefix": "blockstamp", "website": "https://blockstamp.info", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 28, "address_type_p2sh": 35, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://blockbook.capricoin.org", "https://blockbook2.capricoin.org", "https://blockbook3.capricoin.org", "https://blockbook4.capricoin.org"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Capricoin", "coin_name": "Capricoin", "coin_shortcut": "CPC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 7, "High": 20, "Low": 1, "Normal": 14}, "duplicate": true, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/Capricoinofficial/Capricoin", "hash_genesis_block": "00000d23fa0fc52c90893adb1181c9ddffb6c797a3e41864b9a23aa2f2981fe3", "key": "bitcoin:CPC", "maintainer": "Tibor Arpas ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Capricoin", "segwit": false, "shortcut": "CPC", "signed_message_header": "Capricoin Signed Message:\n", "slip44": 289, "support": {"connect": true, "trezor1": false, "trezor2": "2.0.10", "webwallet": false}, "uri_prefix": "capricoin", "website": "https://capricoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 0, "address_type_p2sh": 28, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Crown", "coin_name": "Crown", "coin_shortcut": "CRW", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/Crowndev/crowncoin", "hash_genesis_block": "0000000085370d5e122f64f4ab19c68614ff3df78c8d13cb814fd7e69a1dc6da", "key": "bitcoin:CRW", "maintainer": "hypermist ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Crown", "segwit": false, "shortcut": "CRW", "signed_message_header": "Crown Signed Message:\n", "slip44": 72, "support": {"connect": false, "trezor1": false, "trezor2": false, "webwallet": false}, "uri_prefix": "crown", "website": "https://crown.tech", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 76, "address_type_p2sh": 16, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://dash1.trezor.io", "https://dash2.trezor.io", "https://dash3.trezor.io", "https://dash4.trezor.io", "https://dash5.trezor.io"], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Dash", "coin_name": "Dash", "coin_shortcut": "DASH", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/dashpay/dash", "hash_genesis_block": "00000ffd590b1485b3caadc19b22e6379c733355108f107a430458cdf3407ab6", "key": "bitcoin:DASH", "maintainer": "Karel Bilek ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 1000, "name": "Dash", "segwit": false, "shortcut": "DASH", "signed_message_header": "DarkCoin Signed Message:\n", "slip44": 5, "support": {"connect": true, "trezor1": "1.5.2", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "dash", "website": "https://www.dash.org", "xprv_magic": 50221816, "xpub_magic": 50221772, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 140, "address_type_p2sh": 19, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Dash Testnet", "coin_name": "Dash Testnet", "coin_shortcut": "tDASH", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/dashpay/dash", "hash_genesis_block": "00000bafbc94add76cb75e2ec92894837288a481e5c005f6563d91623bf8bc2c", "key": "bitcoin:tDASH", "maintainer": "Karel Bilek ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 10000, "name": "Dash Testnet", "segwit": false, "shortcut": "tDASH", "signed_message_header": "DarkCoin Signed Message:\n", "slip44": 1, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "dash", "website": "https://www.dash.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 1855, "address_type_p2sh": 1818, "bech32_prefix": null, "bip115": false, "bitcore": ["https://mainnet.decred.org"], "blockbook": [], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Decred", "coin_name": "Decred", "coin_shortcut": "DCR", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1_decred", "decred": true, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/decred/dcrd", "hash_genesis_block": "298e5cc3d985bfe7f81dc135f360abe089edd4396b86d2de66b0cef42b21d980", "key": "bitcoin:DCR", "maintainer": "Alex Yocom-Piatt ", "max_address_length": 35, "maxfee_kb": 1000000, "min_address_length": 35, "minfee_kb": 10000, "name": "Decred", "segwit": false, "shortcut": "DCR", "signed_message_header": "Decred Signed Message:\n", "slip44": 42, "support": {"connect": false, "trezor1": "1.6.2", "trezor2": "2.0.8", "webwallet": true}, "uri_prefix": "bitcoin", "website": "https://www.decred.org", "xprv_magic": 50177256, "xpub_magic": 50178342, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 3873, "address_type_p2sh": 3836, "bech32_prefix": null, "bip115": false, "bitcore": ["https://testnet.decred.org"], "blockbook": [], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Decred Testnet", "coin_name": "Decred Testnet", "coin_shortcut": "TDCR", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1_decred", "decred": true, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/decred/dcrd", "hash_genesis_block": "a649dce53918caf422e9c711c858837e08d626ecfcd198969b24f7b634a49bac", "key": "bitcoin:TDCR", "maintainer": "Saleem Rashid ", "max_address_length": 35, "maxfee_kb": 10000000, "min_address_length": 35, "minfee_kb": 1000, "name": "Decred Testnet", "segwit": false, "shortcut": "TDCR", "signed_message_header": "Decred Signed Message:\n", "slip44": 1, "support": {"connect": false, "trezor1": "1.6.2", "trezor2": "2.0.8", "webwallet": true}, "uri_prefix": "bitcoin", "website": "https://www.decred.org", "xprv_magic": 70615959, "xpub_magic": 70617041, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 30, "address_type_p2sh": 90, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 30, "cashaddr_prefix": null, "coin_label": "Denarius", "coin_name": "Denarius", "coin_shortcut": "DNR", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/carsenk/denarius", "hash_genesis_block": "00000d5dbbda01621cfc16bbc1f9bf3264d641a5dbf0de89fd0182c2c4828fcd", "key": "bitcoin:DNR", "maintainer": "carsenk ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 10000, "name": "Denarius", "segwit": false, "shortcut": "DNR", "signed_message_header": "Denarius Signed Message:\n", "slip44": 116, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "denarius", "website": "https://denarius.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 30, "address_type_p2sh": 63, "bech32_prefix": "dgb", "bip115": false, "bitcore": [], "blockbook": ["https://dgb1.trezor.io", "https://dgb2.trezor.io"], "blocktime_seconds": 15, "cashaddr_prefix": null, "coin_label": "DigiByte", "coin_name": "DigiByte", "coin_shortcut": "DGB", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/digibyte/digibyte", "hash_genesis_block": "7497ea1b465eb39f1c8f507bc877078fe016d6fcb6dfad3a64c98dcc6e1e8496", "key": "bitcoin:DGB", "maintainer": "DigiByte ", "max_address_length": 34, "maxfee_kb": 500000, "min_address_length": 27, "minfee_kb": 1000, "name": "DigiByte", "segwit": true, "shortcut": "DGB", "signed_message_header": "DigiByte Signed Message:\n", "slip44": 20, "support": {"connect": true, "trezor1": "1.6.3", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "digibyte", "website": "https://digibyte.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 30, "address_type_p2sh": 22, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://doge1.trezor.io", "https://doge2.trezor.io", "https://doge3.trezor.io", "https://doge4.trezor.io", "https://doge5.trezor.io"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Dogecoin", "coin_name": "Dogecoin", "coin_shortcut": "DOGE", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 100000}, "dust_limit": 10000000, "force_bip143": false, "fork_id": null, "github": "https://github.com/dogecoin/dogecoin", "hash_genesis_block": "1a91e3dace36e2be3bf030a65679fe821aa1d6ef92e7c9902eb318182c355691", "key": "bitcoin:DOGE", "maintainer": "Karel Bilek ", "max_address_length": 34, "maxfee_kb": 1000000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Dogecoin", "segwit": false, "shortcut": "DOGE", "signed_message_header": "Dogecoin Signed Message:\n", "slip44": 3, "support": {"connect": true, "trezor1": "1.5.2", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "dogecoin", "website": "https://dogecoin.com", "xprv_magic": 49988504, "xpub_magic": 49990397, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 95, "address_type_p2sh": 36, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 180, "cashaddr_prefix": null, "coin_label": "FairCoin", "coin_name": "FairCoin", "coin_shortcut": "FAIR", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 800000}, "dust_limit": 500000, "force_bip143": false, "fork_id": 0, "github": "https://github.com/faircoin/faircoin", "hash_genesis_block": "beed44fa5e96150d95d56ebd5d2625781825a9407a5215dd7eda723373a0a1d7", "key": "bitcoin:FAIR", "maintainer": "Santi Nore\u00f1a ", "max_address_length": 34, "maxfee_kb": 10000000, "min_address_length": 27, "minfee_kb": 1000, "name": "FairCoin", "segwit": false, "shortcut": "FAIR", "signed_message_header": "FairCoin Signed Message:\n", "slip44": 298, "support": {"connect": false, "trezor1": "soon", "trezor2": "soon", "webwallet": false}, "uri_prefix": "faircoin", "website": "https://www.faircoin.world", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 14, "address_type_p2sh": 5, "bech32_prefix": "fc", "bip115": false, "bitcore": ["https://bitcore.feathercoin.com"], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Feathercoin", "coin_name": "Feathercoin", "coin_shortcut": "FTC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "duplicate": true, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/FeatherCoin/Feathercoin", "hash_genesis_block": "12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2", "key": "bitcoin:FTC", "maintainer": "Lucas Betschart ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Feathercoin", "segwit": true, "shortcut": "FTC", "signed_message_header": "Feathercoin Signed Message:\n", "slip44": 8, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "feathercoin", "website": "https://feathercoin.com", "xprv_magic": 76077806, "xpub_magic": 76069926, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 68, "address_type_p2sh": 130, "bech32_prefix": "flash", "bip115": false, "bitcore": ["https://explorer.flashcoin.io"], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Flashcoin", "coin_name": "Flashcoin", "coin_shortcut": "FLASH", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 0}, "dust_limit": 10000, "force_bip143": false, "fork_id": null, "github": "https://github.com/flash-coin", "hash_genesis_block": "aa0cf4f5ce0a3c550ce5674c1e808c417cf5077b4e95bda1d6fbaeaf4258972b", "key": "bitcoin:FLASH", "maintainer": "flashbountyhunter ", "max_address_length": 34, "maxfee_kb": 4000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Flashcoin", "segwit": true, "shortcut": "FLASH", "signed_message_header": "Flashcoin Signed Message:\n", "slip44": 120, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "flashcoin", "website": "https://www.flashcoin.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 35, "address_type_p2sh": 94, "bech32_prefix": "flo", "bip115": false, "bitcore": ["https://livenet.flocha.in"], "blockbook": [], "blocktime_seconds": 40, "cashaddr_prefix": null, "coin_label": "Flo", "coin_name": "Florincoin", "coin_shortcut": "FLO", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/floblockchain/flo", "hash_genesis_block": "09c7781c9df90708e278c35d38ea5c9041d7ecfcdd1c56ba67274b7cff3e1cea", "key": "bitcoin:FLO", "maintainer": "Robert English ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 100000, "name": "Flo", "segwit": true, "shortcut": "FLO", "signed_message_header": "Florincoin Signed Message:\n", "slip44": 216, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "florincoin", "website": "https://flo.cash", "xprv_magic": 15264107, "xpub_magic": 1526049, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 28471030}, {"address_type": 36, "address_type_p2sh": 16, "bech32_prefix": "fc", "bip115": false, "bitcore": [], "blockbook": ["https://explorer.fujicoin.org"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Fujicoin", "coin_name": "Fujicoin", "coin_shortcut": "FJC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 20000, "High": 100000, "Low": 10000, "Normal": 50000}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/fujicoin/fujicoin", "hash_genesis_block": "adb6d9cfd74075e7f91608add4bd2a2ea636f70856183086842667a1597714a0", "key": "bitcoin:FJC", "maintainer": "motty ", "max_address_length": 34, "maxfee_kb": 1000000000, "min_address_length": 27, "minfee_kb": 10000000, "name": "Fujicoin", "segwit": true, "shortcut": "FJC", "signed_message_header": "FujiCoin Signed Message:\n", "slip44": 75, "support": {"connect": true, "trezor1": "1.6.1", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "fujicoin", "website": "https://fujicoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 38, "address_type_p2sh": 10, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://blockbook.gincoin.io"], "blocktime_seconds": 120, "cashaddr_prefix": null, "coin_label": "GIN", "coin_name": "Gincoin", "coin_shortcut": "GIN", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/gincoin-dev/gincoin-core", "hash_genesis_block": "00000cd6bde619b2c3b23ad2e384328a450a37fa28731debf748c3b17f91f97d", "key": "bitcoin:GIN", "maintainer": "Dragos Badea ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 1000, "name": "GIN", "segwit": false, "shortcut": "GIN", "signed_message_header": "DarkCoin Signed Message:\n", "slip44": 2000, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "gincoin", "website": "https://gincoin.io", "xprv_magic": 50221816, "xpub_magic": 50221772, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 38, "address_type_p2sh": 62, "bech32_prefix": "game", "bip115": false, "bitcore": [], "blockbook": ["https://blockbook.gamecredits.network"], "blocktime_seconds": 90, "cashaddr_prefix": null, "coin_label": "GameCredits", "coin_name": "GameCredits", "coin_shortcut": "GAME", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/gamecredits-project/gamecredits", "hash_genesis_block": "91ec5f25ee9a0ffa1af7d4da4db9a552228dd2dc77cdb15b738be4e1f55f30ee", "key": "bitcoin:GAME", "maintainer": "Samad Sajanlal ", "max_address_length": 34, "maxfee_kb": 5000000, "min_address_length": 27, "minfee_kb": 100000, "name": "GameCredits", "segwit": true, "shortcut": "GAME", "signed_message_header": "GameCredits Signed Message:\n", "slip44": 101, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "gamecredits", "website": "https://gamecredits.org", "xprv_magic": 27108450, "xpub_magic": 27106558, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 28471030}, {"address_type": 36, "address_type_p2sh": 5, "bech32_prefix": "grs", "bip115": false, "bitcore": ["https://groestlsight.groestlcoin.org", "https://grsblocks.com"], "blockbook": ["https://blockbook.groestlcoin.org"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Groestlcoin", "coin_name": "Groestlcoin", "coin_shortcut": "GRS", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1_groestl", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/Groestlcoin/groestlcoin", "hash_genesis_block": "00000ac5927c594d49cc0bdb81759d0da8297eb614683d3acb62f0703b639023", "key": "bitcoin:GRS", "maintainer": "Yura Pakhuchiy ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 1000, "name": "Groestlcoin", "segwit": true, "shortcut": "GRS", "signed_message_header": "GroestlCoin Signed Message:\n", "slip44": 17, "support": {"connect": false, "trezor1": "1.6.2", "trezor2": "2.0.8", "webwallet": true}, "uri_prefix": "groestlcoin", "website": "https://www.groestlcoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 111, "address_type_p2sh": 196, "bech32_prefix": "tgrs", "bip115": false, "bitcore": ["https://groestlsight-test.groestlcoin.org"], "blockbook": ["https://blockbook-test.groestlcoin.org"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Groestlcoin Testnet", "coin_name": "Groestlcoin Testnet", "coin_shortcut": "tGRS", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1_groestl", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/Groestlcoin/groestlcoin", "hash_genesis_block": "000000ffbb50fc9898cdd36ec163e6ba23230164c0052a28876255b7dcf2cd36", "key": "bitcoin:tGRS", "maintainer": "Yura Pakhuchiy ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 1000, "name": "Groestlcoin Testnet", "segwit": true, "shortcut": "tGRS", "signed_message_header": "GroestlCoin Signed Message:\n", "slip44": 1, "support": {"connect": false, "trezor1": "1.6.2", "trezor2": "2.0.8", "webwallet": true}, "uri_prefix": "groestlcoin", "website": "https://www.groestlcoin.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": 73342198, "xpub_magic_segwit_p2sh": 71979618}, {"address_type": 60, "address_type_p2sh": 85, "bech32_prefix": null, "bip115": false, "bitcore": ["https://api.kmd.dev"], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Komodo", "coin_name": "Komodo", "coin_shortcut": "KMD", "consensus_branch_id": {"1": 0, "2": 0, "3": 1537743641, "4": 1991772603}, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/komodoplatform/komodo", "hash_genesis_block": "027e3758c3a65b12aa1046462b486d0a63bfa1beae327897f56c5cfb7daaae71", "key": "bitcoin:KMD", "maintainer": "Kadan Stadelmann ", "max_address_length": 34, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Komodo", "segwit": false, "shortcut": "KMD", "signed_message_header": "Komodo Signed Message:\n", "slip44": 141, "support": {"connect": true, "trezor1": "1.8.0", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "komodo", "website": "https://komodoplatform.com", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 6198, "address_type_p2sh": 6203, "bech32_prefix": null, "bip115": false, "bitcore": ["https://insight.kotocoin.info"], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Koto", "coin_name": "Koto", "coin_shortcut": "KOTO", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/KotoDevelopers/koto", "hash_genesis_block": "6d424c350729ae633275d51dc3496e16cd1b1d195c164da00f39c499a2e9959e", "key": "bitcoin:KOTO", "maintainer": "WO ", "max_address_length": 95, "maxfee_kb": 1000000, "min_address_length": 35, "minfee_kb": 1000, "name": "Koto", "segwit": false, "shortcut": "KOTO", "signed_message_header": "Koto Signed Message:\n", "slip44": 510, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": true}, "uri_prefix": "koto", "website": "https://ko-to.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 48, "address_type_p2sh": 50, "bech32_prefix": "ltc", "bip115": false, "bitcore": [], "blockbook": ["https://ltc1.trezor.io", "https://ltc2.trezor.io", "https://ltc3.trezor.io", "https://ltc4.trezor.io", "https://ltc5.trezor.io"], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Litecoin", "coin_name": "Litecoin", "coin_shortcut": "LTC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/litecoin-project/litecoin", "hash_genesis_block": "12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2", "key": "bitcoin:LTC", "maintainer": "Pavol Rusnak ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 100000, "name": "Litecoin", "segwit": true, "shortcut": "LTC", "signed_message_header": "Litecoin Signed Message:\n", "slip44": 2, "support": {"connect": true, "trezor1": "1.5.2", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "litecoin", "website": "https://litecoin.org", "xprv_magic": 27106558, "xpub_magic": 27108450, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 28471030}, {"address_type": 111, "address_type_p2sh": 58, "bech32_prefix": "tltc", "bip115": false, "bitcore": ["https://testnet.litecore.io"], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Litecoin Testnet", "coin_name": "Litecoin Testnet", "coin_shortcut": "tLTC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/litecoin-project/litecoin", "hash_genesis_block": "4966625a4b2851d9fdee139e56211a0d88575f59ed816ff5e6a63deb4e3e29a0", "key": "bitcoin:tLTC", "maintainer": "Pavol Rusnak ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Litecoin Testnet", "segwit": true, "shortcut": "tLTC", "signed_message_header": "Litecoin Signed Message:\n", "slip44": 1, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "litecoin", "website": "https://litecoin.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": 73342198, "xpub_magic_segwit_p2sh": 71979618}, {"address_type": 50, "address_type_p2sh": 5, "bech32_prefix": "mec", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Megacoin", "coin_name": "Megacoin", "coin_shortcut": "MEC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Low": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/LIMXTEC/Megacoin", "hash_genesis_block": "7520788e2d99eec7cf6cf7315577e1268e177fff94cb0a7caf6a458ceeea9ac2", "key": "bitcoin:MEC", "maintainer": "limxdev ", "max_address_length": 34, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Megacoin", "segwit": true, "shortcut": "MEC", "signed_message_header": "MegaCoin Signed Message:\n", "slip44": 217, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.10", "webwallet": false}, "uri_prefix": "megacoin", "website": "https://www.megacoin.eu", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 50, "address_type_p2sh": 55, "bech32_prefix": "mona", "bip115": false, "bitcore": ["https://mona.chainsight.info", "https://insight.electrum-mona.org"], "blockbook": ["https://blockbook.electrum-mona.org"], "blocktime_seconds": 90, "cashaddr_prefix": null, "coin_label": "Monacoin", "coin_name": "Monacoin", "coin_shortcut": "MONA", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/monacoinproject/monacoin", "hash_genesis_block": "ff9f1c0116d19de7c9963845e129f9ed1bfc0b376eb54fd7afa42e0d418c8bb6", "key": "bitcoin:MONA", "maintainer": "cryptcoin-junkey ", "max_address_length": 34, "maxfee_kb": 5000000, "min_address_length": 27, "minfee_kb": 100000, "name": "Monacoin", "segwit": true, "shortcut": "MONA", "signed_message_header": "Monacoin Signed Message:\n", "slip44": 22, "support": {"connect": true, "trezor1": "1.6.0", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "monacoin", "website": "https://monacoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 16, "address_type_p2sh": 76, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://blockbook.monetaryunit.org"], "blocktime_seconds": 40, "cashaddr_prefix": null, "coin_label": "MonetaryUnit", "coin_name": "MonetaryUnit", "coin_shortcut": "MUE", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/muecoin/MUE", "hash_genesis_block": "0b58ed450b3819ca54ab0054c4d220ca4f887d21c9e55d2a333173adf76d987f", "key": "bitcoin:MUE", "maintainer": "Sotiris Blad ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 1000, "name": "MonetaryUnit", "segwit": false, "shortcut": "MUE", "signed_message_header": "MonetaryUnit Signed Message:\n", "slip44": 31, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "monetaryunit", "website": "https://www.monetaryunit.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 50, "address_type_p2sh": 9, "bech32_prefix": "xmy", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Myriad", "coin_name": "Myriad", "coin_shortcut": "XMY", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/myriadcoin/myriadcoin", "hash_genesis_block": "00000ffde4c020b5938441a0ea3d314bf619eff0b38f32f78f7583cffa1ea485", "key": "bitcoin:XMY", "maintainer": "Adam Hickerson ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Myriad", "segwit": true, "shortcut": "XMY", "signed_message_header": "Myriadcoin Signed Message:\n", "slip44": 90, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "myriadcoin", "website": "https://www.myriadcoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 38, "address_type_p2sh": 53, "bech32_prefix": "nix", "bip115": false, "bitcore": ["https://blockchain.nixplatform.io"], "blockbook": [], "blocktime_seconds": 120, "cashaddr_prefix": null, "coin_label": "NIX", "coin_name": "NIX", "coin_shortcut": "NIX", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/nixplatform/nixcore", "hash_genesis_block": "dd28ad86def767c3cfc34267a950d871fc7462bc57ea4a929fc3596d9b598e41", "key": "bitcoin:NIX", "maintainer": "mattt21 ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 0, "name": "NIX", "segwit": true, "shortcut": "NIX", "signed_message_header": "NIX Signed Message:\n", "slip44": 400, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "nix", "website": "https://nixplatform.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 52, "address_type_p2sh": 5, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://nmc1.trezor.io", "https://nmc2.trezor.io"], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Namecoin", "coin_name": "Namecoin", "coin_shortcut": "NMC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 2940, "force_bip143": false, "fork_id": null, "github": "https://github.com/namecoin/namecoin-core", "hash_genesis_block": "000000000062b72c5e2ceb45fbc8587e807c155b0da735e6483dfba2f0a9c770", "key": "bitcoin:NMC", "maintainer": "Pavol Rusnak ", "max_address_length": 34, "maxfee_kb": 10000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Namecoin", "segwit": false, "shortcut": "NMC", "signed_message_header": "Namecoin Signed Message:\n", "slip44": 7, "support": {"connect": true, "trezor1": "1.5.2", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "namecoin", "website": "https://namecoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 30, "address_type_p2sh": 13, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://blockbook.pivx.link"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "PIVX", "coin_name": "PIVX", "coin_shortcut": "PIVX", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/PIVX-Project/PIVX", "hash_genesis_block": "0000041e482b9b9691d98eefb48473405c0b8ec31b76df3797c74a78680ef818", "key": "bitcoin:PIVX", "maintainer": "Random Zebra ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 100, "name": "PIVX", "segwit": false, "shortcut": "PIVX", "signed_message_header": "DarkNet Signed Message:\n", "slip44": 119, "support": {"connect": true, "trezor1": "1.8.0", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "pivx", "website": "https://pivx.org", "xprv_magic": 35729707, "xpub_magic": 36513075, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 139, "address_type_p2sh": 19, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://blockbook-testnet.pivx.link"], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "PIVX Testnet", "coin_name": "PIVX Testnet", "coin_shortcut": "tPIVX", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/PIVX-Project/PIVX", "hash_genesis_block": "0000041e482b9b9691d98eefb48473405c0b8ec31b76df3797c74a78680ef818", "key": "bitcoin:tPIVX", "maintainer": "Random Zebra ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 100, "name": "PIVX Testnet", "segwit": false, "shortcut": "tPIVX", "signed_message_header": "DarkNet Signed Message:\n", "slip44": 1, "support": {"connect": true, "trezor1": "1.8.0", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "pivx", "website": "https://pivx.org", "xprv_magic": 981489719, "xpub_magic": 981492128, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 47, "address_type_p2sh": 22, "bech32_prefix": null, "bip115": false, "bitcore": ["https://live.pesetacoin.info"], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Pesetacoin", "coin_name": "Pesetacoin", "coin_shortcut": "PTC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "duplicate": true, "dust_limit": 10000000, "force_bip143": false, "fork_id": null, "github": "https://github.com/FundacionPesetacoin/PesetacoinCore", "hash_genesis_block": "edfe5830b53251bfff733600b1cd5c192e761c011b055f07924634818c906438", "key": "bitcoin:PTC", "maintainer": "Rw ", "max_address_length": 34, "maxfee_kb": 1000000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Pesetacoin", "segwit": false, "shortcut": "PTC", "signed_message_header": "Pesetacoin Signed Message:\n", "slip44": 109, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "pesetacoin", "website": "https://pesetacoin.info", "xprv_magic": 76079604, "xpub_magic": 76071982, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 55, "address_type_p2sh": 56, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://blockbook.polispay.org"], "blocktime_seconds": 120, "cashaddr_prefix": null, "coin_label": "Polis", "coin_name": "Polis", "coin_shortcut": "POLIS", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/polispay/polis", "hash_genesis_block": "000009701eb781a8113b1af1d814e2f060f6408a2c990db291bc5108a1345c1e", "key": "bitcoin:POLIS", "maintainer": "Cronos ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 1000, "name": "Polis", "segwit": false, "shortcut": "POLIS", "signed_message_header": "Polis Signed Message:\n", "slip44": 1997, "support": {"connect": false, "trezor1": "soon", "trezor2": "soon", "webwallet": false}, "uri_prefix": "polis", "website": "https://www.polispay.org", "xprv_magic": 65165637, "xpub_magic": 65166718, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 23, "address_type_p2sh": 83, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Primecoin", "coin_name": "Primecoin", "coin_shortcut": "XPM", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/primecoin/primecoin", "hash_genesis_block": "963d17ba4dc753138078a2f56afb3af9674e2546822badff26837db9a0152106", "key": "bitcoin:XPM", "maintainer": "James Skrowvedeht ", "max_address_length": 35, "maxfee_kb": 1000000, "min_address_length": 26, "minfee_kb": 1000, "name": "Primecoin", "segwit": false, "shortcut": "XPM", "signed_message_header": "Primecoin Signed Message:\n", "slip44": 24, "support": {"connect": true, "trezor1": "1.8.0", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "primecoin", "website": "https://primecoin.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 58, "address_type_p2sh": 50, "bech32_prefix": "qc", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 128, "cashaddr_prefix": null, "coin_label": "Qtum", "coin_name": "Qtum", "coin_shortcut": "QTUM", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 500, "High": 2000, "Low": 410, "Normal": 600}, "duplicate": true, "dust_limit": 218400, "force_bip143": false, "fork_id": null, "github": "https://github.com/qtumproject/qtum", "hash_genesis_block": "000075aef83cf2853580f8ae8ce6f8c3096cfa21d98334d6e3f95e5582ed986c", "key": "bitcoin:QTUM", "maintainer": "CodeFace ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 400000, "name": "Qtum", "segwit": true, "shortcut": "QTUM", "signed_message_header": "Qtum Signed Message:\n", "slip44": 2301, "support": {"connect": false, "trezor1": "1.8.1", "trezor2": "2.1.1", "webwallet": false}, "uri_prefix": "qtum", "website": "https://qtum.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 120, "address_type_p2sh": 110, "bech32_prefix": "tq", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 128, "cashaddr_prefix": null, "coin_label": "Qtum Testnet", "coin_name": "Qtum Testnet", "coin_shortcut": "tQTUM", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 500, "High": 2000, "Low": 410, "Normal": 600}, "dust_limit": 218400, "force_bip143": false, "fork_id": null, "github": "https://github.com/qtumproject/qtum", "hash_genesis_block": "0000e803ee215c0684ca0d2f9220594d3f828617972aad66feb2ba51f5e14222", "key": "bitcoin:tQTUM", "maintainer": "CodeFace ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 400000, "name": "Qtum Testnet", "segwit": true, "shortcut": "tQTUM", "signed_message_header": "Qtum Signed Message:\n", "slip44": 1, "support": {"connect": false, "trezor1": "1.8.1", "trezor2": "2.1.1", "webwallet": false}, "uri_prefix": "qtum", "website": "https://qtum.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": 73342198, "xpub_magic_segwit_p2sh": 71979618}, {"address_type": 60, "address_type_p2sh": 122, "bech32_prefix": null, "bip115": false, "bitcore": ["https://ravencoin.network"], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Ravencoin", "coin_name": "Ravencoin", "coin_shortcut": "RVN", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Low": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/RavenProject/Ravencoin", "hash_genesis_block": "0000006b444bc2f2ffe627be9d9e7e7a0730000870ef6eb6da46c8eae389df90", "key": "bitcoin:RVN", "maintainer": "Tron Black ", "max_address_length": 34, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Ravencoin", "segwit": false, "shortcut": "RVN", "signed_message_header": "Ravencoin Signed Message:\n", "slip44": 175, "support": {"connect": true, "trezor1": "1.7.2", "trezor2": "2.0.10", "webwallet": true}, "uri_prefix": "raven", "website": "https://ravencoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 111, "address_type_p2sh": 196, "bech32_prefix": "bcrt", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Regtest", "coin_name": "Regtest", "coin_shortcut": "REGTEST", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/bitcoin/bitcoin", "hash_genesis_block": "0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206", "key": "bitcoin:REGTEST", "maintainer": "Thomas Kerin ", "max_address_length": 34, "maxfee_kb": 10000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Regtest", "segwit": true, "shortcut": "REGTEST", "signed_message_header": "Bitcoin Signed Message:\n", "slip44": 1, "support": {"connect": false, "trezor1": "1.8.2", "trezor2": "2.1.2", "webwallet": false}, "uri_prefix": "bitcoin", "website": "https://bitcoin.org", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": 73342198, "xpub_magic_segwit_p2sh": 71979618}, {"address_type": 63, "address_type_p2sh": 18, "bech32_prefix": null, "bip115": false, "bitcore": ["https://insight.smartcash.cc"], "blockbook": [], "blocktime_seconds": 55, "cashaddr_prefix": null, "coin_label": "SmartCash", "coin_name": "SmartCash", "coin_shortcut": "SMART", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1_smart", "decred": false, "default_fee_b": {"Economy": 10, "High": 200, "Low": 1, "Normal": 100}, "duplicate": true, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/SmartCash/Core-Smart", "hash_genesis_block": "000007acc6970b812948d14ea5a0a13db0fdd07d5047c7e69101fa8b361e05a4", "key": "bitcoin:SMART", "maintainer": "Leandro Reinaux ", "max_address_length": 34, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 0, "name": "SmartCash", "segwit": false, "shortcut": "SMART", "signed_message_header": "SmartCash Signed Message:\n", "slip44": 224, "support": {"connect": false, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "smart", "website": "https://smartcash.cc", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 65, "address_type_p2sh": 21, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 55, "cashaddr_prefix": null, "coin_label": "SmartCash Testnet", "coin_name": "SmartCash Testnet", "coin_shortcut": "tSMART", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1_smart", "decred": false, "default_fee_b": {"Economy": 10, "High": 200, "Low": 1, "Normal": 100}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/SmartCash/Core-Smart", "hash_genesis_block": "0000027235b5679bcd28c90d03d4bf1a9ba4c07c4efcc1c87d6c68cce25e6e5d", "key": "bitcoin:tSMART", "maintainer": "Leandro Reinaux ", "max_address_length": 35, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 0, "name": "SmartCash Testnet", "segwit": false, "shortcut": "tSMART", "signed_message_header": "SmartCash Signed Message:\n", "slip44": 224, "support": {"connect": false, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "testsmart", "website": "https://smartcash.cc", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 76, "address_type_p2sh": 16, "bech32_prefix": "xc", "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 60, "cashaddr_prefix": null, "coin_label": "Stakenet", "coin_name": "Stakenet", "coin_shortcut": "XSN", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 70, "High": 200, "Low": 10, "Normal": 140}, "dust_limit": 1000, "force_bip143": false, "fork_id": null, "github": "https://github.com/X9Developers/XSN", "hash_genesis_block": "00000c822abdbb23e28f79a49d29b41429737c6c7e15df40d1b1f1b35907ae34", "key": "bitcoin:XSN", "maintainer": "Alexis Hernandez ", "max_address_length": 47, "maxfee_kb": 2000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Stakenet", "segwit": true, "shortcut": "XSN", "signed_message_header": "DarkCoin Signed Message:\n", "slip44": 199, "support": {"connect": true, "trezor1": "1.8.0", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "stakenet", "website": "https://stakenet.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 0, "address_type_p2sh": 5, "bech32_prefix": null, "bip115": false, "bitcore": ["https://insight.terracoin.io"], "blockbook": [], "blocktime_seconds": 120, "cashaddr_prefix": null, "coin_label": "Terracoin", "coin_name": "Terracoin", "coin_shortcut": "TRC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "duplicate": true, "dust_limit": 5460, "force_bip143": false, "fork_id": null, "github": "https://github.com/terracoin/terracoin", "hash_genesis_block": "00000000804bbc6a621a9dbb564ce469f492e1ccf2d70f8a6b241e26a277afa2", "key": "bitcoin:TRC", "maintainer": "The Terracoin Foundation ", "max_address_length": 34, "maxfee_kb": 100000, "min_address_length": 27, "minfee_kb": 10000, "name": "Terracoin", "segwit": false, "shortcut": "TRC", "signed_message_header": "DarkCoin Signed Message:\n", "slip44": 83, "support": {"connect": false, "trezor1": false, "trezor2": false, "webwallet": false}, "uri_prefix": "terracoin", "website": "https://terracoin.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 71, "address_type_p2sh": 5, "bech32_prefix": "vtc", "bip115": false, "bitcore": [], "blockbook": ["https://vtc1.trezor.io", "https://vtc2.trezor.io", "https://vtc3.trezor.io", "https://vtc4.trezor.io", "https://vtc5.trezor.io"], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Vertcoin", "coin_name": "Vertcoin", "coin_shortcut": "VTC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 1000}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/vertcoin-project/vertcoin-core", "hash_genesis_block": "4d96a915f49d40b1e5c2844d1ee2dccb90013a990ccea12c492d22110489f0c4", "key": "bitcoin:VTC", "maintainer": "Jochen Hoenicke ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 100000, "name": "Vertcoin", "segwit": true, "shortcut": "VTC", "signed_message_header": "Vertcoin Signed Message:\n", "slip44": 28, "support": {"connect": true, "trezor1": "1.6.1", "trezor2": "2.0.5", "webwallet": true}, "uri_prefix": "vertcoin", "website": "https://vertcoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 71, "address_type_p2sh": 33, "bech32_prefix": "via", "bip115": false, "bitcore": ["https://explorer.viacoin.org"], "blockbook": [], "blocktime_seconds": 24, "cashaddr_prefix": null, "coin_label": "Viacoin", "coin_name": "Viacoin", "coin_shortcut": "VIA", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 7000, "High": 20000, "Low": 1000, "Normal": 14000}, "dust_limit": 54600, "force_bip143": false, "fork_id": null, "github": "https://github.com/viacoin", "hash_genesis_block": "4e9b54001f9976049830128ec0331515eaabe35a70970d79971da1539a400ba1", "key": "bitcoin:VIA", "maintainer": "romanornr ", "max_address_length": 34, "maxfee_kb": 40000000, "min_address_length": 27, "minfee_kb": 1000, "name": "Viacoin", "segwit": true, "shortcut": "VIA", "signed_message_header": "Viacoin Signed Message:\n", "slip44": 14, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "viacoin", "website": "https://viacoin.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": 78792518, "xpub_magic_segwit_p2sh": 77429938}, {"address_type": 7352, "address_type_p2sh": 7357, "bech32_prefix": null, "bip115": false, "bitcore": ["https://explorer.zcl.zeltrez.io"], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "ZClassic", "coin_name": "ZClassic", "coin_shortcut": "ZCL", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/ZclassicCommunity", "hash_genesis_block": "0007104ccda289427919efc39dc9e4d499804b7bebc22df55f8b834301260602", "key": "bitcoin:ZCL", "maintainer": "James Skrowvedeht ", "max_address_length": 95, "maxfee_kb": 1000000, "min_address_length": 35, "minfee_kb": 1000, "name": "ZClassic", "segwit": false, "shortcut": "ZCL", "signed_message_header": "Zcash Signed Message:\n", "slip44": 147, "support": {"connect": true, "trezor1": "1.8.0", "trezor2": "2.0.11", "webwallet": false}, "uri_prefix": "zclassic", "website": "https://zclassic.org", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 7352, "address_type_p2sh": 7357, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": ["https://zec1.trezor.io", "https://zec2.trezor.io", "https://zec3.trezor.io", "https://zec4.trezor.io", "https://zec5.trezor.io"], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Zcash", "coin_name": "Zcash", "coin_shortcut": "ZEC", "consensus_branch_id": {"1": 0, "2": 0, "3": 1537743641, "4": 1991772603}, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/zcash/zcash", "hash_genesis_block": "00040fe8ec8471911baa1db1266ea15dd06b4a8a5c453883c000b031973dce08", "key": "bitcoin:ZEC", "maintainer": "Pavol Rusnak ", "max_address_length": 95, "maxfee_kb": 1000000, "min_address_length": 35, "minfee_kb": 1000, "name": "Zcash", "segwit": false, "shortcut": "ZEC", "signed_message_header": "Zcash Signed Message:\n", "slip44": 133, "support": {"connect": true, "trezor1": "1.7.1", "trezor2": "2.0.8", "webwallet": true}, "uri_prefix": "zcash", "website": "https://z.cash", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 7461, "address_type_p2sh": 7354, "bech32_prefix": null, "bip115": false, "bitcore": ["https://explorer.testnet.z.cash"], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Zcash Testnet", "coin_name": "Zcash Testnet", "coin_shortcut": "TAZ", "consensus_branch_id": {"1": 0, "2": 0, "3": 1537743641, "4": 1991772603}, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/zcash/zcash", "hash_genesis_block": "05a60a92d99d85997cce3b87616c089f6124d7342af37106edc76126334a2c38", "key": "bitcoin:TAZ", "maintainer": "Pavol Rusnak ", "max_address_length": 95, "maxfee_kb": 10000000, "min_address_length": 35, "minfee_kb": 1000, "name": "Zcash Testnet", "segwit": false, "shortcut": "TAZ", "signed_message_header": "Zcash Signed Message:\n", "slip44": 1, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "zcash", "website": "https://z.cash", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 82, "address_type_p2sh": 7, "bech32_prefix": null, "bip115": false, "bitcore": ["https://insight.zcoin.io"], "blockbook": [], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Zcoin", "coin_name": "Zcoin", "coin_shortcut": "XZC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 10, "High": 200, "Low": 1, "Normal": 100}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/zcoinofficial/zcoin", "hash_genesis_block": "4381deb85b1b2c9843c222944b616d997516dcbd6a964e1eaf0def0830695233", "key": "bitcoin:XZC", "maintainer": "Yura Pakhuchiy ", "max_address_length": 34, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 0, "name": "Zcoin", "segwit": false, "shortcut": "XZC", "signed_message_header": "Zcoin Signed Message:\n", "slip44": 136, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": true}, "uri_prefix": "zcoin", "website": "https://zcoin.io", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 65, "address_type_p2sh": 178, "bech32_prefix": null, "bip115": false, "bitcore": [], "blockbook": [], "blocktime_seconds": 600, "cashaddr_prefix": null, "coin_label": "Zcoin Testnet", "coin_name": "Zcoin Testnet", "coin_shortcut": "tXZC", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Economy": 10, "High": 200, "Low": 1, "Normal": 100}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/zcoinofficial/zcoin", "hash_genesis_block": "7ac038c193c2158c428c59f9ae0c02a07115141c6e9dc244ae96132e99b4e642", "key": "bitcoin:tXZC", "maintainer": "Yura Pakhuchiy ", "max_address_length": 35, "maxfee_kb": 1000000, "min_address_length": 27, "minfee_kb": 0, "name": "Zcoin Testnet", "segwit": false, "shortcut": "tXZC", "signed_message_header": "Zcoin Signed Message:\n", "slip44": 1, "support": {"connect": true, "trezor1": "1.6.2", "trezor2": "2.0.7", "webwallet": false}, "uri_prefix": "testzcoin", "website": "https://zcoin.io", "xprv_magic": 70615956, "xpub_magic": 70617039, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}, {"address_type": 8329, "address_type_p2sh": 8342, "bech32_prefix": null, "bip115": true, "bitcore": ["https://explorer.zensystem.io"], "blockbook": [], "blocktime_seconds": 150, "cashaddr_prefix": null, "coin_label": "Zencash", "coin_name": "Zencash", "coin_shortcut": "ZEN", "consensus_branch_id": null, "cooldown": 100, "curve_name": "secp256k1", "decred": false, "default_fee_b": {"Normal": 10}, "dust_limit": 546, "force_bip143": false, "fork_id": null, "github": "https://github.com/ZencashOfficial/zen", "hash_genesis_block": "0007104ccda289427919efc39dc9e4d499804b7bebc22df55f8b834301260602", "key": "bitcoin:ZEN", "maintainer": "Zencash ", "max_address_length": 95, "maxfee_kb": 2000000, "min_address_length": 35, "minfee_kb": 1000, "name": "Zencash", "segwit": false, "shortcut": "ZEN", "signed_message_header": "Zencash Signed Message:\n", "slip44": 121, "support": {"connect": true, "trezor1": false, "trezor2": "2.0.8", "webwallet": false}, "uri_prefix": "zencash", "website": "https://zencash.com", "xprv_magic": 76066276, "xpub_magic": 76067358, "xpub_magic_segwit_native": null, "xpub_magic_segwit_p2sh": null}] diff --git a/python/trezorlib/coins.py b/python/trezorlib/coins.py index 4a920e8d5..349677297 100644 --- a/python/trezorlib/coins.py +++ b/python/trezorlib/coins.py @@ -24,12 +24,7 @@ COINS_JSON = os.path.join(os.path.dirname(__file__), "coins.json") def _load_coins_json(): # Load coins.json to local variables - # NOTE: coins.json comes from 'vendor/trezor-common/coins.json', - # which is a git submodule. If you're trying to run trezorlib directly - # from the checkout (or tarball), initialize the submodule with: - # $ git submodule update --init - # and install coins.json with: - # $ python setup.py prebuild + # NOTE: coins.json is generated via `make generated` command. with open(COINS_JSON) as coins_json: return json.load(coins_json) diff --git a/python/trezorlib/messages/Address.py b/python/trezorlib/messages/Address.py new file mode 100644 index 000000000..8db78f462 --- /dev/null +++ b/python/trezorlib/messages/Address.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Address(p.MessageType): + MESSAGE_WIRE_TYPE = 30 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), # required + } diff --git a/python/trezorlib/messages/ApplyFlags.py b/python/trezorlib/messages/ApplyFlags.py new file mode 100644 index 000000000..775e6dbfc --- /dev/null +++ b/python/trezorlib/messages/ApplyFlags.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ApplyFlags(p.MessageType): + MESSAGE_WIRE_TYPE = 28 + + def __init__( + self, + flags: int = None, + ) -> None: + self.flags = flags + + @classmethod + def get_fields(cls): + return { + 1: ('flags', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/ApplySettings.py b/python/trezorlib/messages/ApplySettings.py new file mode 100644 index 000000000..92a55a0e2 --- /dev/null +++ b/python/trezorlib/messages/ApplySettings.py @@ -0,0 +1,37 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ApplySettings(p.MessageType): + MESSAGE_WIRE_TYPE = 25 + + def __init__( + self, + language: str = None, + label: str = None, + use_passphrase: bool = None, + homescreen: bytes = None, + passphrase_source: int = None, + auto_lock_delay_ms: int = None, + display_rotation: int = None, + ) -> None: + self.language = language + self.label = label + self.use_passphrase = use_passphrase + self.homescreen = homescreen + self.passphrase_source = passphrase_source + self.auto_lock_delay_ms = auto_lock_delay_ms + self.display_rotation = display_rotation + + @classmethod + def get_fields(cls): + return { + 1: ('language', p.UnicodeType, 0), + 2: ('label', p.UnicodeType, 0), + 3: ('use_passphrase', p.BoolType, 0), + 4: ('homescreen', p.BytesType, 0), + 5: ('passphrase_source', p.UVarintType, 0), + 6: ('auto_lock_delay_ms', p.UVarintType, 0), + 7: ('display_rotation', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/BackupDevice.py b/python/trezorlib/messages/BackupDevice.py new file mode 100644 index 000000000..5acb2a6af --- /dev/null +++ b/python/trezorlib/messages/BackupDevice.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BackupDevice(p.MessageType): + MESSAGE_WIRE_TYPE = 34 diff --git a/python/trezorlib/messages/BinanceAddress.py b/python/trezorlib/messages/BinanceAddress.py new file mode 100644 index 000000000..02685dab8 --- /dev/null +++ b/python/trezorlib/messages/BinanceAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BinanceAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 701 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/BinanceCancelMsg.py b/python/trezorlib/messages/BinanceCancelMsg.py new file mode 100644 index 000000000..22d71099c --- /dev/null +++ b/python/trezorlib/messages/BinanceCancelMsg.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BinanceCancelMsg(p.MessageType): + MESSAGE_WIRE_TYPE = 708 + + def __init__( + self, + refid: str = None, + sender: str = None, + symbol: str = None, + ) -> None: + self.refid = refid + self.sender = sender + self.symbol = symbol + + @classmethod + def get_fields(cls): + return { + 1: ('refid', p.UnicodeType, 0), + 2: ('sender', p.UnicodeType, 0), + 3: ('symbol', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/BinanceCoin.py b/python/trezorlib/messages/BinanceCoin.py new file mode 100644 index 000000000..9d11a2131 --- /dev/null +++ b/python/trezorlib/messages/BinanceCoin.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BinanceCoin(p.MessageType): + + def __init__( + self, + amount: int = None, + denom: str = None, + ) -> None: + self.amount = amount + self.denom = denom + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.SVarintType, 0), + 2: ('denom', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/BinanceGetAddress.py b/python/trezorlib/messages/BinanceGetAddress.py new file mode 100644 index 000000000..daaa64226 --- /dev/null +++ b/python/trezorlib/messages/BinanceGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class BinanceGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 700 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/BinanceGetPublicKey.py b/python/trezorlib/messages/BinanceGetPublicKey.py new file mode 100644 index 000000000..8958d38f7 --- /dev/null +++ b/python/trezorlib/messages/BinanceGetPublicKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class BinanceGetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 702 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/BinanceInputOutput.py b/python/trezorlib/messages/BinanceInputOutput.py new file mode 100644 index 000000000..4d15c83d0 --- /dev/null +++ b/python/trezorlib/messages/BinanceInputOutput.py @@ -0,0 +1,29 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .BinanceCoin import BinanceCoin + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class BinanceInputOutput(p.MessageType): + + def __init__( + self, + address: str = None, + coins: List[BinanceCoin] = None, + ) -> None: + self.address = address + self.coins = coins if coins is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('coins', BinanceCoin, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/BinanceOrderMsg.py b/python/trezorlib/messages/BinanceOrderMsg.py new file mode 100644 index 000000000..8519da513 --- /dev/null +++ b/python/trezorlib/messages/BinanceOrderMsg.py @@ -0,0 +1,40 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BinanceOrderMsg(p.MessageType): + MESSAGE_WIRE_TYPE = 707 + + def __init__( + self, + id: str = None, + ordertype: int = None, + price: int = None, + quantity: int = None, + sender: str = None, + side: int = None, + symbol: str = None, + timeinforce: int = None, + ) -> None: + self.id = id + self.ordertype = ordertype + self.price = price + self.quantity = quantity + self.sender = sender + self.side = side + self.symbol = symbol + self.timeinforce = timeinforce + + @classmethod + def get_fields(cls): + return { + 1: ('id', p.UnicodeType, 0), + 2: ('ordertype', p.UVarintType, 0), + 3: ('price', p.SVarintType, 0), + 4: ('quantity', p.SVarintType, 0), + 5: ('sender', p.UnicodeType, 0), + 6: ('side', p.UVarintType, 0), + 7: ('symbol', p.UnicodeType, 0), + 8: ('timeinforce', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/BinanceOrderSide.py b/python/trezorlib/messages/BinanceOrderSide.py new file mode 100644 index 000000000..454fff0fe --- /dev/null +++ b/python/trezorlib/messages/BinanceOrderSide.py @@ -0,0 +1,5 @@ +# Automatically generated by pb2py +# fmt: off +SIDE_UNKNOWN = 0 +BUY = 1 +SELL = 2 diff --git a/python/trezorlib/messages/BinanceOrderType.py b/python/trezorlib/messages/BinanceOrderType.py new file mode 100644 index 000000000..3349a5fdb --- /dev/null +++ b/python/trezorlib/messages/BinanceOrderType.py @@ -0,0 +1,6 @@ +# Automatically generated by pb2py +# fmt: off +OT_UNKNOWN = 0 +MARKET = 1 +LIMIT = 2 +OT_RESERVED = 3 diff --git a/python/trezorlib/messages/BinancePublicKey.py b/python/trezorlib/messages/BinancePublicKey.py new file mode 100644 index 000000000..3332afdff --- /dev/null +++ b/python/trezorlib/messages/BinancePublicKey.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BinancePublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 703 + + def __init__( + self, + public_key: bytes = None, + ) -> None: + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/BinanceSignTx.py b/python/trezorlib/messages/BinanceSignTx.py new file mode 100644 index 000000000..1d5c6d1aa --- /dev/null +++ b/python/trezorlib/messages/BinanceSignTx.py @@ -0,0 +1,43 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class BinanceSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 704 + + def __init__( + self, + address_n: List[int] = None, + msg_count: int = None, + account_number: int = None, + chain_id: str = None, + memo: str = None, + sequence: int = None, + source: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.msg_count = msg_count + self.account_number = account_number + self.chain_id = chain_id + self.memo = memo + self.sequence = sequence + self.source = source + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('msg_count', p.UVarintType, 0), + 3: ('account_number', p.SVarintType, 0), + 4: ('chain_id', p.UnicodeType, 0), + 5: ('memo', p.UnicodeType, 0), + 6: ('sequence', p.SVarintType, 0), + 7: ('source', p.SVarintType, 0), + } diff --git a/python/trezorlib/messages/BinanceSignedTx.py b/python/trezorlib/messages/BinanceSignedTx.py new file mode 100644 index 000000000..cb5449e8e --- /dev/null +++ b/python/trezorlib/messages/BinanceSignedTx.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BinanceSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 709 + + def __init__( + self, + signature: bytes = None, + public_key: bytes = None, + json: str = None, + ) -> None: + self.signature = signature + self.public_key = public_key + self.json = json + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('public_key', p.BytesType, 0), + 3: ('json', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/BinanceTimeInForce.py b/python/trezorlib/messages/BinanceTimeInForce.py new file mode 100644 index 000000000..fa6e5f420 --- /dev/null +++ b/python/trezorlib/messages/BinanceTimeInForce.py @@ -0,0 +1,6 @@ +# Automatically generated by pb2py +# fmt: off +TIF_UNKNOWN = 0 +GTE = 1 +TIF_RESERVED = 2 +IOC = 3 diff --git a/python/trezorlib/messages/BinanceTransferMsg.py b/python/trezorlib/messages/BinanceTransferMsg.py new file mode 100644 index 000000000..a5c1eaadb --- /dev/null +++ b/python/trezorlib/messages/BinanceTransferMsg.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .BinanceInputOutput import BinanceInputOutput + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class BinanceTransferMsg(p.MessageType): + MESSAGE_WIRE_TYPE = 706 + + def __init__( + self, + inputs: List[BinanceInputOutput] = None, + outputs: List[BinanceInputOutput] = None, + ) -> None: + self.inputs = inputs if inputs is not None else [] + self.outputs = outputs if outputs is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('inputs', BinanceInputOutput, p.FLAG_REPEATED), + 2: ('outputs', BinanceInputOutput, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/BinanceTxRequest.py b/python/trezorlib/messages/BinanceTxRequest.py new file mode 100644 index 000000000..ea109bb31 --- /dev/null +++ b/python/trezorlib/messages/BinanceTxRequest.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class BinanceTxRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 705 diff --git a/python/trezorlib/messages/ButtonAck.py b/python/trezorlib/messages/ButtonAck.py new file mode 100644 index 000000000..cb6e17067 --- /dev/null +++ b/python/trezorlib/messages/ButtonAck.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ButtonAck(p.MessageType): + MESSAGE_WIRE_TYPE = 27 diff --git a/python/trezorlib/messages/ButtonRequest.py b/python/trezorlib/messages/ButtonRequest.py new file mode 100644 index 000000000..ac53cae35 --- /dev/null +++ b/python/trezorlib/messages/ButtonRequest.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ButtonRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 26 + + def __init__( + self, + code: int = None, + data: str = None, + ) -> None: + self.code = code + self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('code', p.UVarintType, 0), + 2: ('data', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/ButtonRequestType.py b/python/trezorlib/messages/ButtonRequestType.py new file mode 100644 index 000000000..5f8decd08 --- /dev/null +++ b/python/trezorlib/messages/ButtonRequestType.py @@ -0,0 +1,17 @@ +# Automatically generated by pb2py +# fmt: off +Other = 1 +FeeOverThreshold = 2 +ConfirmOutput = 3 +ResetDevice = 4 +ConfirmWord = 5 +WipeDevice = 6 +ProtectCall = 7 +SignTx = 8 +FirmwareCheck = 9 +Address = 10 +PublicKey = 11 +MnemonicWordCount = 12 +MnemonicInput = 13 +PassphraseType = 14 +UnknownDerivationPath = 15 diff --git a/python/trezorlib/messages/Cancel.py b/python/trezorlib/messages/Cancel.py new file mode 100644 index 000000000..29eb2ee2a --- /dev/null +++ b/python/trezorlib/messages/Cancel.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Cancel(p.MessageType): + MESSAGE_WIRE_TYPE = 20 diff --git a/python/trezorlib/messages/CardanoAddress.py b/python/trezorlib/messages/CardanoAddress.py new file mode 100644 index 000000000..e9052c689 --- /dev/null +++ b/python/trezorlib/messages/CardanoAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class CardanoAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 308 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/CardanoGetAddress.py b/python/trezorlib/messages/CardanoGetAddress.py new file mode 100644 index 000000000..72cd26389 --- /dev/null +++ b/python/trezorlib/messages/CardanoGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CardanoGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 307 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/CardanoGetPublicKey.py b/python/trezorlib/messages/CardanoGetPublicKey.py new file mode 100644 index 000000000..9e6795694 --- /dev/null +++ b/python/trezorlib/messages/CardanoGetPublicKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CardanoGetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 305 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/CardanoPublicKey.py b/python/trezorlib/messages/CardanoPublicKey.py new file mode 100644 index 000000000..6e43692ec --- /dev/null +++ b/python/trezorlib/messages/CardanoPublicKey.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .HDNodeType import HDNodeType + + +class CardanoPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 306 + + def __init__( + self, + xpub: str = None, + node: HDNodeType = None, + ) -> None: + self.xpub = xpub + self.node = node + + @classmethod + def get_fields(cls): + return { + 1: ('xpub', p.UnicodeType, 0), + 2: ('node', HDNodeType, 0), + } diff --git a/python/trezorlib/messages/CardanoSignTx.py b/python/trezorlib/messages/CardanoSignTx.py new file mode 100644 index 000000000..38aeb39de --- /dev/null +++ b/python/trezorlib/messages/CardanoSignTx.py @@ -0,0 +1,37 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .CardanoTxInputType import CardanoTxInputType +from .CardanoTxOutputType import CardanoTxOutputType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CardanoSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 303 + + def __init__( + self, + inputs: List[CardanoTxInputType] = None, + outputs: List[CardanoTxOutputType] = None, + transactions_count: int = None, + protocol_magic: int = None, + ) -> None: + self.inputs = inputs if inputs is not None else [] + self.outputs = outputs if outputs is not None else [] + self.transactions_count = transactions_count + self.protocol_magic = protocol_magic + + @classmethod + def get_fields(cls): + return { + 1: ('inputs', CardanoTxInputType, p.FLAG_REPEATED), + 2: ('outputs', CardanoTxOutputType, p.FLAG_REPEATED), + 3: ('transactions_count', p.UVarintType, 0), + 5: ('protocol_magic', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/CardanoSignedTx.py b/python/trezorlib/messages/CardanoSignedTx.py new file mode 100644 index 000000000..3472ef229 --- /dev/null +++ b/python/trezorlib/messages/CardanoSignedTx.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class CardanoSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 310 + + def __init__( + self, + tx_hash: bytes = None, + tx_body: bytes = None, + ) -> None: + self.tx_hash = tx_hash + self.tx_body = tx_body + + @classmethod + def get_fields(cls): + return { + 1: ('tx_hash', p.BytesType, 0), + 2: ('tx_body', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/CardanoTxAck.py b/python/trezorlib/messages/CardanoTxAck.py new file mode 100644 index 000000000..d569713b7 --- /dev/null +++ b/python/trezorlib/messages/CardanoTxAck.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class CardanoTxAck(p.MessageType): + MESSAGE_WIRE_TYPE = 309 + + def __init__( + self, + transaction: bytes = None, + ) -> None: + self.transaction = transaction + + @classmethod + def get_fields(cls): + return { + 1: ('transaction', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/CardanoTxInputType.py b/python/trezorlib/messages/CardanoTxInputType.py new file mode 100644 index 000000000..20000714c --- /dev/null +++ b/python/trezorlib/messages/CardanoTxInputType.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CardanoTxInputType(p.MessageType): + + def __init__( + self, + address_n: List[int] = None, + prev_hash: bytes = None, + prev_index: int = None, + type: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.prev_hash = prev_hash + self.prev_index = prev_index + self.type = type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('prev_hash', p.BytesType, 0), + 3: ('prev_index', p.UVarintType, 0), + 4: ('type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/CardanoTxOutputType.py b/python/trezorlib/messages/CardanoTxOutputType.py new file mode 100644 index 000000000..2f86255f4 --- /dev/null +++ b/python/trezorlib/messages/CardanoTxOutputType.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CardanoTxOutputType(p.MessageType): + + def __init__( + self, + address: str = None, + address_n: List[int] = None, + amount: int = None, + ) -> None: + self.address = address + self.address_n = address_n if address_n is not None else [] + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('amount', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/CardanoTxRequest.py b/python/trezorlib/messages/CardanoTxRequest.py new file mode 100644 index 000000000..a0f951e25 --- /dev/null +++ b/python/trezorlib/messages/CardanoTxRequest.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class CardanoTxRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 304 + + def __init__( + self, + tx_index: int = None, + tx_hash: bytes = None, + tx_body: bytes = None, + ) -> None: + self.tx_index = tx_index + self.tx_hash = tx_hash + self.tx_body = tx_body + + @classmethod + def get_fields(cls): + return { + 1: ('tx_index', p.UVarintType, 0), + 2: ('tx_hash', p.BytesType, 0), + 3: ('tx_body', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/ChangePin.py b/python/trezorlib/messages/ChangePin.py new file mode 100644 index 000000000..8b2e82ea1 --- /dev/null +++ b/python/trezorlib/messages/ChangePin.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ChangePin(p.MessageType): + MESSAGE_WIRE_TYPE = 4 + + def __init__( + self, + remove: bool = None, + ) -> None: + self.remove = remove + + @classmethod + def get_fields(cls): + return { + 1: ('remove', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/CipherKeyValue.py b/python/trezorlib/messages/CipherKeyValue.py new file mode 100644 index 000000000..ec3f5f188 --- /dev/null +++ b/python/trezorlib/messages/CipherKeyValue.py @@ -0,0 +1,43 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CipherKeyValue(p.MessageType): + MESSAGE_WIRE_TYPE = 23 + + def __init__( + self, + address_n: List[int] = None, + key: str = None, + value: bytes = None, + encrypt: bool = None, + ask_on_encrypt: bool = None, + ask_on_decrypt: bool = None, + iv: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.key = key + self.value = value + self.encrypt = encrypt + self.ask_on_encrypt = ask_on_encrypt + self.ask_on_decrypt = ask_on_decrypt + self.iv = iv + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('key', p.UnicodeType, 0), + 3: ('value', p.BytesType, 0), + 4: ('encrypt', p.BoolType, 0), + 5: ('ask_on_encrypt', p.BoolType, 0), + 6: ('ask_on_decrypt', p.BoolType, 0), + 7: ('iv', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/CipheredKeyValue.py b/python/trezorlib/messages/CipheredKeyValue.py new file mode 100644 index 000000000..4556ea6f9 --- /dev/null +++ b/python/trezorlib/messages/CipheredKeyValue.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class CipheredKeyValue(p.MessageType): + MESSAGE_WIRE_TYPE = 48 + + def __init__( + self, + value: bytes = None, + ) -> None: + self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('value', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/ClearSession.py b/python/trezorlib/messages/ClearSession.py new file mode 100644 index 000000000..b929c2ac0 --- /dev/null +++ b/python/trezorlib/messages/ClearSession.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ClearSession(p.MessageType): + MESSAGE_WIRE_TYPE = 24 diff --git a/python/trezorlib/messages/CosiCommit.py b/python/trezorlib/messages/CosiCommit.py new file mode 100644 index 000000000..44429acc7 --- /dev/null +++ b/python/trezorlib/messages/CosiCommit.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CosiCommit(p.MessageType): + MESSAGE_WIRE_TYPE = 71 + + def __init__( + self, + address_n: List[int] = None, + data: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('data', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/CosiCommitment.py b/python/trezorlib/messages/CosiCommitment.py new file mode 100644 index 000000000..03eccfc5b --- /dev/null +++ b/python/trezorlib/messages/CosiCommitment.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class CosiCommitment(p.MessageType): + MESSAGE_WIRE_TYPE = 72 + + def __init__( + self, + commitment: bytes = None, + pubkey: bytes = None, + ) -> None: + self.commitment = commitment + self.pubkey = pubkey + + @classmethod + def get_fields(cls): + return { + 1: ('commitment', p.BytesType, 0), + 2: ('pubkey', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/CosiSign.py b/python/trezorlib/messages/CosiSign.py new file mode 100644 index 000000000..98a7e7938 --- /dev/null +++ b/python/trezorlib/messages/CosiSign.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class CosiSign(p.MessageType): + MESSAGE_WIRE_TYPE = 73 + + def __init__( + self, + address_n: List[int] = None, + data: bytes = None, + global_commitment: bytes = None, + global_pubkey: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.data = data + self.global_commitment = global_commitment + self.global_pubkey = global_pubkey + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('data', p.BytesType, 0), + 3: ('global_commitment', p.BytesType, 0), + 4: ('global_pubkey', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/CosiSignature.py b/python/trezorlib/messages/CosiSignature.py new file mode 100644 index 000000000..ad82c72d2 --- /dev/null +++ b/python/trezorlib/messages/CosiSignature.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class CosiSignature(p.MessageType): + MESSAGE_WIRE_TYPE = 74 + + def __init__( + self, + signature: bytes = None, + ) -> None: + self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkDecision.py b/python/trezorlib/messages/DebugLinkDecision.py new file mode 100644 index 000000000..57be789a3 --- /dev/null +++ b/python/trezorlib/messages/DebugLinkDecision.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkDecision(p.MessageType): + MESSAGE_WIRE_TYPE = 100 + + def __init__( + self, + yes_no: bool = None, + up_down: bool = None, + input: str = None, + ) -> None: + self.yes_no = yes_no + self.up_down = up_down + self.input = input + + @classmethod + def get_fields(cls): + return { + 1: ('yes_no', p.BoolType, 0), + 2: ('up_down', p.BoolType, 0), + 3: ('input', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkFlashErase.py b/python/trezorlib/messages/DebugLinkFlashErase.py new file mode 100644 index 000000000..36507b7fa --- /dev/null +++ b/python/trezorlib/messages/DebugLinkFlashErase.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkFlashErase(p.MessageType): + MESSAGE_WIRE_TYPE = 113 + + def __init__( + self, + sector: int = None, + ) -> None: + self.sector = sector + + @classmethod + def get_fields(cls): + return { + 1: ('sector', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkGetState.py b/python/trezorlib/messages/DebugLinkGetState.py new file mode 100644 index 000000000..7a089359d --- /dev/null +++ b/python/trezorlib/messages/DebugLinkGetState.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkGetState(p.MessageType): + MESSAGE_WIRE_TYPE = 101 diff --git a/python/trezorlib/messages/DebugLinkLog.py b/python/trezorlib/messages/DebugLinkLog.py new file mode 100644 index 000000000..b22782986 --- /dev/null +++ b/python/trezorlib/messages/DebugLinkLog.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkLog(p.MessageType): + MESSAGE_WIRE_TYPE = 104 + + def __init__( + self, + level: int = None, + bucket: str = None, + text: str = None, + ) -> None: + self.level = level + self.bucket = bucket + self.text = text + + @classmethod + def get_fields(cls): + return { + 1: ('level', p.UVarintType, 0), + 2: ('bucket', p.UnicodeType, 0), + 3: ('text', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkMemory.py b/python/trezorlib/messages/DebugLinkMemory.py new file mode 100644 index 000000000..0b5f4c5af --- /dev/null +++ b/python/trezorlib/messages/DebugLinkMemory.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkMemory(p.MessageType): + MESSAGE_WIRE_TYPE = 111 + + def __init__( + self, + memory: bytes = None, + ) -> None: + self.memory = memory + + @classmethod + def get_fields(cls): + return { + 1: ('memory', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkMemoryRead.py b/python/trezorlib/messages/DebugLinkMemoryRead.py new file mode 100644 index 000000000..36560c40a --- /dev/null +++ b/python/trezorlib/messages/DebugLinkMemoryRead.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkMemoryRead(p.MessageType): + MESSAGE_WIRE_TYPE = 110 + + def __init__( + self, + address: int = None, + length: int = None, + ) -> None: + self.address = address + self.length = length + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UVarintType, 0), + 2: ('length', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkMemoryWrite.py b/python/trezorlib/messages/DebugLinkMemoryWrite.py new file mode 100644 index 000000000..d939f533a --- /dev/null +++ b/python/trezorlib/messages/DebugLinkMemoryWrite.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkMemoryWrite(p.MessageType): + MESSAGE_WIRE_TYPE = 112 + + def __init__( + self, + address: int = None, + memory: bytes = None, + flash: bool = None, + ) -> None: + self.address = address + self.memory = memory + self.flash = flash + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UVarintType, 0), + 2: ('memory', p.BytesType, 0), + 3: ('flash', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkState.py b/python/trezorlib/messages/DebugLinkState.py new file mode 100644 index 000000000..7a814e46b --- /dev/null +++ b/python/trezorlib/messages/DebugLinkState.py @@ -0,0 +1,54 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .HDNodeType import HDNodeType + + +class DebugLinkState(p.MessageType): + MESSAGE_WIRE_TYPE = 102 + + def __init__( + self, + layout: bytes = None, + pin: str = None, + matrix: str = None, + mnemonic_secret: bytes = None, + node: HDNodeType = None, + passphrase_protection: bool = None, + reset_word: str = None, + reset_entropy: bytes = None, + recovery_fake_word: str = None, + recovery_word_pos: int = None, + reset_word_pos: int = None, + mnemonic_type: int = None, + ) -> None: + self.layout = layout + self.pin = pin + self.matrix = matrix + self.mnemonic_secret = mnemonic_secret + self.node = node + self.passphrase_protection = passphrase_protection + self.reset_word = reset_word + self.reset_entropy = reset_entropy + self.recovery_fake_word = recovery_fake_word + self.recovery_word_pos = recovery_word_pos + self.reset_word_pos = reset_word_pos + self.mnemonic_type = mnemonic_type + + @classmethod + def get_fields(cls): + return { + 1: ('layout', p.BytesType, 0), + 2: ('pin', p.UnicodeType, 0), + 3: ('matrix', p.UnicodeType, 0), + 4: ('mnemonic_secret', p.BytesType, 0), + 5: ('node', HDNodeType, 0), + 6: ('passphrase_protection', p.BoolType, 0), + 7: ('reset_word', p.UnicodeType, 0), + 8: ('reset_entropy', p.BytesType, 0), + 9: ('recovery_fake_word', p.UnicodeType, 0), + 10: ('recovery_word_pos', p.UVarintType, 0), + 11: ('reset_word_pos', p.UVarintType, 0), + 12: ('mnemonic_type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/DebugLinkStop.py b/python/trezorlib/messages/DebugLinkStop.py new file mode 100644 index 000000000..3a63a1020 --- /dev/null +++ b/python/trezorlib/messages/DebugLinkStop.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class DebugLinkStop(p.MessageType): + MESSAGE_WIRE_TYPE = 103 diff --git a/python/trezorlib/messages/DebugMoneroDiagAck.py b/python/trezorlib/messages/DebugMoneroDiagAck.py new file mode 100644 index 000000000..02f3bc6a8 --- /dev/null +++ b/python/trezorlib/messages/DebugMoneroDiagAck.py @@ -0,0 +1,40 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class DebugMoneroDiagAck(p.MessageType): + MESSAGE_WIRE_TYPE = 547 + + def __init__( + self, + ins: int = None, + p1: int = None, + p2: int = None, + pd: List[int] = None, + data1: bytes = None, + data2: bytes = None, + ) -> None: + self.ins = ins + self.p1 = p1 + self.p2 = p2 + self.pd = pd if pd is not None else [] + self.data1 = data1 + self.data2 = data2 + + @classmethod + def get_fields(cls): + return { + 1: ('ins', p.UVarintType, 0), + 2: ('p1', p.UVarintType, 0), + 3: ('p2', p.UVarintType, 0), + 4: ('pd', p.UVarintType, p.FLAG_REPEATED), + 5: ('data1', p.BytesType, 0), + 6: ('data2', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/DebugMoneroDiagRequest.py b/python/trezorlib/messages/DebugMoneroDiagRequest.py new file mode 100644 index 000000000..730f349cd --- /dev/null +++ b/python/trezorlib/messages/DebugMoneroDiagRequest.py @@ -0,0 +1,40 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class DebugMoneroDiagRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 546 + + def __init__( + self, + ins: int = None, + p1: int = None, + p2: int = None, + pd: List[int] = None, + data1: bytes = None, + data2: bytes = None, + ) -> None: + self.ins = ins + self.p1 = p1 + self.p2 = p2 + self.pd = pd if pd is not None else [] + self.data1 = data1 + self.data2 = data2 + + @classmethod + def get_fields(cls): + return { + 1: ('ins', p.UVarintType, 0), + 2: ('p1', p.UVarintType, 0), + 3: ('p2', p.UVarintType, 0), + 4: ('pd', p.UVarintType, p.FLAG_REPEATED), + 5: ('data1', p.BytesType, 0), + 6: ('data2', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/ECDHSessionKey.py b/python/trezorlib/messages/ECDHSessionKey.py new file mode 100644 index 000000000..20b419f99 --- /dev/null +++ b/python/trezorlib/messages/ECDHSessionKey.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ECDHSessionKey(p.MessageType): + MESSAGE_WIRE_TYPE = 62 + + def __init__( + self, + session_key: bytes = None, + ) -> None: + self.session_key = session_key + + @classmethod + def get_fields(cls): + return { + 1: ('session_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/Entropy.py b/python/trezorlib/messages/Entropy.py new file mode 100644 index 000000000..e11f389bf --- /dev/null +++ b/python/trezorlib/messages/Entropy.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Entropy(p.MessageType): + MESSAGE_WIRE_TYPE = 10 + + def __init__( + self, + entropy: bytes = None, + ) -> None: + self.entropy = entropy + + @classmethod + def get_fields(cls): + return { + 1: ('entropy', p.BytesType, 0), # required + } diff --git a/python/trezorlib/messages/EntropyAck.py b/python/trezorlib/messages/EntropyAck.py new file mode 100644 index 000000000..c6a08eaaa --- /dev/null +++ b/python/trezorlib/messages/EntropyAck.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EntropyAck(p.MessageType): + MESSAGE_WIRE_TYPE = 36 + + def __init__( + self, + entropy: bytes = None, + ) -> None: + self.entropy = entropy + + @classmethod + def get_fields(cls): + return { + 1: ('entropy', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/EntropyRequest.py b/python/trezorlib/messages/EntropyRequest.py new file mode 100644 index 000000000..418668670 --- /dev/null +++ b/python/trezorlib/messages/EntropyRequest.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EntropyRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 35 diff --git a/python/trezorlib/messages/EosActionBuyRam.py b/python/trezorlib/messages/EosActionBuyRam.py new file mode 100644 index 000000000..b9730e84c --- /dev/null +++ b/python/trezorlib/messages/EosActionBuyRam.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosAsset import EosAsset + + +class EosActionBuyRam(p.MessageType): + + def __init__( + self, + payer: int = None, + receiver: int = None, + quantity: EosAsset = None, + ) -> None: + self.payer = payer + self.receiver = receiver + self.quantity = quantity + + @classmethod + def get_fields(cls): + return { + 1: ('payer', p.UVarintType, 0), + 2: ('receiver', p.UVarintType, 0), + 3: ('quantity', EosAsset, 0), + } diff --git a/python/trezorlib/messages/EosActionBuyRamBytes.py b/python/trezorlib/messages/EosActionBuyRamBytes.py new file mode 100644 index 000000000..528f618bc --- /dev/null +++ b/python/trezorlib/messages/EosActionBuyRamBytes.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosActionBuyRamBytes(p.MessageType): + + def __init__( + self, + payer: int = None, + receiver: int = None, + bytes: int = None, + ) -> None: + self.payer = payer + self.receiver = receiver + self.bytes = bytes + + @classmethod + def get_fields(cls): + return { + 1: ('payer', p.UVarintType, 0), + 2: ('receiver', p.UVarintType, 0), + 3: ('bytes', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosActionCommon.py b/python/trezorlib/messages/EosActionCommon.py new file mode 100644 index 000000000..3938bfea4 --- /dev/null +++ b/python/trezorlib/messages/EosActionCommon.py @@ -0,0 +1,32 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosPermissionLevel import EosPermissionLevel + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EosActionCommon(p.MessageType): + + def __init__( + self, + account: int = None, + name: int = None, + authorization: List[EosPermissionLevel] = None, + ) -> None: + self.account = account + self.name = name + self.authorization = authorization if authorization is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('name', p.UVarintType, 0), + 3: ('authorization', EosPermissionLevel, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/EosActionDelegate.py b/python/trezorlib/messages/EosActionDelegate.py new file mode 100644 index 000000000..60692d962 --- /dev/null +++ b/python/trezorlib/messages/EosActionDelegate.py @@ -0,0 +1,32 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosAsset import EosAsset + + +class EosActionDelegate(p.MessageType): + + def __init__( + self, + sender: int = None, + receiver: int = None, + net_quantity: EosAsset = None, + cpu_quantity: EosAsset = None, + transfer: bool = None, + ) -> None: + self.sender = sender + self.receiver = receiver + self.net_quantity = net_quantity + self.cpu_quantity = cpu_quantity + self.transfer = transfer + + @classmethod + def get_fields(cls): + return { + 1: ('sender', p.UVarintType, 0), + 2: ('receiver', p.UVarintType, 0), + 3: ('net_quantity', EosAsset, 0), + 4: ('cpu_quantity', EosAsset, 0), + 5: ('transfer', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/EosActionDeleteAuth.py b/python/trezorlib/messages/EosActionDeleteAuth.py new file mode 100644 index 000000000..65c92335c --- /dev/null +++ b/python/trezorlib/messages/EosActionDeleteAuth.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosActionDeleteAuth(p.MessageType): + + def __init__( + self, + account: int = None, + permission: int = None, + ) -> None: + self.account = account + self.permission = permission + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('permission', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosActionLinkAuth.py b/python/trezorlib/messages/EosActionLinkAuth.py new file mode 100644 index 000000000..fe0e812c1 --- /dev/null +++ b/python/trezorlib/messages/EosActionLinkAuth.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosActionLinkAuth(p.MessageType): + + def __init__( + self, + account: int = None, + code: int = None, + type: int = None, + requirement: int = None, + ) -> None: + self.account = account + self.code = code + self.type = type + self.requirement = requirement + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('code', p.UVarintType, 0), + 3: ('type', p.UVarintType, 0), + 4: ('requirement', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosActionNewAccount.py b/python/trezorlib/messages/EosActionNewAccount.py new file mode 100644 index 000000000..819c51cf6 --- /dev/null +++ b/python/trezorlib/messages/EosActionNewAccount.py @@ -0,0 +1,29 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosAuthorization import EosAuthorization + + +class EosActionNewAccount(p.MessageType): + + def __init__( + self, + creator: int = None, + name: int = None, + owner: EosAuthorization = None, + active: EosAuthorization = None, + ) -> None: + self.creator = creator + self.name = name + self.owner = owner + self.active = active + + @classmethod + def get_fields(cls): + return { + 1: ('creator', p.UVarintType, 0), + 2: ('name', p.UVarintType, 0), + 3: ('owner', EosAuthorization, 0), + 4: ('active', EosAuthorization, 0), + } diff --git a/python/trezorlib/messages/EosActionRefund.py b/python/trezorlib/messages/EosActionRefund.py new file mode 100644 index 000000000..61c4b9449 --- /dev/null +++ b/python/trezorlib/messages/EosActionRefund.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosActionRefund(p.MessageType): + + def __init__( + self, + owner: int = None, + ) -> None: + self.owner = owner + + @classmethod + def get_fields(cls): + return { + 1: ('owner', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosActionSellRam.py b/python/trezorlib/messages/EosActionSellRam.py new file mode 100644 index 000000000..7124238cd --- /dev/null +++ b/python/trezorlib/messages/EosActionSellRam.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosActionSellRam(p.MessageType): + + def __init__( + self, + account: int = None, + bytes: int = None, + ) -> None: + self.account = account + self.bytes = bytes + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('bytes', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosActionTransfer.py b/python/trezorlib/messages/EosActionTransfer.py new file mode 100644 index 000000000..097d053c5 --- /dev/null +++ b/python/trezorlib/messages/EosActionTransfer.py @@ -0,0 +1,29 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosAsset import EosAsset + + +class EosActionTransfer(p.MessageType): + + def __init__( + self, + sender: int = None, + receiver: int = None, + quantity: EosAsset = None, + memo: str = None, + ) -> None: + self.sender = sender + self.receiver = receiver + self.quantity = quantity + self.memo = memo + + @classmethod + def get_fields(cls): + return { + 1: ('sender', p.UVarintType, 0), + 2: ('receiver', p.UVarintType, 0), + 3: ('quantity', EosAsset, 0), + 4: ('memo', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/EosActionUndelegate.py b/python/trezorlib/messages/EosActionUndelegate.py new file mode 100644 index 000000000..2c030e424 --- /dev/null +++ b/python/trezorlib/messages/EosActionUndelegate.py @@ -0,0 +1,29 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosAsset import EosAsset + + +class EosActionUndelegate(p.MessageType): + + def __init__( + self, + sender: int = None, + receiver: int = None, + net_quantity: EosAsset = None, + cpu_quantity: EosAsset = None, + ) -> None: + self.sender = sender + self.receiver = receiver + self.net_quantity = net_quantity + self.cpu_quantity = cpu_quantity + + @classmethod + def get_fields(cls): + return { + 1: ('sender', p.UVarintType, 0), + 2: ('receiver', p.UVarintType, 0), + 3: ('net_quantity', EosAsset, 0), + 4: ('cpu_quantity', EosAsset, 0), + } diff --git a/python/trezorlib/messages/EosActionUnknown.py b/python/trezorlib/messages/EosActionUnknown.py new file mode 100644 index 000000000..4a52af089 --- /dev/null +++ b/python/trezorlib/messages/EosActionUnknown.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosActionUnknown(p.MessageType): + + def __init__( + self, + data_size: int = None, + data_chunk: bytes = None, + ) -> None: + self.data_size = data_size + self.data_chunk = data_chunk + + @classmethod + def get_fields(cls): + return { + 1: ('data_size', p.UVarintType, 0), + 2: ('data_chunk', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/EosActionUnlinkAuth.py b/python/trezorlib/messages/EosActionUnlinkAuth.py new file mode 100644 index 000000000..b645bb21c --- /dev/null +++ b/python/trezorlib/messages/EosActionUnlinkAuth.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosActionUnlinkAuth(p.MessageType): + + def __init__( + self, + account: int = None, + code: int = None, + type: int = None, + ) -> None: + self.account = account + self.code = code + self.type = type + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('code', p.UVarintType, 0), + 3: ('type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosActionUpdateAuth.py b/python/trezorlib/messages/EosActionUpdateAuth.py new file mode 100644 index 000000000..e3b113bf5 --- /dev/null +++ b/python/trezorlib/messages/EosActionUpdateAuth.py @@ -0,0 +1,29 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosAuthorization import EosAuthorization + + +class EosActionUpdateAuth(p.MessageType): + + def __init__( + self, + account: int = None, + permission: int = None, + parent: int = None, + auth: EosAuthorization = None, + ) -> None: + self.account = account + self.permission = permission + self.parent = parent + self.auth = auth + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('permission', p.UVarintType, 0), + 3: ('parent', p.UVarintType, 0), + 4: ('auth', EosAuthorization, 0), + } diff --git a/python/trezorlib/messages/EosActionVoteProducer.py b/python/trezorlib/messages/EosActionVoteProducer.py new file mode 100644 index 000000000..82bfe4bfb --- /dev/null +++ b/python/trezorlib/messages/EosActionVoteProducer.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EosActionVoteProducer(p.MessageType): + + def __init__( + self, + voter: int = None, + proxy: int = None, + producers: List[int] = None, + ) -> None: + self.voter = voter + self.proxy = proxy + self.producers = producers if producers is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('voter', p.UVarintType, 0), + 2: ('proxy', p.UVarintType, 0), + 3: ('producers', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/EosAsset.py b/python/trezorlib/messages/EosAsset.py new file mode 100644 index 000000000..0e5f427ee --- /dev/null +++ b/python/trezorlib/messages/EosAsset.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosAsset(p.MessageType): + + def __init__( + self, + amount: int = None, + symbol: int = None, + ) -> None: + self.amount = amount + self.symbol = symbol + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.SVarintType, 0), + 2: ('symbol', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosAuthorization.py b/python/trezorlib/messages/EosAuthorization.py new file mode 100644 index 000000000..31e222ca5 --- /dev/null +++ b/python/trezorlib/messages/EosAuthorization.py @@ -0,0 +1,37 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosAuthorizationAccount import EosAuthorizationAccount +from .EosAuthorizationKey import EosAuthorizationKey +from .EosAuthorizationWait import EosAuthorizationWait + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EosAuthorization(p.MessageType): + + def __init__( + self, + threshold: int = None, + keys: List[EosAuthorizationKey] = None, + accounts: List[EosAuthorizationAccount] = None, + waits: List[EosAuthorizationWait] = None, + ) -> None: + self.threshold = threshold + self.keys = keys if keys is not None else [] + self.accounts = accounts if accounts is not None else [] + self.waits = waits if waits is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('threshold', p.UVarintType, 0), + 2: ('keys', EosAuthorizationKey, p.FLAG_REPEATED), + 3: ('accounts', EosAuthorizationAccount, p.FLAG_REPEATED), + 4: ('waits', EosAuthorizationWait, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/EosAuthorizationAccount.py b/python/trezorlib/messages/EosAuthorizationAccount.py new file mode 100644 index 000000000..75baac61a --- /dev/null +++ b/python/trezorlib/messages/EosAuthorizationAccount.py @@ -0,0 +1,23 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosPermissionLevel import EosPermissionLevel + + +class EosAuthorizationAccount(p.MessageType): + + def __init__( + self, + account: EosPermissionLevel = None, + weight: int = None, + ) -> None: + self.account = account + self.weight = weight + + @classmethod + def get_fields(cls): + return { + 1: ('account', EosPermissionLevel, 0), + 2: ('weight', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosAuthorizationKey.py b/python/trezorlib/messages/EosAuthorizationKey.py new file mode 100644 index 000000000..f66eb44d5 --- /dev/null +++ b/python/trezorlib/messages/EosAuthorizationKey.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EosAuthorizationKey(p.MessageType): + + def __init__( + self, + type: int = None, + key: bytes = None, + address_n: List[int] = None, + weight: int = None, + ) -> None: + self.type = type + self.key = key + self.address_n = address_n if address_n is not None else [] + self.weight = weight + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + 2: ('key', p.BytesType, 0), + 3: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 4: ('weight', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosAuthorizationWait.py b/python/trezorlib/messages/EosAuthorizationWait.py new file mode 100644 index 000000000..555b8900f --- /dev/null +++ b/python/trezorlib/messages/EosAuthorizationWait.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosAuthorizationWait(p.MessageType): + + def __init__( + self, + wait_sec: int = None, + weight: int = None, + ) -> None: + self.wait_sec = wait_sec + self.weight = weight + + @classmethod + def get_fields(cls): + return { + 1: ('wait_sec', p.UVarintType, 0), + 2: ('weight', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosGetPublicKey.py b/python/trezorlib/messages/EosGetPublicKey.py new file mode 100644 index 000000000..894ec1ed9 --- /dev/null +++ b/python/trezorlib/messages/EosGetPublicKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EosGetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 600 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/EosPermissionLevel.py b/python/trezorlib/messages/EosPermissionLevel.py new file mode 100644 index 000000000..b5a2335e7 --- /dev/null +++ b/python/trezorlib/messages/EosPermissionLevel.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosPermissionLevel(p.MessageType): + + def __init__( + self, + actor: int = None, + permission: int = None, + ) -> None: + self.actor = actor + self.permission = permission + + @classmethod + def get_fields(cls): + return { + 1: ('actor', p.UVarintType, 0), + 2: ('permission', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosPublicKey.py b/python/trezorlib/messages/EosPublicKey.py new file mode 100644 index 000000000..2be87351a --- /dev/null +++ b/python/trezorlib/messages/EosPublicKey.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 601 + + def __init__( + self, + wif_public_key: str = None, + raw_public_key: bytes = None, + ) -> None: + self.wif_public_key = wif_public_key + self.raw_public_key = raw_public_key + + @classmethod + def get_fields(cls): + return { + 1: ('wif_public_key', p.UnicodeType, 0), + 2: ('raw_public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/EosSignTx.py b/python/trezorlib/messages/EosSignTx.py new file mode 100644 index 000000000..79e600125 --- /dev/null +++ b/python/trezorlib/messages/EosSignTx.py @@ -0,0 +1,36 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosTxHeader import EosTxHeader + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EosSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 602 + + def __init__( + self, + address_n: List[int] = None, + chain_id: bytes = None, + header: EosTxHeader = None, + num_actions: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.chain_id = chain_id + self.header = header + self.num_actions = num_actions + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('chain_id', p.BytesType, 0), + 3: ('header', EosTxHeader, 0), + 4: ('num_actions', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosSignedTx.py b/python/trezorlib/messages/EosSignedTx.py new file mode 100644 index 000000000..79aee6e04 --- /dev/null +++ b/python/trezorlib/messages/EosSignedTx.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 605 + + def __init__( + self, + signature_v: int = None, + signature_r: bytes = None, + signature_s: bytes = None, + ) -> None: + self.signature_v = signature_v + self.signature_r = signature_r + self.signature_s = signature_s + + @classmethod + def get_fields(cls): + return { + 1: ('signature_v', p.UVarintType, 0), + 2: ('signature_r', p.BytesType, 0), + 3: ('signature_s', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/EosTxActionAck.py b/python/trezorlib/messages/EosTxActionAck.py new file mode 100644 index 000000000..646ea36e8 --- /dev/null +++ b/python/trezorlib/messages/EosTxActionAck.py @@ -0,0 +1,77 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .EosActionBuyRam import EosActionBuyRam +from .EosActionBuyRamBytes import EosActionBuyRamBytes +from .EosActionCommon import EosActionCommon +from .EosActionDelegate import EosActionDelegate +from .EosActionDeleteAuth import EosActionDeleteAuth +from .EosActionLinkAuth import EosActionLinkAuth +from .EosActionNewAccount import EosActionNewAccount +from .EosActionRefund import EosActionRefund +from .EosActionSellRam import EosActionSellRam +from .EosActionTransfer import EosActionTransfer +from .EosActionUndelegate import EosActionUndelegate +from .EosActionUnknown import EosActionUnknown +from .EosActionUnlinkAuth import EosActionUnlinkAuth +from .EosActionUpdateAuth import EosActionUpdateAuth +from .EosActionVoteProducer import EosActionVoteProducer + + +class EosTxActionAck(p.MessageType): + MESSAGE_WIRE_TYPE = 604 + + def __init__( + self, + common: EosActionCommon = None, + transfer: EosActionTransfer = None, + delegate: EosActionDelegate = None, + undelegate: EosActionUndelegate = None, + refund: EosActionRefund = None, + buy_ram: EosActionBuyRam = None, + buy_ram_bytes: EosActionBuyRamBytes = None, + sell_ram: EosActionSellRam = None, + vote_producer: EosActionVoteProducer = None, + update_auth: EosActionUpdateAuth = None, + delete_auth: EosActionDeleteAuth = None, + link_auth: EosActionLinkAuth = None, + unlink_auth: EosActionUnlinkAuth = None, + new_account: EosActionNewAccount = None, + unknown: EosActionUnknown = None, + ) -> None: + self.common = common + self.transfer = transfer + self.delegate = delegate + self.undelegate = undelegate + self.refund = refund + self.buy_ram = buy_ram + self.buy_ram_bytes = buy_ram_bytes + self.sell_ram = sell_ram + self.vote_producer = vote_producer + self.update_auth = update_auth + self.delete_auth = delete_auth + self.link_auth = link_auth + self.unlink_auth = unlink_auth + self.new_account = new_account + self.unknown = unknown + + @classmethod + def get_fields(cls): + return { + 1: ('common', EosActionCommon, 0), + 2: ('transfer', EosActionTransfer, 0), + 3: ('delegate', EosActionDelegate, 0), + 4: ('undelegate', EosActionUndelegate, 0), + 5: ('refund', EosActionRefund, 0), + 6: ('buy_ram', EosActionBuyRam, 0), + 7: ('buy_ram_bytes', EosActionBuyRamBytes, 0), + 8: ('sell_ram', EosActionSellRam, 0), + 9: ('vote_producer', EosActionVoteProducer, 0), + 10: ('update_auth', EosActionUpdateAuth, 0), + 11: ('delete_auth', EosActionDeleteAuth, 0), + 12: ('link_auth', EosActionLinkAuth, 0), + 13: ('unlink_auth', EosActionUnlinkAuth, 0), + 14: ('new_account', EosActionNewAccount, 0), + 15: ('unknown', EosActionUnknown, 0), + } diff --git a/python/trezorlib/messages/EosTxActionRequest.py b/python/trezorlib/messages/EosTxActionRequest.py new file mode 100644 index 000000000..347e097fb --- /dev/null +++ b/python/trezorlib/messages/EosTxActionRequest.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosTxActionRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 603 + + def __init__( + self, + data_size: int = None, + ) -> None: + self.data_size = data_size + + @classmethod + def get_fields(cls): + return { + 1: ('data_size', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EosTxHeader.py b/python/trezorlib/messages/EosTxHeader.py new file mode 100644 index 000000000..84c98d7af --- /dev/null +++ b/python/trezorlib/messages/EosTxHeader.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EosTxHeader(p.MessageType): + + def __init__( + self, + expiration: int = None, + ref_block_num: int = None, + ref_block_prefix: int = None, + max_net_usage_words: int = None, + max_cpu_usage_ms: int = None, + delay_sec: int = None, + ) -> None: + self.expiration = expiration + self.ref_block_num = ref_block_num + self.ref_block_prefix = ref_block_prefix + self.max_net_usage_words = max_net_usage_words + self.max_cpu_usage_ms = max_cpu_usage_ms + self.delay_sec = delay_sec + + @classmethod + def get_fields(cls): + return { + 1: ('expiration', p.UVarintType, 0), # required + 2: ('ref_block_num', p.UVarintType, 0), # required + 3: ('ref_block_prefix', p.UVarintType, 0), # required + 4: ('max_net_usage_words', p.UVarintType, 0), # required + 5: ('max_cpu_usage_ms', p.UVarintType, 0), # required + 6: ('delay_sec', p.UVarintType, 0), # required + } diff --git a/python/trezorlib/messages/EthereumAddress.py b/python/trezorlib/messages/EthereumAddress.py new file mode 100644 index 000000000..7bc16e380 --- /dev/null +++ b/python/trezorlib/messages/EthereumAddress.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EthereumAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 57 + + def __init__( + self, + old_address: bytes = None, + address: str = None, + ) -> None: + self.old_address = old_address + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('old_address', p.BytesType, 0), + 2: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/EthereumGetAddress.py b/python/trezorlib/messages/EthereumGetAddress.py new file mode 100644 index 000000000..661a86c37 --- /dev/null +++ b/python/trezorlib/messages/EthereumGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EthereumGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 56 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/EthereumGetPublicKey.py b/python/trezorlib/messages/EthereumGetPublicKey.py new file mode 100644 index 000000000..056467c81 --- /dev/null +++ b/python/trezorlib/messages/EthereumGetPublicKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EthereumGetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 450 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/EthereumMessageSignature.py b/python/trezorlib/messages/EthereumMessageSignature.py new file mode 100644 index 000000000..112edd355 --- /dev/null +++ b/python/trezorlib/messages/EthereumMessageSignature.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EthereumMessageSignature(p.MessageType): + MESSAGE_WIRE_TYPE = 66 + + def __init__( + self, + signature: bytes = None, + address: str = None, + ) -> None: + self.signature = signature + self.address = address + + @classmethod + def get_fields(cls): + return { + 2: ('signature', p.BytesType, 0), + 3: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/EthereumPublicKey.py b/python/trezorlib/messages/EthereumPublicKey.py new file mode 100644 index 000000000..c5684fd95 --- /dev/null +++ b/python/trezorlib/messages/EthereumPublicKey.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .HDNodeType import HDNodeType + + +class EthereumPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 451 + + def __init__( + self, + node: HDNodeType = None, + xpub: str = None, + ) -> None: + self.node = node + self.xpub = xpub + + @classmethod + def get_fields(cls): + return { + 1: ('node', HDNodeType, 0), + 2: ('xpub', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/EthereumSignMessage.py b/python/trezorlib/messages/EthereumSignMessage.py new file mode 100644 index 000000000..02c579c86 --- /dev/null +++ b/python/trezorlib/messages/EthereumSignMessage.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EthereumSignMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 64 + + def __init__( + self, + address_n: List[int] = None, + message: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('message', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/EthereumSignTx.py b/python/trezorlib/messages/EthereumSignTx.py new file mode 100644 index 000000000..c7611e81a --- /dev/null +++ b/python/trezorlib/messages/EthereumSignTx.py @@ -0,0 +1,52 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class EthereumSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 58 + + def __init__( + self, + address_n: List[int] = None, + nonce: bytes = None, + gas_price: bytes = None, + gas_limit: bytes = None, + to: str = None, + value: bytes = None, + data_initial_chunk: bytes = None, + data_length: int = None, + chain_id: int = None, + tx_type: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.nonce = nonce + self.gas_price = gas_price + self.gas_limit = gas_limit + self.to = to + self.value = value + self.data_initial_chunk = data_initial_chunk + self.data_length = data_length + self.chain_id = chain_id + self.tx_type = tx_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('nonce', p.BytesType, 0), + 3: ('gas_price', p.BytesType, 0), + 4: ('gas_limit', p.BytesType, 0), + 11: ('to', p.UnicodeType, 0), + 6: ('value', p.BytesType, 0), + 7: ('data_initial_chunk', p.BytesType, 0), + 8: ('data_length', p.UVarintType, 0), + 9: ('chain_id', p.UVarintType, 0), + 10: ('tx_type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/EthereumTxAck.py b/python/trezorlib/messages/EthereumTxAck.py new file mode 100644 index 000000000..5355e781a --- /dev/null +++ b/python/trezorlib/messages/EthereumTxAck.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EthereumTxAck(p.MessageType): + MESSAGE_WIRE_TYPE = 60 + + def __init__( + self, + data_chunk: bytes = None, + ) -> None: + self.data_chunk = data_chunk + + @classmethod + def get_fields(cls): + return { + 1: ('data_chunk', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/EthereumTxRequest.py b/python/trezorlib/messages/EthereumTxRequest.py new file mode 100644 index 000000000..363a5f825 --- /dev/null +++ b/python/trezorlib/messages/EthereumTxRequest.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EthereumTxRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 59 + + def __init__( + self, + data_length: int = None, + signature_v: int = None, + signature_r: bytes = None, + signature_s: bytes = None, + ) -> None: + self.data_length = data_length + self.signature_v = signature_v + self.signature_r = signature_r + self.signature_s = signature_s + + @classmethod + def get_fields(cls): + return { + 1: ('data_length', p.UVarintType, 0), + 2: ('signature_v', p.UVarintType, 0), + 3: ('signature_r', p.BytesType, 0), + 4: ('signature_s', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/EthereumVerifyMessage.py b/python/trezorlib/messages/EthereumVerifyMessage.py new file mode 100644 index 000000000..00e74fac4 --- /dev/null +++ b/python/trezorlib/messages/EthereumVerifyMessage.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class EthereumVerifyMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 65 + + def __init__( + self, + signature: bytes = None, + message: bytes = None, + address: str = None, + ) -> None: + self.signature = signature + self.message = message + self.address = address + + @classmethod + def get_fields(cls): + return { + 2: ('signature', p.BytesType, 0), + 3: ('message', p.BytesType, 0), + 4: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/Failure.py b/python/trezorlib/messages/Failure.py new file mode 100644 index 000000000..2753763c7 --- /dev/null +++ b/python/trezorlib/messages/Failure.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Failure(p.MessageType): + MESSAGE_WIRE_TYPE = 3 + + def __init__( + self, + code: int = None, + message: str = None, + ) -> None: + self.code = code + self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('code', p.UVarintType, 0), + 2: ('message', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/FailureType.py b/python/trezorlib/messages/FailureType.py new file mode 100644 index 000000000..6f5cffe18 --- /dev/null +++ b/python/trezorlib/messages/FailureType.py @@ -0,0 +1,15 @@ +# Automatically generated by pb2py +# fmt: off +UnexpectedMessage = 1 +ButtonExpected = 2 +DataError = 3 +ActionCancelled = 4 +PinExpected = 5 +PinCancelled = 6 +PinInvalid = 7 +InvalidSignature = 8 +ProcessError = 9 +NotEnoughFunds = 10 +NotInitialized = 11 +PinMismatch = 12 +FirmwareError = 99 diff --git a/python/trezorlib/messages/Features.py b/python/trezorlib/messages/Features.py new file mode 100644 index 000000000..c36431a5c --- /dev/null +++ b/python/trezorlib/messages/Features.py @@ -0,0 +1,97 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Features(p.MessageType): + MESSAGE_WIRE_TYPE = 17 + + def __init__( + self, + vendor: str = None, + major_version: int = None, + minor_version: int = None, + patch_version: int = None, + bootloader_mode: bool = None, + device_id: str = None, + pin_protection: bool = None, + passphrase_protection: bool = None, + language: str = None, + label: str = None, + initialized: bool = None, + revision: bytes = None, + bootloader_hash: bytes = None, + imported: bool = None, + pin_cached: bool = None, + passphrase_cached: bool = None, + firmware_present: bool = None, + needs_backup: bool = None, + flags: int = None, + model: str = None, + fw_major: int = None, + fw_minor: int = None, + fw_patch: int = None, + fw_vendor: str = None, + fw_vendor_keys: bytes = None, + unfinished_backup: bool = None, + no_backup: bool = None, + ) -> None: + self.vendor = vendor + self.major_version = major_version + self.minor_version = minor_version + self.patch_version = patch_version + self.bootloader_mode = bootloader_mode + self.device_id = device_id + self.pin_protection = pin_protection + self.passphrase_protection = passphrase_protection + self.language = language + self.label = label + self.initialized = initialized + self.revision = revision + self.bootloader_hash = bootloader_hash + self.imported = imported + self.pin_cached = pin_cached + self.passphrase_cached = passphrase_cached + self.firmware_present = firmware_present + self.needs_backup = needs_backup + self.flags = flags + self.model = model + self.fw_major = fw_major + self.fw_minor = fw_minor + self.fw_patch = fw_patch + self.fw_vendor = fw_vendor + self.fw_vendor_keys = fw_vendor_keys + self.unfinished_backup = unfinished_backup + self.no_backup = no_backup + + @classmethod + def get_fields(cls): + return { + 1: ('vendor', p.UnicodeType, 0), + 2: ('major_version', p.UVarintType, 0), + 3: ('minor_version', p.UVarintType, 0), + 4: ('patch_version', p.UVarintType, 0), + 5: ('bootloader_mode', p.BoolType, 0), + 6: ('device_id', p.UnicodeType, 0), + 7: ('pin_protection', p.BoolType, 0), + 8: ('passphrase_protection', p.BoolType, 0), + 9: ('language', p.UnicodeType, 0), + 10: ('label', p.UnicodeType, 0), + 12: ('initialized', p.BoolType, 0), + 13: ('revision', p.BytesType, 0), + 14: ('bootloader_hash', p.BytesType, 0), + 15: ('imported', p.BoolType, 0), + 16: ('pin_cached', p.BoolType, 0), + 17: ('passphrase_cached', p.BoolType, 0), + 18: ('firmware_present', p.BoolType, 0), + 19: ('needs_backup', p.BoolType, 0), + 20: ('flags', p.UVarintType, 0), + 21: ('model', p.UnicodeType, 0), + 22: ('fw_major', p.UVarintType, 0), + 23: ('fw_minor', p.UVarintType, 0), + 24: ('fw_patch', p.UVarintType, 0), + 25: ('fw_vendor', p.UnicodeType, 0), + 26: ('fw_vendor_keys', p.BytesType, 0), + 27: ('unfinished_backup', p.BoolType, 0), + 28: ('no_backup', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/FirmwareErase.py b/python/trezorlib/messages/FirmwareErase.py new file mode 100644 index 000000000..c07c2f910 --- /dev/null +++ b/python/trezorlib/messages/FirmwareErase.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class FirmwareErase(p.MessageType): + MESSAGE_WIRE_TYPE = 6 + + def __init__( + self, + length: int = None, + ) -> None: + self.length = length + + @classmethod + def get_fields(cls): + return { + 1: ('length', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/FirmwareRequest.py b/python/trezorlib/messages/FirmwareRequest.py new file mode 100644 index 000000000..13ba2ce1b --- /dev/null +++ b/python/trezorlib/messages/FirmwareRequest.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class FirmwareRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 8 + + def __init__( + self, + offset: int = None, + length: int = None, + ) -> None: + self.offset = offset + self.length = length + + @classmethod + def get_fields(cls): + return { + 1: ('offset', p.UVarintType, 0), + 2: ('length', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/FirmwareUpload.py b/python/trezorlib/messages/FirmwareUpload.py new file mode 100644 index 000000000..217273ed6 --- /dev/null +++ b/python/trezorlib/messages/FirmwareUpload.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class FirmwareUpload(p.MessageType): + MESSAGE_WIRE_TYPE = 7 + + def __init__( + self, + payload: bytes = None, + hash: bytes = None, + ) -> None: + self.payload = payload + self.hash = hash + + @classmethod + def get_fields(cls): + return { + 1: ('payload', p.BytesType, 0), # required + 2: ('hash', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/GetAddress.py b/python/trezorlib/messages/GetAddress.py new file mode 100644 index 000000000..ce876512a --- /dev/null +++ b/python/trezorlib/messages/GetAddress.py @@ -0,0 +1,39 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MultisigRedeemScriptType import MultisigRedeemScriptType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class GetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 29 + + def __init__( + self, + address_n: List[int] = None, + coin_name: str = None, + show_display: bool = None, + multisig: MultisigRedeemScriptType = None, + script_type: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.coin_name = coin_name + self.show_display = show_display + self.multisig = multisig + self.script_type = script_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 3: ('show_display', p.BoolType, 0), + 4: ('multisig', MultisigRedeemScriptType, 0), + 5: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + } diff --git a/python/trezorlib/messages/GetECDHSessionKey.py b/python/trezorlib/messages/GetECDHSessionKey.py new file mode 100644 index 000000000..bbf94d6e9 --- /dev/null +++ b/python/trezorlib/messages/GetECDHSessionKey.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .IdentityType import IdentityType + + +class GetECDHSessionKey(p.MessageType): + MESSAGE_WIRE_TYPE = 61 + + def __init__( + self, + identity: IdentityType = None, + peer_public_key: bytes = None, + ecdsa_curve_name: str = None, + ) -> None: + self.identity = identity + self.peer_public_key = peer_public_key + self.ecdsa_curve_name = ecdsa_curve_name + + @classmethod + def get_fields(cls): + return { + 1: ('identity', IdentityType, 0), + 2: ('peer_public_key', p.BytesType, 0), + 3: ('ecdsa_curve_name', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/GetEntropy.py b/python/trezorlib/messages/GetEntropy.py new file mode 100644 index 000000000..0a606c7d8 --- /dev/null +++ b/python/trezorlib/messages/GetEntropy.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class GetEntropy(p.MessageType): + MESSAGE_WIRE_TYPE = 9 + + def __init__( + self, + size: int = None, + ) -> None: + self.size = size + + @classmethod + def get_fields(cls): + return { + 1: ('size', p.UVarintType, 0), # required + } diff --git a/python/trezorlib/messages/GetFeatures.py b/python/trezorlib/messages/GetFeatures.py new file mode 100644 index 000000000..bdbcab35b --- /dev/null +++ b/python/trezorlib/messages/GetFeatures.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class GetFeatures(p.MessageType): + MESSAGE_WIRE_TYPE = 55 diff --git a/python/trezorlib/messages/GetPublicKey.py b/python/trezorlib/messages/GetPublicKey.py new file mode 100644 index 000000000..f488eb662 --- /dev/null +++ b/python/trezorlib/messages/GetPublicKey.py @@ -0,0 +1,37 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class GetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 11 + + def __init__( + self, + address_n: List[int] = None, + ecdsa_curve_name: str = None, + show_display: bool = None, + coin_name: str = None, + script_type: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.ecdsa_curve_name = ecdsa_curve_name + self.show_display = show_display + self.coin_name = coin_name + self.script_type = script_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('ecdsa_curve_name', p.UnicodeType, 0), + 3: ('show_display', p.BoolType, 0), + 4: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 5: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + } diff --git a/python/trezorlib/messages/HDNodePathType.py b/python/trezorlib/messages/HDNodePathType.py new file mode 100644 index 000000000..3e275acb4 --- /dev/null +++ b/python/trezorlib/messages/HDNodePathType.py @@ -0,0 +1,29 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .HDNodeType import HDNodeType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class HDNodePathType(p.MessageType): + + def __init__( + self, + node: HDNodeType = None, + address_n: List[int] = None, + ) -> None: + self.node = node + self.address_n = address_n if address_n is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('node', HDNodeType, 0), # required + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/HDNodeType.py b/python/trezorlib/messages/HDNodeType.py new file mode 100644 index 000000000..4577532b7 --- /dev/null +++ b/python/trezorlib/messages/HDNodeType.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class HDNodeType(p.MessageType): + + def __init__( + self, + depth: int = None, + fingerprint: int = None, + child_num: int = None, + chain_code: bytes = None, + private_key: bytes = None, + public_key: bytes = None, + ) -> None: + self.depth = depth + self.fingerprint = fingerprint + self.child_num = child_num + self.chain_code = chain_code + self.private_key = private_key + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('depth', p.UVarintType, 0), # required + 2: ('fingerprint', p.UVarintType, 0), # required + 3: ('child_num', p.UVarintType, 0), # required + 4: ('chain_code', p.BytesType, 0), # required + 5: ('private_key', p.BytesType, 0), + 6: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/IdentityType.py b/python/trezorlib/messages/IdentityType.py new file mode 100644 index 000000000..1e5125b84 --- /dev/null +++ b/python/trezorlib/messages/IdentityType.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class IdentityType(p.MessageType): + + def __init__( + self, + proto: str = None, + user: str = None, + host: str = None, + port: str = None, + path: str = None, + index: int = None, + ) -> None: + self.proto = proto + self.user = user + self.host = host + self.port = port + self.path = path + self.index = index + + @classmethod + def get_fields(cls): + return { + 1: ('proto', p.UnicodeType, 0), + 2: ('user', p.UnicodeType, 0), + 3: ('host', p.UnicodeType, 0), + 4: ('port', p.UnicodeType, 0), + 5: ('path', p.UnicodeType, 0), + 6: ('index', p.UVarintType, 0), # default=0 + } diff --git a/python/trezorlib/messages/Initialize.py b/python/trezorlib/messages/Initialize.py new file mode 100644 index 000000000..01663d74a --- /dev/null +++ b/python/trezorlib/messages/Initialize.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Initialize(p.MessageType): + MESSAGE_WIRE_TYPE = 0 + + def __init__( + self, + state: bytes = None, + skip_passphrase: bool = None, + ) -> None: + self.state = state + self.skip_passphrase = skip_passphrase + + @classmethod + def get_fields(cls): + return { + 1: ('state', p.BytesType, 0), + 2: ('skip_passphrase', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/InputScriptType.py b/python/trezorlib/messages/InputScriptType.py new file mode 100644 index 000000000..09b8332cb --- /dev/null +++ b/python/trezorlib/messages/InputScriptType.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +SPENDADDRESS = 0 +SPENDMULTISIG = 1 +EXTERNAL = 2 +SPENDWITNESS = 3 +SPENDP2SHWITNESS = 4 diff --git a/python/trezorlib/messages/LiskAddress.py b/python/trezorlib/messages/LiskAddress.py new file mode 100644 index 000000000..e449fc6ea --- /dev/null +++ b/python/trezorlib/messages/LiskAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class LiskAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 115 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/LiskDelegateType.py b/python/trezorlib/messages/LiskDelegateType.py new file mode 100644 index 000000000..8354611dd --- /dev/null +++ b/python/trezorlib/messages/LiskDelegateType.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class LiskDelegateType(p.MessageType): + + def __init__( + self, + username: str = None, + ) -> None: + self.username = username + + @classmethod + def get_fields(cls): + return { + 1: ('username', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/LiskGetAddress.py b/python/trezorlib/messages/LiskGetAddress.py new file mode 100644 index 000000000..37356b725 --- /dev/null +++ b/python/trezorlib/messages/LiskGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class LiskGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 114 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/LiskGetPublicKey.py b/python/trezorlib/messages/LiskGetPublicKey.py new file mode 100644 index 000000000..e8fea3905 --- /dev/null +++ b/python/trezorlib/messages/LiskGetPublicKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class LiskGetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 121 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/LiskMessageSignature.py b/python/trezorlib/messages/LiskMessageSignature.py new file mode 100644 index 000000000..f4d12d46d --- /dev/null +++ b/python/trezorlib/messages/LiskMessageSignature.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class LiskMessageSignature(p.MessageType): + MESSAGE_WIRE_TYPE = 119 + + def __init__( + self, + public_key: bytes = None, + signature: bytes = None, + ) -> None: + self.public_key = public_key + self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/LiskMultisignatureType.py b/python/trezorlib/messages/LiskMultisignatureType.py new file mode 100644 index 000000000..c20dd86f8 --- /dev/null +++ b/python/trezorlib/messages/LiskMultisignatureType.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class LiskMultisignatureType(p.MessageType): + + def __init__( + self, + min: int = None, + life_time: int = None, + keys_group: List[str] = None, + ) -> None: + self.min = min + self.life_time = life_time + self.keys_group = keys_group if keys_group is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('min', p.UVarintType, 0), + 2: ('life_time', p.UVarintType, 0), + 3: ('keys_group', p.UnicodeType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/LiskPublicKey.py b/python/trezorlib/messages/LiskPublicKey.py new file mode 100644 index 000000000..fcd86b20e --- /dev/null +++ b/python/trezorlib/messages/LiskPublicKey.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class LiskPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 122 + + def __init__( + self, + public_key: bytes = None, + ) -> None: + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/LiskSignMessage.py b/python/trezorlib/messages/LiskSignMessage.py new file mode 100644 index 000000000..200f3a2fe --- /dev/null +++ b/python/trezorlib/messages/LiskSignMessage.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class LiskSignMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 118 + + def __init__( + self, + address_n: List[int] = None, + message: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('message', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/LiskSignTx.py b/python/trezorlib/messages/LiskSignTx.py new file mode 100644 index 000000000..7f96c7784 --- /dev/null +++ b/python/trezorlib/messages/LiskSignTx.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .LiskTransactionCommon import LiskTransactionCommon + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class LiskSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 116 + + def __init__( + self, + address_n: List[int] = None, + transaction: LiskTransactionCommon = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.transaction = transaction + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', LiskTransactionCommon, 0), + } diff --git a/python/trezorlib/messages/LiskSignatureType.py b/python/trezorlib/messages/LiskSignatureType.py new file mode 100644 index 000000000..e5acacc4d --- /dev/null +++ b/python/trezorlib/messages/LiskSignatureType.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class LiskSignatureType(p.MessageType): + + def __init__( + self, + public_key: bytes = None, + ) -> None: + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/LiskSignedTx.py b/python/trezorlib/messages/LiskSignedTx.py new file mode 100644 index 000000000..80c700738 --- /dev/null +++ b/python/trezorlib/messages/LiskSignedTx.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class LiskSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 117 + + def __init__( + self, + signature: bytes = None, + ) -> None: + self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/LiskTransactionAsset.py b/python/trezorlib/messages/LiskTransactionAsset.py new file mode 100644 index 000000000..a126bb40d --- /dev/null +++ b/python/trezorlib/messages/LiskTransactionAsset.py @@ -0,0 +1,40 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .LiskDelegateType import LiskDelegateType +from .LiskMultisignatureType import LiskMultisignatureType +from .LiskSignatureType import LiskSignatureType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class LiskTransactionAsset(p.MessageType): + + def __init__( + self, + signature: LiskSignatureType = None, + delegate: LiskDelegateType = None, + votes: List[str] = None, + multisignature: LiskMultisignatureType = None, + data: str = None, + ) -> None: + self.signature = signature + self.delegate = delegate + self.votes = votes if votes is not None else [] + self.multisignature = multisignature + self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('signature', LiskSignatureType, 0), + 2: ('delegate', LiskDelegateType, 0), + 3: ('votes', p.UnicodeType, p.FLAG_REPEATED), + 4: ('multisignature', LiskMultisignatureType, 0), + 5: ('data', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/LiskTransactionCommon.py b/python/trezorlib/messages/LiskTransactionCommon.py new file mode 100644 index 000000000..c3c4dc60d --- /dev/null +++ b/python/trezorlib/messages/LiskTransactionCommon.py @@ -0,0 +1,44 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .LiskTransactionAsset import LiskTransactionAsset + + +class LiskTransactionCommon(p.MessageType): + + def __init__( + self, + type: int = None, + amount: int = None, + fee: int = None, + recipient_id: str = None, + sender_public_key: bytes = None, + requester_public_key: bytes = None, + signature: bytes = None, + timestamp: int = None, + asset: LiskTransactionAsset = None, + ) -> None: + self.type = type + self.amount = amount + self.fee = fee + self.recipient_id = recipient_id + self.sender_public_key = sender_public_key + self.requester_public_key = requester_public_key + self.signature = signature + self.timestamp = timestamp + self.asset = asset + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + 2: ('amount', p.UVarintType, 0), # default=0 + 3: ('fee', p.UVarintType, 0), + 4: ('recipient_id', p.UnicodeType, 0), + 5: ('sender_public_key', p.BytesType, 0), + 6: ('requester_public_key', p.BytesType, 0), + 7: ('signature', p.BytesType, 0), + 8: ('timestamp', p.UVarintType, 0), + 9: ('asset', LiskTransactionAsset, 0), + } diff --git a/python/trezorlib/messages/LiskTransactionType.py b/python/trezorlib/messages/LiskTransactionType.py new file mode 100644 index 000000000..04847eed7 --- /dev/null +++ b/python/trezorlib/messages/LiskTransactionType.py @@ -0,0 +1,10 @@ +# Automatically generated by pb2py +# fmt: off +Transfer = 0 +RegisterSecondPassphrase = 1 +RegisterDelegate = 2 +CastVotes = 3 +RegisterMultisignatureAccount = 4 +CreateDapp = 5 +TransferIntoDapp = 6 +TransferOutOfDapp = 7 diff --git a/python/trezorlib/messages/LiskVerifyMessage.py b/python/trezorlib/messages/LiskVerifyMessage.py new file mode 100644 index 000000000..0791489fa --- /dev/null +++ b/python/trezorlib/messages/LiskVerifyMessage.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class LiskVerifyMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 120 + + def __init__( + self, + public_key: bytes = None, + signature: bytes = None, + message: bytes = None, + ) -> None: + self.public_key = public_key + self.signature = signature + self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + 3: ('message', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/LoadDevice.py b/python/trezorlib/messages/LoadDevice.py new file mode 100644 index 000000000..534563cb0 --- /dev/null +++ b/python/trezorlib/messages/LoadDevice.py @@ -0,0 +1,42 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .HDNodeType import HDNodeType + + +class LoadDevice(p.MessageType): + MESSAGE_WIRE_TYPE = 13 + + def __init__( + self, + mnemonic: str = None, + node: HDNodeType = None, + pin: str = None, + passphrase_protection: bool = None, + language: str = None, + label: str = None, + skip_checksum: bool = None, + u2f_counter: int = None, + ) -> None: + self.mnemonic = mnemonic + self.node = node + self.pin = pin + self.passphrase_protection = passphrase_protection + self.language = language + self.label = label + self.skip_checksum = skip_checksum + self.u2f_counter = u2f_counter + + @classmethod + def get_fields(cls): + return { + 1: ('mnemonic', p.UnicodeType, 0), + 2: ('node', HDNodeType, 0), + 3: ('pin', p.UnicodeType, 0), + 4: ('passphrase_protection', p.BoolType, 0), + 5: ('language', p.UnicodeType, 0), # default=english + 6: ('label', p.UnicodeType, 0), + 7: ('skip_checksum', p.BoolType, 0), + 8: ('u2f_counter', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MessageSignature.py b/python/trezorlib/messages/MessageSignature.py new file mode 100644 index 000000000..70aa8416b --- /dev/null +++ b/python/trezorlib/messages/MessageSignature.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MessageSignature(p.MessageType): + MESSAGE_WIRE_TYPE = 40 + + def __init__( + self, + address: str = None, + signature: bytes = None, + ) -> None: + self.address = address + self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MessageType.py b/python/trezorlib/messages/MessageType.py new file mode 100644 index 000000000..e7a21ff7d --- /dev/null +++ b/python/trezorlib/messages/MessageType.py @@ -0,0 +1,195 @@ +# Automatically generated by pb2py +# fmt: off +Initialize = 0 +Ping = 1 +Success = 2 +Failure = 3 +ChangePin = 4 +WipeDevice = 5 +GetEntropy = 9 +Entropy = 10 +LoadDevice = 13 +ResetDevice = 14 +Features = 17 +PinMatrixRequest = 18 +PinMatrixAck = 19 +Cancel = 20 +ClearSession = 24 +ApplySettings = 25 +ButtonRequest = 26 +ButtonAck = 27 +ApplyFlags = 28 +BackupDevice = 34 +EntropyRequest = 35 +EntropyAck = 36 +PassphraseRequest = 41 +PassphraseAck = 42 +PassphraseStateRequest = 77 +PassphraseStateAck = 78 +RecoveryDevice = 45 +WordRequest = 46 +WordAck = 47 +GetFeatures = 55 +SetU2FCounter = 63 +FirmwareErase = 6 +FirmwareUpload = 7 +FirmwareRequest = 8 +SelfTest = 32 +GetPublicKey = 11 +PublicKey = 12 +SignTx = 15 +TxRequest = 21 +TxAck = 22 +GetAddress = 29 +Address = 30 +SignMessage = 38 +VerifyMessage = 39 +MessageSignature = 40 +CipherKeyValue = 23 +CipheredKeyValue = 48 +SignIdentity = 53 +SignedIdentity = 54 +GetECDHSessionKey = 61 +ECDHSessionKey = 62 +CosiCommit = 71 +CosiCommitment = 72 +CosiSign = 73 +CosiSignature = 74 +DebugLinkDecision = 100 +DebugLinkGetState = 101 +DebugLinkState = 102 +DebugLinkStop = 103 +DebugLinkLog = 104 +DebugLinkMemoryRead = 110 +DebugLinkMemory = 111 +DebugLinkMemoryWrite = 112 +DebugLinkFlashErase = 113 +EthereumGetPublicKey = 450 +EthereumPublicKey = 451 +EthereumGetAddress = 56 +EthereumAddress = 57 +EthereumSignTx = 58 +EthereumTxRequest = 59 +EthereumTxAck = 60 +EthereumSignMessage = 64 +EthereumVerifyMessage = 65 +EthereumMessageSignature = 66 +NEMGetAddress = 67 +NEMAddress = 68 +NEMSignTx = 69 +NEMSignedTx = 70 +NEMDecryptMessage = 75 +NEMDecryptedMessage = 76 +LiskGetAddress = 114 +LiskAddress = 115 +LiskSignTx = 116 +LiskSignedTx = 117 +LiskSignMessage = 118 +LiskMessageSignature = 119 +LiskVerifyMessage = 120 +LiskGetPublicKey = 121 +LiskPublicKey = 122 +TezosGetAddress = 150 +TezosAddress = 151 +TezosSignTx = 152 +TezosSignedTx = 153 +TezosGetPublicKey = 154 +TezosPublicKey = 155 +StellarSignTx = 202 +StellarTxOpRequest = 203 +StellarGetAddress = 207 +StellarAddress = 208 +StellarCreateAccountOp = 210 +StellarPaymentOp = 211 +StellarPathPaymentOp = 212 +StellarManageOfferOp = 213 +StellarCreatePassiveOfferOp = 214 +StellarSetOptionsOp = 215 +StellarChangeTrustOp = 216 +StellarAllowTrustOp = 217 +StellarAccountMergeOp = 218 +StellarManageDataOp = 220 +StellarBumpSequenceOp = 221 +StellarSignedTx = 230 +TronGetAddress = 250 +TronAddress = 251 +TronSignTx = 252 +TronSignedTx = 253 +CardanoSignTx = 303 +CardanoTxRequest = 304 +CardanoGetPublicKey = 305 +CardanoPublicKey = 306 +CardanoGetAddress = 307 +CardanoAddress = 308 +CardanoTxAck = 309 +CardanoSignedTx = 310 +OntologyGetAddress = 350 +OntologyAddress = 351 +OntologyGetPublicKey = 352 +OntologyPublicKey = 353 +OntologySignTransfer = 354 +OntologySignedTransfer = 355 +OntologySignWithdrawOng = 356 +OntologySignedWithdrawOng = 357 +OntologySignOntIdRegister = 358 +OntologySignedOntIdRegister = 359 +OntologySignOntIdAddAttributes = 360 +OntologySignedOntIdAddAttributes = 361 +RippleGetAddress = 400 +RippleAddress = 401 +RippleSignTx = 402 +RippleSignedTx = 403 +MoneroTransactionInitRequest = 501 +MoneroTransactionInitAck = 502 +MoneroTransactionSetInputRequest = 503 +MoneroTransactionSetInputAck = 504 +MoneroTransactionInputsPermutationRequest = 505 +MoneroTransactionInputsPermutationAck = 506 +MoneroTransactionInputViniRequest = 507 +MoneroTransactionInputViniAck = 508 +MoneroTransactionAllInputsSetRequest = 509 +MoneroTransactionAllInputsSetAck = 510 +MoneroTransactionSetOutputRequest = 511 +MoneroTransactionSetOutputAck = 512 +MoneroTransactionAllOutSetRequest = 513 +MoneroTransactionAllOutSetAck = 514 +MoneroTransactionSignInputRequest = 515 +MoneroTransactionSignInputAck = 516 +MoneroTransactionFinalRequest = 517 +MoneroTransactionFinalAck = 518 +MoneroKeyImageExportInitRequest = 530 +MoneroKeyImageExportInitAck = 531 +MoneroKeyImageSyncStepRequest = 532 +MoneroKeyImageSyncStepAck = 533 +MoneroKeyImageSyncFinalRequest = 534 +MoneroKeyImageSyncFinalAck = 535 +MoneroGetAddress = 540 +MoneroAddress = 541 +MoneroGetWatchKey = 542 +MoneroWatchKey = 543 +DebugMoneroDiagRequest = 546 +DebugMoneroDiagAck = 547 +MoneroGetTxKeyRequest = 550 +MoneroGetTxKeyAck = 551 +MoneroLiveRefreshStartRequest = 552 +MoneroLiveRefreshStartAck = 553 +MoneroLiveRefreshStepRequest = 554 +MoneroLiveRefreshStepAck = 555 +MoneroLiveRefreshFinalRequest = 556 +MoneroLiveRefreshFinalAck = 557 +EosGetPublicKey = 600 +EosPublicKey = 601 +EosSignTx = 602 +EosTxActionRequest = 603 +EosTxActionAck = 604 +EosSignedTx = 605 +BinanceGetAddress = 700 +BinanceAddress = 701 +BinanceGetPublicKey = 702 +BinancePublicKey = 703 +BinanceSignTx = 704 +BinanceTxRequest = 705 +BinanceTransferMsg = 706 +BinanceOrderMsg = 707 +BinanceCancelMsg = 708 +BinanceSignedTx = 709 diff --git a/python/trezorlib/messages/MoneroAccountPublicAddress.py b/python/trezorlib/messages/MoneroAccountPublicAddress.py new file mode 100644 index 000000000..5335603b2 --- /dev/null +++ b/python/trezorlib/messages/MoneroAccountPublicAddress.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroAccountPublicAddress(p.MessageType): + + def __init__( + self, + spend_public_key: bytes = None, + view_public_key: bytes = None, + ) -> None: + self.spend_public_key = spend_public_key + self.view_public_key = view_public_key + + @classmethod + def get_fields(cls): + return { + 1: ('spend_public_key', p.BytesType, 0), + 2: ('view_public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroAddress.py b/python/trezorlib/messages/MoneroAddress.py new file mode 100644 index 000000000..e576454e9 --- /dev/null +++ b/python/trezorlib/messages/MoneroAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 541 + + def __init__( + self, + address: bytes = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroExportedKeyImage.py b/python/trezorlib/messages/MoneroExportedKeyImage.py new file mode 100644 index 000000000..d4a877214 --- /dev/null +++ b/python/trezorlib/messages/MoneroExportedKeyImage.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroExportedKeyImage(p.MessageType): + + def __init__( + self, + iv: bytes = None, + blob: bytes = None, + ) -> None: + self.iv = iv + self.blob = blob + + @classmethod + def get_fields(cls): + return { + 1: ('iv', p.BytesType, 0), + 3: ('blob', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroGetAddress.py b/python/trezorlib/messages/MoneroGetAddress.py new file mode 100644 index 000000000..112369b8a --- /dev/null +++ b/python/trezorlib/messages/MoneroGetAddress.py @@ -0,0 +1,37 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 540 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + network_type: int = None, + account: int = None, + minor: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + self.network_type = network_type + self.account = account + self.minor = minor + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + 3: ('network_type', p.UVarintType, 0), + 4: ('account', p.UVarintType, 0), + 5: ('minor', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MoneroGetTxKeyAck.py b/python/trezorlib/messages/MoneroGetTxKeyAck.py new file mode 100644 index 000000000..5aa141fcd --- /dev/null +++ b/python/trezorlib/messages/MoneroGetTxKeyAck.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroGetTxKeyAck(p.MessageType): + MESSAGE_WIRE_TYPE = 551 + + def __init__( + self, + salt: bytes = None, + tx_keys: bytes = None, + tx_derivations: bytes = None, + ) -> None: + self.salt = salt + self.tx_keys = tx_keys + self.tx_derivations = tx_derivations + + @classmethod + def get_fields(cls): + return { + 1: ('salt', p.BytesType, 0), + 2: ('tx_keys', p.BytesType, 0), + 3: ('tx_derivations', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroGetTxKeyRequest.py b/python/trezorlib/messages/MoneroGetTxKeyRequest.py new file mode 100644 index 000000000..68e2a6892 --- /dev/null +++ b/python/trezorlib/messages/MoneroGetTxKeyRequest.py @@ -0,0 +1,46 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroGetTxKeyRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 550 + + def __init__( + self, + address_n: List[int] = None, + network_type: int = None, + salt1: bytes = None, + salt2: bytes = None, + tx_enc_keys: bytes = None, + tx_prefix_hash: bytes = None, + reason: int = None, + view_public_key: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.network_type = network_type + self.salt1 = salt1 + self.salt2 = salt2 + self.tx_enc_keys = tx_enc_keys + self.tx_prefix_hash = tx_prefix_hash + self.reason = reason + self.view_public_key = view_public_key + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network_type', p.UVarintType, 0), + 3: ('salt1', p.BytesType, 0), + 4: ('salt2', p.BytesType, 0), + 5: ('tx_enc_keys', p.BytesType, 0), + 6: ('tx_prefix_hash', p.BytesType, 0), + 7: ('reason', p.UVarintType, 0), + 8: ('view_public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroGetWatchKey.py b/python/trezorlib/messages/MoneroGetWatchKey.py new file mode 100644 index 000000000..924e4b88a --- /dev/null +++ b/python/trezorlib/messages/MoneroGetWatchKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroGetWatchKey(p.MessageType): + MESSAGE_WIRE_TYPE = 542 + + def __init__( + self, + address_n: List[int] = None, + network_type: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.network_type = network_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network_type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MoneroKeyImageExportInitAck.py b/python/trezorlib/messages/MoneroKeyImageExportInitAck.py new file mode 100644 index 000000000..d6b2b8afa --- /dev/null +++ b/python/trezorlib/messages/MoneroKeyImageExportInitAck.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroKeyImageExportInitAck(p.MessageType): + MESSAGE_WIRE_TYPE = 531 diff --git a/python/trezorlib/messages/MoneroKeyImageExportInitRequest.py b/python/trezorlib/messages/MoneroKeyImageExportInitRequest.py new file mode 100644 index 000000000..23600769d --- /dev/null +++ b/python/trezorlib/messages/MoneroKeyImageExportInitRequest.py @@ -0,0 +1,39 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroSubAddressIndicesList import MoneroSubAddressIndicesList + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroKeyImageExportInitRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 530 + + def __init__( + self, + num: int = None, + hash: bytes = None, + address_n: List[int] = None, + network_type: int = None, + subs: List[MoneroSubAddressIndicesList] = None, + ) -> None: + self.num = num + self.hash = hash + self.address_n = address_n if address_n is not None else [] + self.network_type = network_type + self.subs = subs if subs is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('num', p.UVarintType, 0), + 2: ('hash', p.BytesType, 0), + 3: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 4: ('network_type', p.UVarintType, 0), + 5: ('subs', MoneroSubAddressIndicesList, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/MoneroKeyImageSyncFinalAck.py b/python/trezorlib/messages/MoneroKeyImageSyncFinalAck.py new file mode 100644 index 000000000..b1d266472 --- /dev/null +++ b/python/trezorlib/messages/MoneroKeyImageSyncFinalAck.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroKeyImageSyncFinalAck(p.MessageType): + MESSAGE_WIRE_TYPE = 535 + + def __init__( + self, + enc_key: bytes = None, + ) -> None: + self.enc_key = enc_key + + @classmethod + def get_fields(cls): + return { + 1: ('enc_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroKeyImageSyncFinalRequest.py b/python/trezorlib/messages/MoneroKeyImageSyncFinalRequest.py new file mode 100644 index 000000000..669395128 --- /dev/null +++ b/python/trezorlib/messages/MoneroKeyImageSyncFinalRequest.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroKeyImageSyncFinalRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 534 diff --git a/python/trezorlib/messages/MoneroKeyImageSyncStepAck.py b/python/trezorlib/messages/MoneroKeyImageSyncStepAck.py new file mode 100644 index 000000000..5ef1388e4 --- /dev/null +++ b/python/trezorlib/messages/MoneroKeyImageSyncStepAck.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroExportedKeyImage import MoneroExportedKeyImage + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroKeyImageSyncStepAck(p.MessageType): + MESSAGE_WIRE_TYPE = 533 + + def __init__( + self, + kis: List[MoneroExportedKeyImage] = None, + ) -> None: + self.kis = kis if kis is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('kis', MoneroExportedKeyImage, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/MoneroKeyImageSyncStepRequest.py b/python/trezorlib/messages/MoneroKeyImageSyncStepRequest.py new file mode 100644 index 000000000..884b3dc79 --- /dev/null +++ b/python/trezorlib/messages/MoneroKeyImageSyncStepRequest.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransferDetails import MoneroTransferDetails + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroKeyImageSyncStepRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 532 + + def __init__( + self, + tdis: List[MoneroTransferDetails] = None, + ) -> None: + self.tdis = tdis if tdis is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('tdis', MoneroTransferDetails, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/MoneroLiveRefreshFinalAck.py b/python/trezorlib/messages/MoneroLiveRefreshFinalAck.py new file mode 100644 index 000000000..2f260a437 --- /dev/null +++ b/python/trezorlib/messages/MoneroLiveRefreshFinalAck.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroLiveRefreshFinalAck(p.MessageType): + MESSAGE_WIRE_TYPE = 557 diff --git a/python/trezorlib/messages/MoneroLiveRefreshFinalRequest.py b/python/trezorlib/messages/MoneroLiveRefreshFinalRequest.py new file mode 100644 index 000000000..904684378 --- /dev/null +++ b/python/trezorlib/messages/MoneroLiveRefreshFinalRequest.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroLiveRefreshFinalRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 556 diff --git a/python/trezorlib/messages/MoneroLiveRefreshStartAck.py b/python/trezorlib/messages/MoneroLiveRefreshStartAck.py new file mode 100644 index 000000000..acd5855dc --- /dev/null +++ b/python/trezorlib/messages/MoneroLiveRefreshStartAck.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroLiveRefreshStartAck(p.MessageType): + MESSAGE_WIRE_TYPE = 553 diff --git a/python/trezorlib/messages/MoneroLiveRefreshStartRequest.py b/python/trezorlib/messages/MoneroLiveRefreshStartRequest.py new file mode 100644 index 000000000..babf5b910 --- /dev/null +++ b/python/trezorlib/messages/MoneroLiveRefreshStartRequest.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroLiveRefreshStartRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 552 + + def __init__( + self, + address_n: List[int] = None, + network_type: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.network_type = network_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network_type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MoneroLiveRefreshStepAck.py b/python/trezorlib/messages/MoneroLiveRefreshStepAck.py new file mode 100644 index 000000000..71995e384 --- /dev/null +++ b/python/trezorlib/messages/MoneroLiveRefreshStepAck.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroLiveRefreshStepAck(p.MessageType): + MESSAGE_WIRE_TYPE = 555 + + def __init__( + self, + salt: bytes = None, + key_image: bytes = None, + ) -> None: + self.salt = salt + self.key_image = key_image + + @classmethod + def get_fields(cls): + return { + 1: ('salt', p.BytesType, 0), + 2: ('key_image', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroLiveRefreshStepRequest.py b/python/trezorlib/messages/MoneroLiveRefreshStepRequest.py new file mode 100644 index 000000000..40664b0a0 --- /dev/null +++ b/python/trezorlib/messages/MoneroLiveRefreshStepRequest.py @@ -0,0 +1,31 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroLiveRefreshStepRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 554 + + def __init__( + self, + out_key: bytes = None, + recv_deriv: bytes = None, + real_out_idx: int = None, + sub_addr_major: int = None, + sub_addr_minor: int = None, + ) -> None: + self.out_key = out_key + self.recv_deriv = recv_deriv + self.real_out_idx = real_out_idx + self.sub_addr_major = sub_addr_major + self.sub_addr_minor = sub_addr_minor + + @classmethod + def get_fields(cls): + return { + 1: ('out_key', p.BytesType, 0), + 2: ('recv_deriv', p.BytesType, 0), + 3: ('real_out_idx', p.UVarintType, 0), + 4: ('sub_addr_major', p.UVarintType, 0), + 5: ('sub_addr_minor', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MoneroMultisigKLRki.py b/python/trezorlib/messages/MoneroMultisigKLRki.py new file mode 100644 index 000000000..6abd0c353 --- /dev/null +++ b/python/trezorlib/messages/MoneroMultisigKLRki.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroMultisigKLRki(p.MessageType): + + def __init__( + self, + K: bytes = None, + L: bytes = None, + R: bytes = None, + ki: bytes = None, + ) -> None: + self.K = K + self.L = L + self.R = R + self.ki = ki + + @classmethod + def get_fields(cls): + return { + 1: ('K', p.BytesType, 0), + 2: ('L', p.BytesType, 0), + 3: ('R', p.BytesType, 0), + 4: ('ki', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroOutputEntry.py b/python/trezorlib/messages/MoneroOutputEntry.py new file mode 100644 index 000000000..a44aec3c3 --- /dev/null +++ b/python/trezorlib/messages/MoneroOutputEntry.py @@ -0,0 +1,23 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroRctKeyPublic import MoneroRctKeyPublic + + +class MoneroOutputEntry(p.MessageType): + + def __init__( + self, + idx: int = None, + key: MoneroRctKeyPublic = None, + ) -> None: + self.idx = idx + self.key = key + + @classmethod + def get_fields(cls): + return { + 1: ('idx', p.UVarintType, 0), + 2: ('key', MoneroRctKeyPublic, 0), + } diff --git a/python/trezorlib/messages/MoneroRctKeyPublic.py b/python/trezorlib/messages/MoneroRctKeyPublic.py new file mode 100644 index 000000000..a3cf02ce4 --- /dev/null +++ b/python/trezorlib/messages/MoneroRctKeyPublic.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroRctKeyPublic(p.MessageType): + + def __init__( + self, + dest: bytes = None, + commitment: bytes = None, + ) -> None: + self.dest = dest + self.commitment = commitment + + @classmethod + def get_fields(cls): + return { + 1: ('dest', p.BytesType, 0), + 2: ('commitment', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroRingCtSig.py b/python/trezorlib/messages/MoneroRingCtSig.py new file mode 100644 index 000000000..fe1292a8b --- /dev/null +++ b/python/trezorlib/messages/MoneroRingCtSig.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroRingCtSig(p.MessageType): + + def __init__( + self, + txn_fee: int = None, + message: bytes = None, + rv_type: int = None, + ) -> None: + self.txn_fee = txn_fee + self.message = message + self.rv_type = rv_type + + @classmethod + def get_fields(cls): + return { + 1: ('txn_fee', p.UVarintType, 0), + 2: ('message', p.BytesType, 0), + 3: ('rv_type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MoneroSubAddressIndicesList.py b/python/trezorlib/messages/MoneroSubAddressIndicesList.py new file mode 100644 index 000000000..9e06b463b --- /dev/null +++ b/python/trezorlib/messages/MoneroSubAddressIndicesList.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroSubAddressIndicesList(p.MessageType): + + def __init__( + self, + account: int = None, + minor_indices: List[int] = None, + ) -> None: + self.account = account + self.minor_indices = minor_indices if minor_indices is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('minor_indices', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/MoneroTransactionAllInputsSetAck.py b/python/trezorlib/messages/MoneroTransactionAllInputsSetAck.py new file mode 100644 index 000000000..cba20af24 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionAllInputsSetAck.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionRsigData import MoneroTransactionRsigData + + +class MoneroTransactionAllInputsSetAck(p.MessageType): + MESSAGE_WIRE_TYPE = 510 + + def __init__( + self, + rsig_data: MoneroTransactionRsigData = None, + ) -> None: + self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionAllInputsSetRequest.py b/python/trezorlib/messages/MoneroTransactionAllInputsSetRequest.py new file mode 100644 index 000000000..28e3c979d --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionAllInputsSetRequest.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroTransactionAllInputsSetRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 509 diff --git a/python/trezorlib/messages/MoneroTransactionAllOutSetAck.py b/python/trezorlib/messages/MoneroTransactionAllOutSetAck.py new file mode 100644 index 000000000..cfcaaa4fb --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionAllOutSetAck.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroRingCtSig import MoneroRingCtSig + + +class MoneroTransactionAllOutSetAck(p.MessageType): + MESSAGE_WIRE_TYPE = 514 + + def __init__( + self, + extra: bytes = None, + tx_prefix_hash: bytes = None, + rv: MoneroRingCtSig = None, + full_message_hash: bytes = None, + ) -> None: + self.extra = extra + self.tx_prefix_hash = tx_prefix_hash + self.rv = rv + self.full_message_hash = full_message_hash + + @classmethod + def get_fields(cls): + return { + 1: ('extra', p.BytesType, 0), + 2: ('tx_prefix_hash', p.BytesType, 0), + 4: ('rv', MoneroRingCtSig, 0), + 5: ('full_message_hash', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionAllOutSetRequest.py b/python/trezorlib/messages/MoneroTransactionAllOutSetRequest.py new file mode 100644 index 000000000..ef3c915dd --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionAllOutSetRequest.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionRsigData import MoneroTransactionRsigData + + +class MoneroTransactionAllOutSetRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 513 + + def __init__( + self, + rsig_data: MoneroTransactionRsigData = None, + ) -> None: + self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionData.py b/python/trezorlib/messages/MoneroTransactionData.py new file mode 100644 index 000000000..1badb5e64 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionData.py @@ -0,0 +1,69 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionDestinationEntry import MoneroTransactionDestinationEntry +from .MoneroTransactionRsigData import MoneroTransactionRsigData + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroTransactionData(p.MessageType): + + def __init__( + self, + version: int = None, + payment_id: bytes = None, + unlock_time: int = None, + outputs: List[MoneroTransactionDestinationEntry] = None, + change_dts: MoneroTransactionDestinationEntry = None, + num_inputs: int = None, + mixin: int = None, + fee: int = None, + account: int = None, + minor_indices: List[int] = None, + rsig_data: MoneroTransactionRsigData = None, + integrated_indices: List[int] = None, + client_version: int = None, + hard_fork: int = None, + monero_version: bytes = None, + ) -> None: + self.version = version + self.payment_id = payment_id + self.unlock_time = unlock_time + self.outputs = outputs if outputs is not None else [] + self.change_dts = change_dts + self.num_inputs = num_inputs + self.mixin = mixin + self.fee = fee + self.account = account + self.minor_indices = minor_indices if minor_indices is not None else [] + self.rsig_data = rsig_data + self.integrated_indices = integrated_indices if integrated_indices is not None else [] + self.client_version = client_version + self.hard_fork = hard_fork + self.monero_version = monero_version + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('payment_id', p.BytesType, 0), + 3: ('unlock_time', p.UVarintType, 0), + 4: ('outputs', MoneroTransactionDestinationEntry, p.FLAG_REPEATED), + 5: ('change_dts', MoneroTransactionDestinationEntry, 0), + 6: ('num_inputs', p.UVarintType, 0), + 7: ('mixin', p.UVarintType, 0), + 8: ('fee', p.UVarintType, 0), + 9: ('account', p.UVarintType, 0), + 10: ('minor_indices', p.UVarintType, p.FLAG_REPEATED), + 11: ('rsig_data', MoneroTransactionRsigData, 0), + 12: ('integrated_indices', p.UVarintType, p.FLAG_REPEATED), + 13: ('client_version', p.UVarintType, 0), + 14: ('hard_fork', p.UVarintType, 0), + 15: ('monero_version', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionDestinationEntry.py b/python/trezorlib/messages/MoneroTransactionDestinationEntry.py new file mode 100644 index 000000000..9b804875b --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionDestinationEntry.py @@ -0,0 +1,32 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroAccountPublicAddress import MoneroAccountPublicAddress + + +class MoneroTransactionDestinationEntry(p.MessageType): + + def __init__( + self, + amount: int = None, + addr: MoneroAccountPublicAddress = None, + is_subaddress: bool = None, + original: bytes = None, + is_integrated: bool = None, + ) -> None: + self.amount = amount + self.addr = addr + self.is_subaddress = is_subaddress + self.original = original + self.is_integrated = is_integrated + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), + 2: ('addr', MoneroAccountPublicAddress, 0), + 3: ('is_subaddress', p.BoolType, 0), + 4: ('original', p.BytesType, 0), + 5: ('is_integrated', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionFinalAck.py b/python/trezorlib/messages/MoneroTransactionFinalAck.py new file mode 100644 index 000000000..ba2e27857 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionFinalAck.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroTransactionFinalAck(p.MessageType): + MESSAGE_WIRE_TYPE = 518 + + def __init__( + self, + cout_key: bytes = None, + salt: bytes = None, + rand_mult: bytes = None, + tx_enc_keys: bytes = None, + ) -> None: + self.cout_key = cout_key + self.salt = salt + self.rand_mult = rand_mult + self.tx_enc_keys = tx_enc_keys + + @classmethod + def get_fields(cls): + return { + 1: ('cout_key', p.BytesType, 0), + 2: ('salt', p.BytesType, 0), + 3: ('rand_mult', p.BytesType, 0), + 4: ('tx_enc_keys', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionFinalRequest.py b/python/trezorlib/messages/MoneroTransactionFinalRequest.py new file mode 100644 index 000000000..60e05a154 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionFinalRequest.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroTransactionFinalRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 517 diff --git a/python/trezorlib/messages/MoneroTransactionInitAck.py b/python/trezorlib/messages/MoneroTransactionInitAck.py new file mode 100644 index 000000000..62a377731 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionInitAck.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionRsigData import MoneroTransactionRsigData + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroTransactionInitAck(p.MessageType): + MESSAGE_WIRE_TYPE = 502 + + def __init__( + self, + hmacs: List[bytes] = None, + rsig_data: MoneroTransactionRsigData = None, + ) -> None: + self.hmacs = hmacs if hmacs is not None else [] + self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('hmacs', p.BytesType, p.FLAG_REPEATED), + 2: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionInitRequest.py b/python/trezorlib/messages/MoneroTransactionInitRequest.py new file mode 100644 index 000000000..df86d87e0 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionInitRequest.py @@ -0,0 +1,36 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionData import MoneroTransactionData + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroTransactionInitRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 501 + + def __init__( + self, + version: int = None, + address_n: List[int] = None, + network_type: int = None, + tsx_data: MoneroTransactionData = None, + ) -> None: + self.version = version + self.address_n = address_n if address_n is not None else [] + self.network_type = network_type + self.tsx_data = tsx_data + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('network_type', p.UVarintType, 0), + 4: ('tsx_data', MoneroTransactionData, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionInputViniAck.py b/python/trezorlib/messages/MoneroTransactionInputViniAck.py new file mode 100644 index 000000000..9400b646f --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionInputViniAck.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroTransactionInputViniAck(p.MessageType): + MESSAGE_WIRE_TYPE = 508 diff --git a/python/trezorlib/messages/MoneroTransactionInputViniRequest.py b/python/trezorlib/messages/MoneroTransactionInputViniRequest.py new file mode 100644 index 000000000..d09885a65 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionInputViniRequest.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionSourceEntry import MoneroTransactionSourceEntry + + +class MoneroTransactionInputViniRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 507 + + def __init__( + self, + src_entr: MoneroTransactionSourceEntry = None, + vini: bytes = None, + vini_hmac: bytes = None, + pseudo_out: bytes = None, + pseudo_out_hmac: bytes = None, + ) -> None: + self.src_entr = src_entr + self.vini = vini + self.vini_hmac = vini_hmac + self.pseudo_out = pseudo_out + self.pseudo_out_hmac = pseudo_out_hmac + + @classmethod + def get_fields(cls): + return { + 1: ('src_entr', MoneroTransactionSourceEntry, 0), + 2: ('vini', p.BytesType, 0), + 3: ('vini_hmac', p.BytesType, 0), + 4: ('pseudo_out', p.BytesType, 0), + 5: ('pseudo_out_hmac', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionInputsPermutationAck.py b/python/trezorlib/messages/MoneroTransactionInputsPermutationAck.py new file mode 100644 index 000000000..d975ee1e8 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionInputsPermutationAck.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroTransactionInputsPermutationAck(p.MessageType): + MESSAGE_WIRE_TYPE = 506 diff --git a/python/trezorlib/messages/MoneroTransactionInputsPermutationRequest.py b/python/trezorlib/messages/MoneroTransactionInputsPermutationRequest.py new file mode 100644 index 000000000..be4176700 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionInputsPermutationRequest.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroTransactionInputsPermutationRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 505 + + def __init__( + self, + perm: List[int] = None, + ) -> None: + self.perm = perm if perm is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('perm', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/MoneroTransactionRsigData.py b/python/trezorlib/messages/MoneroTransactionRsigData.py new file mode 100644 index 000000000..278df8694 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionRsigData.py @@ -0,0 +1,42 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroTransactionRsigData(p.MessageType): + + def __init__( + self, + rsig_type: int = None, + offload_type: int = None, + grouping: List[int] = None, + mask: bytes = None, + rsig: bytes = None, + rsig_parts: List[bytes] = None, + bp_version: int = None, + ) -> None: + self.rsig_type = rsig_type + self.offload_type = offload_type + self.grouping = grouping if grouping is not None else [] + self.mask = mask + self.rsig = rsig + self.rsig_parts = rsig_parts if rsig_parts is not None else [] + self.bp_version = bp_version + + @classmethod + def get_fields(cls): + return { + 1: ('rsig_type', p.UVarintType, 0), + 2: ('offload_type', p.UVarintType, 0), + 3: ('grouping', p.UVarintType, p.FLAG_REPEATED), + 4: ('mask', p.BytesType, 0), + 5: ('rsig', p.BytesType, 0), + 6: ('rsig_parts', p.BytesType, p.FLAG_REPEATED), + 7: ('bp_version', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionSetInputAck.py b/python/trezorlib/messages/MoneroTransactionSetInputAck.py new file mode 100644 index 000000000..fe6b5ce55 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionSetInputAck.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroTransactionSetInputAck(p.MessageType): + MESSAGE_WIRE_TYPE = 504 + + def __init__( + self, + vini: bytes = None, + vini_hmac: bytes = None, + pseudo_out: bytes = None, + pseudo_out_hmac: bytes = None, + pseudo_out_alpha: bytes = None, + spend_key: bytes = None, + ) -> None: + self.vini = vini + self.vini_hmac = vini_hmac + self.pseudo_out = pseudo_out + self.pseudo_out_hmac = pseudo_out_hmac + self.pseudo_out_alpha = pseudo_out_alpha + self.spend_key = spend_key + + @classmethod + def get_fields(cls): + return { + 1: ('vini', p.BytesType, 0), + 2: ('vini_hmac', p.BytesType, 0), + 3: ('pseudo_out', p.BytesType, 0), + 4: ('pseudo_out_hmac', p.BytesType, 0), + 5: ('pseudo_out_alpha', p.BytesType, 0), + 6: ('spend_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionSetInputRequest.py b/python/trezorlib/messages/MoneroTransactionSetInputRequest.py new file mode 100644 index 000000000..7d8092f42 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionSetInputRequest.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionSourceEntry import MoneroTransactionSourceEntry + + +class MoneroTransactionSetInputRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 503 + + def __init__( + self, + src_entr: MoneroTransactionSourceEntry = None, + ) -> None: + self.src_entr = src_entr + + @classmethod + def get_fields(cls): + return { + 1: ('src_entr', MoneroTransactionSourceEntry, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionSetOutputAck.py b/python/trezorlib/messages/MoneroTransactionSetOutputAck.py new file mode 100644 index 000000000..01aed6463 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionSetOutputAck.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionRsigData import MoneroTransactionRsigData + + +class MoneroTransactionSetOutputAck(p.MessageType): + MESSAGE_WIRE_TYPE = 512 + + def __init__( + self, + tx_out: bytes = None, + vouti_hmac: bytes = None, + rsig_data: MoneroTransactionRsigData = None, + out_pk: bytes = None, + ecdh_info: bytes = None, + ) -> None: + self.tx_out = tx_out + self.vouti_hmac = vouti_hmac + self.rsig_data = rsig_data + self.out_pk = out_pk + self.ecdh_info = ecdh_info + + @classmethod + def get_fields(cls): + return { + 1: ('tx_out', p.BytesType, 0), + 2: ('vouti_hmac', p.BytesType, 0), + 3: ('rsig_data', MoneroTransactionRsigData, 0), + 4: ('out_pk', p.BytesType, 0), + 5: ('ecdh_info', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionSetOutputRequest.py b/python/trezorlib/messages/MoneroTransactionSetOutputRequest.py new file mode 100644 index 000000000..65a90c134 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionSetOutputRequest.py @@ -0,0 +1,31 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionDestinationEntry import MoneroTransactionDestinationEntry +from .MoneroTransactionRsigData import MoneroTransactionRsigData + + +class MoneroTransactionSetOutputRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 511 + + def __init__( + self, + dst_entr: MoneroTransactionDestinationEntry = None, + dst_entr_hmac: bytes = None, + rsig_data: MoneroTransactionRsigData = None, + is_offloaded_bp: bool = None, + ) -> None: + self.dst_entr = dst_entr + self.dst_entr_hmac = dst_entr_hmac + self.rsig_data = rsig_data + self.is_offloaded_bp = is_offloaded_bp + + @classmethod + def get_fields(cls): + return { + 1: ('dst_entr', MoneroTransactionDestinationEntry, 0), + 2: ('dst_entr_hmac', p.BytesType, 0), + 3: ('rsig_data', MoneroTransactionRsigData, 0), + 4: ('is_offloaded_bp', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionSignInputAck.py b/python/trezorlib/messages/MoneroTransactionSignInputAck.py new file mode 100644 index 000000000..6f50ab191 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionSignInputAck.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroTransactionSignInputAck(p.MessageType): + MESSAGE_WIRE_TYPE = 516 + + def __init__( + self, + signature: bytes = None, + pseudo_out: bytes = None, + ) -> None: + self.signature = signature + self.pseudo_out = pseudo_out + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('pseudo_out', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionSignInputRequest.py b/python/trezorlib/messages/MoneroTransactionSignInputRequest.py new file mode 100644 index 000000000..660839da0 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionSignInputRequest.py @@ -0,0 +1,39 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroTransactionSourceEntry import MoneroTransactionSourceEntry + + +class MoneroTransactionSignInputRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 515 + + def __init__( + self, + src_entr: MoneroTransactionSourceEntry = None, + vini: bytes = None, + vini_hmac: bytes = None, + pseudo_out: bytes = None, + pseudo_out_hmac: bytes = None, + pseudo_out_alpha: bytes = None, + spend_key: bytes = None, + ) -> None: + self.src_entr = src_entr + self.vini = vini + self.vini_hmac = vini_hmac + self.pseudo_out = pseudo_out + self.pseudo_out_hmac = pseudo_out_hmac + self.pseudo_out_alpha = pseudo_out_alpha + self.spend_key = spend_key + + @classmethod + def get_fields(cls): + return { + 1: ('src_entr', MoneroTransactionSourceEntry, 0), + 2: ('vini', p.BytesType, 0), + 3: ('vini_hmac', p.BytesType, 0), + 4: ('pseudo_out', p.BytesType, 0), + 5: ('pseudo_out_hmac', p.BytesType, 0), + 6: ('pseudo_out_alpha', p.BytesType, 0), + 7: ('spend_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MoneroTransactionSourceEntry.py b/python/trezorlib/messages/MoneroTransactionSourceEntry.py new file mode 100644 index 000000000..24bb721f9 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransactionSourceEntry.py @@ -0,0 +1,51 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MoneroMultisigKLRki import MoneroMultisigKLRki +from .MoneroOutputEntry import MoneroOutputEntry + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroTransactionSourceEntry(p.MessageType): + + def __init__( + self, + outputs: List[MoneroOutputEntry] = None, + real_output: int = None, + real_out_tx_key: bytes = None, + real_out_additional_tx_keys: List[bytes] = None, + real_output_in_tx_index: int = None, + amount: int = None, + rct: bool = None, + mask: bytes = None, + multisig_kLRki: MoneroMultisigKLRki = None, + ) -> None: + self.outputs = outputs if outputs is not None else [] + self.real_output = real_output + self.real_out_tx_key = real_out_tx_key + self.real_out_additional_tx_keys = real_out_additional_tx_keys if real_out_additional_tx_keys is not None else [] + self.real_output_in_tx_index = real_output_in_tx_index + self.amount = amount + self.rct = rct + self.mask = mask + self.multisig_kLRki = multisig_kLRki + + @classmethod + def get_fields(cls): + return { + 1: ('outputs', MoneroOutputEntry, p.FLAG_REPEATED), + 2: ('real_output', p.UVarintType, 0), + 3: ('real_out_tx_key', p.BytesType, 0), + 4: ('real_out_additional_tx_keys', p.BytesType, p.FLAG_REPEATED), + 5: ('real_output_in_tx_index', p.UVarintType, 0), + 6: ('amount', p.UVarintType, 0), + 7: ('rct', p.BoolType, 0), + 8: ('mask', p.BytesType, 0), + 9: ('multisig_kLRki', MoneroMultisigKLRki, 0), + } diff --git a/python/trezorlib/messages/MoneroTransferDetails.py b/python/trezorlib/messages/MoneroTransferDetails.py new file mode 100644 index 000000000..765fe3804 --- /dev/null +++ b/python/trezorlib/messages/MoneroTransferDetails.py @@ -0,0 +1,33 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MoneroTransferDetails(p.MessageType): + + def __init__( + self, + out_key: bytes = None, + tx_pub_key: bytes = None, + additional_tx_pub_keys: List[bytes] = None, + internal_output_index: int = None, + ) -> None: + self.out_key = out_key + self.tx_pub_key = tx_pub_key + self.additional_tx_pub_keys = additional_tx_pub_keys if additional_tx_pub_keys is not None else [] + self.internal_output_index = internal_output_index + + @classmethod + def get_fields(cls): + return { + 1: ('out_key', p.BytesType, 0), + 2: ('tx_pub_key', p.BytesType, 0), + 3: ('additional_tx_pub_keys', p.BytesType, p.FLAG_REPEATED), + 4: ('internal_output_index', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/MoneroWatchKey.py b/python/trezorlib/messages/MoneroWatchKey.py new file mode 100644 index 000000000..6d394ec32 --- /dev/null +++ b/python/trezorlib/messages/MoneroWatchKey.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class MoneroWatchKey(p.MessageType): + MESSAGE_WIRE_TYPE = 543 + + def __init__( + self, + watch_key: bytes = None, + address: bytes = None, + ) -> None: + self.watch_key = watch_key + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('watch_key', p.BytesType, 0), + 2: ('address', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/MultisigRedeemScriptType.py b/python/trezorlib/messages/MultisigRedeemScriptType.py new file mode 100644 index 000000000..4a1912599 --- /dev/null +++ b/python/trezorlib/messages/MultisigRedeemScriptType.py @@ -0,0 +1,39 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .HDNodePathType import HDNodePathType +from .HDNodeType import HDNodeType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class MultisigRedeemScriptType(p.MessageType): + + def __init__( + self, + pubkeys: List[HDNodePathType] = None, + signatures: List[bytes] = None, + m: int = None, + nodes: List[HDNodeType] = None, + address_n: List[int] = None, + ) -> None: + self.pubkeys = pubkeys if pubkeys is not None else [] + self.signatures = signatures if signatures is not None else [] + self.m = m + self.nodes = nodes if nodes is not None else [] + self.address_n = address_n if address_n is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('pubkeys', HDNodePathType, p.FLAG_REPEATED), + 2: ('signatures', p.BytesType, p.FLAG_REPEATED), + 3: ('m', p.UVarintType, 0), + 4: ('nodes', HDNodeType, p.FLAG_REPEATED), + 5: ('address_n', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/NEMAddress.py b/python/trezorlib/messages/NEMAddress.py new file mode 100644 index 000000000..735959f83 --- /dev/null +++ b/python/trezorlib/messages/NEMAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 68 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), # required + } diff --git a/python/trezorlib/messages/NEMAggregateModification.py b/python/trezorlib/messages/NEMAggregateModification.py new file mode 100644 index 000000000..7dde5dc17 --- /dev/null +++ b/python/trezorlib/messages/NEMAggregateModification.py @@ -0,0 +1,29 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .NEMCosignatoryModification import NEMCosignatoryModification + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class NEMAggregateModification(p.MessageType): + + def __init__( + self, + modifications: List[NEMCosignatoryModification] = None, + relative_change: int = None, + ) -> None: + self.modifications = modifications if modifications is not None else [] + self.relative_change = relative_change + + @classmethod + def get_fields(cls): + return { + 1: ('modifications', NEMCosignatoryModification, p.FLAG_REPEATED), + 2: ('relative_change', p.SVarintType, 0), + } diff --git a/python/trezorlib/messages/NEMCosignatoryModification.py b/python/trezorlib/messages/NEMCosignatoryModification.py new file mode 100644 index 000000000..8deca6b1b --- /dev/null +++ b/python/trezorlib/messages/NEMCosignatoryModification.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMCosignatoryModification(p.MessageType): + + def __init__( + self, + type: int = None, + public_key: bytes = None, + ) -> None: + self.type = type + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + 2: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/NEMDecryptMessage.py b/python/trezorlib/messages/NEMDecryptMessage.py new file mode 100644 index 000000000..4b8c61f68 --- /dev/null +++ b/python/trezorlib/messages/NEMDecryptMessage.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class NEMDecryptMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 75 + + def __init__( + self, + address_n: List[int] = None, + network: int = None, + public_key: bytes = None, + payload: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.network = network + self.public_key = public_key + self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network', p.UVarintType, 0), + 3: ('public_key', p.BytesType, 0), + 4: ('payload', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/NEMDecryptedMessage.py b/python/trezorlib/messages/NEMDecryptedMessage.py new file mode 100644 index 000000000..827d9189d --- /dev/null +++ b/python/trezorlib/messages/NEMDecryptedMessage.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMDecryptedMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 76 + + def __init__( + self, + payload: bytes = None, + ) -> None: + self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('payload', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/NEMGetAddress.py b/python/trezorlib/messages/NEMGetAddress.py new file mode 100644 index 000000000..079bfbcc0 --- /dev/null +++ b/python/trezorlib/messages/NEMGetAddress.py @@ -0,0 +1,31 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class NEMGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 67 + + def __init__( + self, + address_n: List[int] = None, + network: int = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.network = network + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network', p.UVarintType, 0), + 3: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/NEMImportanceTransfer.py b/python/trezorlib/messages/NEMImportanceTransfer.py new file mode 100644 index 000000000..554f7ba9d --- /dev/null +++ b/python/trezorlib/messages/NEMImportanceTransfer.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMImportanceTransfer(p.MessageType): + + def __init__( + self, + mode: int = None, + public_key: bytes = None, + ) -> None: + self.mode = mode + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('mode', p.UVarintType, 0), + 2: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/NEMImportanceTransferMode.py b/python/trezorlib/messages/NEMImportanceTransferMode.py new file mode 100644 index 000000000..912e27eb5 --- /dev/null +++ b/python/trezorlib/messages/NEMImportanceTransferMode.py @@ -0,0 +1,4 @@ +# Automatically generated by pb2py +# fmt: off +ImportanceTransfer_Activate = 1 +ImportanceTransfer_Deactivate = 2 diff --git a/python/trezorlib/messages/NEMModificationType.py b/python/trezorlib/messages/NEMModificationType.py new file mode 100644 index 000000000..ee0f0ad70 --- /dev/null +++ b/python/trezorlib/messages/NEMModificationType.py @@ -0,0 +1,4 @@ +# Automatically generated by pb2py +# fmt: off +CosignatoryModification_Add = 1 +CosignatoryModification_Delete = 2 diff --git a/python/trezorlib/messages/NEMMosaic.py b/python/trezorlib/messages/NEMMosaic.py new file mode 100644 index 000000000..c77f4847d --- /dev/null +++ b/python/trezorlib/messages/NEMMosaic.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMMosaic(p.MessageType): + + def __init__( + self, + namespace: str = None, + mosaic: str = None, + quantity: int = None, + ) -> None: + self.namespace = namespace + self.mosaic = mosaic + self.quantity = quantity + + @classmethod + def get_fields(cls): + return { + 1: ('namespace', p.UnicodeType, 0), + 2: ('mosaic', p.UnicodeType, 0), + 3: ('quantity', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/NEMMosaicCreation.py b/python/trezorlib/messages/NEMMosaicCreation.py new file mode 100644 index 000000000..57f0dca58 --- /dev/null +++ b/python/trezorlib/messages/NEMMosaicCreation.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .NEMMosaicDefinition import NEMMosaicDefinition + + +class NEMMosaicCreation(p.MessageType): + + def __init__( + self, + definition: NEMMosaicDefinition = None, + sink: str = None, + fee: int = None, + ) -> None: + self.definition = definition + self.sink = sink + self.fee = fee + + @classmethod + def get_fields(cls): + return { + 1: ('definition', NEMMosaicDefinition, 0), + 2: ('sink', p.UnicodeType, 0), + 3: ('fee', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/NEMMosaicDefinition.py b/python/trezorlib/messages/NEMMosaicDefinition.py new file mode 100644 index 000000000..0da7cd608 --- /dev/null +++ b/python/trezorlib/messages/NEMMosaicDefinition.py @@ -0,0 +1,66 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class NEMMosaicDefinition(p.MessageType): + + def __init__( + self, + name: str = None, + ticker: str = None, + namespace: str = None, + mosaic: str = None, + divisibility: int = None, + levy: int = None, + fee: int = None, + levy_address: str = None, + levy_namespace: str = None, + levy_mosaic: str = None, + supply: int = None, + mutable_supply: bool = None, + transferable: bool = None, + description: str = None, + networks: List[int] = None, + ) -> None: + self.name = name + self.ticker = ticker + self.namespace = namespace + self.mosaic = mosaic + self.divisibility = divisibility + self.levy = levy + self.fee = fee + self.levy_address = levy_address + self.levy_namespace = levy_namespace + self.levy_mosaic = levy_mosaic + self.supply = supply + self.mutable_supply = mutable_supply + self.transferable = transferable + self.description = description + self.networks = networks if networks is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('name', p.UnicodeType, 0), + 2: ('ticker', p.UnicodeType, 0), + 3: ('namespace', p.UnicodeType, 0), + 4: ('mosaic', p.UnicodeType, 0), + 5: ('divisibility', p.UVarintType, 0), + 6: ('levy', p.UVarintType, 0), + 7: ('fee', p.UVarintType, 0), + 8: ('levy_address', p.UnicodeType, 0), + 9: ('levy_namespace', p.UnicodeType, 0), + 10: ('levy_mosaic', p.UnicodeType, 0), + 11: ('supply', p.UVarintType, 0), + 12: ('mutable_supply', p.BoolType, 0), + 13: ('transferable', p.BoolType, 0), + 14: ('description', p.UnicodeType, 0), + 15: ('networks', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/NEMMosaicLevy.py b/python/trezorlib/messages/NEMMosaicLevy.py new file mode 100644 index 000000000..bf896c102 --- /dev/null +++ b/python/trezorlib/messages/NEMMosaicLevy.py @@ -0,0 +1,4 @@ +# Automatically generated by pb2py +# fmt: off +MosaicLevy_Absolute = 1 +MosaicLevy_Percentile = 2 diff --git a/python/trezorlib/messages/NEMMosaicSupplyChange.py b/python/trezorlib/messages/NEMMosaicSupplyChange.py new file mode 100644 index 000000000..0af45a8d6 --- /dev/null +++ b/python/trezorlib/messages/NEMMosaicSupplyChange.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMMosaicSupplyChange(p.MessageType): + + def __init__( + self, + namespace: str = None, + mosaic: str = None, + type: int = None, + delta: int = None, + ) -> None: + self.namespace = namespace + self.mosaic = mosaic + self.type = type + self.delta = delta + + @classmethod + def get_fields(cls): + return { + 1: ('namespace', p.UnicodeType, 0), + 2: ('mosaic', p.UnicodeType, 0), + 3: ('type', p.UVarintType, 0), + 4: ('delta', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/NEMProvisionNamespace.py b/python/trezorlib/messages/NEMProvisionNamespace.py new file mode 100644 index 000000000..735477197 --- /dev/null +++ b/python/trezorlib/messages/NEMProvisionNamespace.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMProvisionNamespace(p.MessageType): + + def __init__( + self, + namespace: str = None, + parent: str = None, + sink: str = None, + fee: int = None, + ) -> None: + self.namespace = namespace + self.parent = parent + self.sink = sink + self.fee = fee + + @classmethod + def get_fields(cls): + return { + 1: ('namespace', p.UnicodeType, 0), + 2: ('parent', p.UnicodeType, 0), + 3: ('sink', p.UnicodeType, 0), + 4: ('fee', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/NEMSignTx.py b/python/trezorlib/messages/NEMSignTx.py new file mode 100644 index 000000000..06dd71cba --- /dev/null +++ b/python/trezorlib/messages/NEMSignTx.py @@ -0,0 +1,51 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .NEMAggregateModification import NEMAggregateModification +from .NEMImportanceTransfer import NEMImportanceTransfer +from .NEMMosaicCreation import NEMMosaicCreation +from .NEMMosaicSupplyChange import NEMMosaicSupplyChange +from .NEMProvisionNamespace import NEMProvisionNamespace +from .NEMTransactionCommon import NEMTransactionCommon +from .NEMTransfer import NEMTransfer + + +class NEMSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 69 + + def __init__( + self, + transaction: NEMTransactionCommon = None, + multisig: NEMTransactionCommon = None, + transfer: NEMTransfer = None, + cosigning: bool = None, + provision_namespace: NEMProvisionNamespace = None, + mosaic_creation: NEMMosaicCreation = None, + supply_change: NEMMosaicSupplyChange = None, + aggregate_modification: NEMAggregateModification = None, + importance_transfer: NEMImportanceTransfer = None, + ) -> None: + self.transaction = transaction + self.multisig = multisig + self.transfer = transfer + self.cosigning = cosigning + self.provision_namespace = provision_namespace + self.mosaic_creation = mosaic_creation + self.supply_change = supply_change + self.aggregate_modification = aggregate_modification + self.importance_transfer = importance_transfer + + @classmethod + def get_fields(cls): + return { + 1: ('transaction', NEMTransactionCommon, 0), + 2: ('multisig', NEMTransactionCommon, 0), + 3: ('transfer', NEMTransfer, 0), + 4: ('cosigning', p.BoolType, 0), + 5: ('provision_namespace', NEMProvisionNamespace, 0), + 6: ('mosaic_creation', NEMMosaicCreation, 0), + 7: ('supply_change', NEMMosaicSupplyChange, 0), + 8: ('aggregate_modification', NEMAggregateModification, 0), + 9: ('importance_transfer', NEMImportanceTransfer, 0), + } diff --git a/python/trezorlib/messages/NEMSignedTx.py b/python/trezorlib/messages/NEMSignedTx.py new file mode 100644 index 000000000..2baa064cd --- /dev/null +++ b/python/trezorlib/messages/NEMSignedTx.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class NEMSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 70 + + def __init__( + self, + data: bytes = None, + signature: bytes = None, + ) -> None: + self.data = data + self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('data', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/NEMSupplyChangeType.py b/python/trezorlib/messages/NEMSupplyChangeType.py new file mode 100644 index 000000000..1a4f79b94 --- /dev/null +++ b/python/trezorlib/messages/NEMSupplyChangeType.py @@ -0,0 +1,4 @@ +# Automatically generated by pb2py +# fmt: off +SupplyChange_Increase = 1 +SupplyChange_Decrease = 2 diff --git a/python/trezorlib/messages/NEMTransactionCommon.py b/python/trezorlib/messages/NEMTransactionCommon.py new file mode 100644 index 000000000..3ac9fc257 --- /dev/null +++ b/python/trezorlib/messages/NEMTransactionCommon.py @@ -0,0 +1,39 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class NEMTransactionCommon(p.MessageType): + + def __init__( + self, + address_n: List[int] = None, + network: int = None, + timestamp: int = None, + fee: int = None, + deadline: int = None, + signer: bytes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.network = network + self.timestamp = timestamp + self.fee = fee + self.deadline = deadline + self.signer = signer + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network', p.UVarintType, 0), + 3: ('timestamp', p.UVarintType, 0), + 4: ('fee', p.UVarintType, 0), + 5: ('deadline', p.UVarintType, 0), + 6: ('signer', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/NEMTransfer.py b/python/trezorlib/messages/NEMTransfer.py new file mode 100644 index 000000000..b6a9b9324 --- /dev/null +++ b/python/trezorlib/messages/NEMTransfer.py @@ -0,0 +1,38 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .NEMMosaic import NEMMosaic + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class NEMTransfer(p.MessageType): + + def __init__( + self, + recipient: str = None, + amount: int = None, + payload: bytes = None, + public_key: bytes = None, + mosaics: List[NEMMosaic] = None, + ) -> None: + self.recipient = recipient + self.amount = amount + self.payload = payload + self.public_key = public_key + self.mosaics = mosaics if mosaics is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('recipient', p.UnicodeType, 0), + 2: ('amount', p.UVarintType, 0), + 3: ('payload', p.BytesType, 0), + 4: ('public_key', p.BytesType, 0), + 5: ('mosaics', NEMMosaic, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/OntologyAddress.py b/python/trezorlib/messages/OntologyAddress.py new file mode 100644 index 000000000..6fda8b056 --- /dev/null +++ b/python/trezorlib/messages/OntologyAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologyAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 351 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/OntologyAsset.py b/python/trezorlib/messages/OntologyAsset.py new file mode 100644 index 000000000..daa8b0786 --- /dev/null +++ b/python/trezorlib/messages/OntologyAsset.py @@ -0,0 +1,4 @@ +# Automatically generated by pb2py +# fmt: off +ONT = 1 +ONG = 2 diff --git a/python/trezorlib/messages/OntologyGetAddress.py b/python/trezorlib/messages/OntologyGetAddress.py new file mode 100644 index 000000000..eccb83313 --- /dev/null +++ b/python/trezorlib/messages/OntologyGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologyGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 350 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/OntologyGetPublicKey.py b/python/trezorlib/messages/OntologyGetPublicKey.py new file mode 100644 index 000000000..5059b6494 --- /dev/null +++ b/python/trezorlib/messages/OntologyGetPublicKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologyGetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 352 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/OntologyOntIdAddAttributes.py b/python/trezorlib/messages/OntologyOntIdAddAttributes.py new file mode 100644 index 000000000..d5009113a --- /dev/null +++ b/python/trezorlib/messages/OntologyOntIdAddAttributes.py @@ -0,0 +1,32 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .OntologyOntIdAttribute import OntologyOntIdAttribute + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologyOntIdAddAttributes(p.MessageType): + + def __init__( + self, + ont_id: str = None, + public_key: bytes = None, + ont_id_attributes: List[OntologyOntIdAttribute] = None, + ) -> None: + self.ont_id = ont_id + self.public_key = public_key + self.ont_id_attributes = ont_id_attributes if ont_id_attributes is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('ont_id', p.UnicodeType, 0), + 2: ('public_key', p.BytesType, 0), + 3: ('ont_id_attributes', OntologyOntIdAttribute, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/OntologyOntIdAttribute.py b/python/trezorlib/messages/OntologyOntIdAttribute.py new file mode 100644 index 000000000..282a03bcd --- /dev/null +++ b/python/trezorlib/messages/OntologyOntIdAttribute.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologyOntIdAttribute(p.MessageType): + + def __init__( + self, + key: str = None, + type: str = None, + value: str = None, + ) -> None: + self.key = key + self.type = type + self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('key', p.UnicodeType, 0), + 2: ('type', p.UnicodeType, 0), + 3: ('value', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/OntologyOntIdRegister.py b/python/trezorlib/messages/OntologyOntIdRegister.py new file mode 100644 index 000000000..7a1a3b7c7 --- /dev/null +++ b/python/trezorlib/messages/OntologyOntIdRegister.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologyOntIdRegister(p.MessageType): + + def __init__( + self, + ont_id: str = None, + public_key: bytes = None, + ) -> None: + self.ont_id = ont_id + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('ont_id', p.UnicodeType, 0), + 2: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/OntologyPublicKey.py b/python/trezorlib/messages/OntologyPublicKey.py new file mode 100644 index 000000000..046c16fdc --- /dev/null +++ b/python/trezorlib/messages/OntologyPublicKey.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologyPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 353 + + def __init__( + self, + public_key: bytes = None, + ) -> None: + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/OntologySignOntIdAddAttributes.py b/python/trezorlib/messages/OntologySignOntIdAddAttributes.py new file mode 100644 index 000000000..4dd2d56aa --- /dev/null +++ b/python/trezorlib/messages/OntologySignOntIdAddAttributes.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .OntologyOntIdAddAttributes import OntologyOntIdAddAttributes +from .OntologyTransaction import OntologyTransaction + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologySignOntIdAddAttributes(p.MessageType): + MESSAGE_WIRE_TYPE = 360 + + def __init__( + self, + address_n: List[int] = None, + transaction: OntologyTransaction = None, + ont_id_add_attributes: OntologyOntIdAddAttributes = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.transaction = transaction + self.ont_id_add_attributes = ont_id_add_attributes + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('ont_id_add_attributes', OntologyOntIdAddAttributes, 0), + } diff --git a/python/trezorlib/messages/OntologySignOntIdRegister.py b/python/trezorlib/messages/OntologySignOntIdRegister.py new file mode 100644 index 000000000..7617df6ba --- /dev/null +++ b/python/trezorlib/messages/OntologySignOntIdRegister.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .OntologyOntIdRegister import OntologyOntIdRegister +from .OntologyTransaction import OntologyTransaction + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologySignOntIdRegister(p.MessageType): + MESSAGE_WIRE_TYPE = 358 + + def __init__( + self, + address_n: List[int] = None, + transaction: OntologyTransaction = None, + ont_id_register: OntologyOntIdRegister = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.transaction = transaction + self.ont_id_register = ont_id_register + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('ont_id_register', OntologyOntIdRegister, 0), + } diff --git a/python/trezorlib/messages/OntologySignTransfer.py b/python/trezorlib/messages/OntologySignTransfer.py new file mode 100644 index 000000000..b39a0b6f7 --- /dev/null +++ b/python/trezorlib/messages/OntologySignTransfer.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .OntologyTransaction import OntologyTransaction +from .OntologyTransfer import OntologyTransfer + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologySignTransfer(p.MessageType): + MESSAGE_WIRE_TYPE = 354 + + def __init__( + self, + address_n: List[int] = None, + transaction: OntologyTransaction = None, + transfer: OntologyTransfer = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.transaction = transaction + self.transfer = transfer + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('transfer', OntologyTransfer, 0), + } diff --git a/python/trezorlib/messages/OntologySignWithdrawOng.py b/python/trezorlib/messages/OntologySignWithdrawOng.py new file mode 100644 index 000000000..acd0d78db --- /dev/null +++ b/python/trezorlib/messages/OntologySignWithdrawOng.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .OntologyTransaction import OntologyTransaction +from .OntologyWithdrawOng import OntologyWithdrawOng + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologySignWithdrawOng(p.MessageType): + MESSAGE_WIRE_TYPE = 356 + + def __init__( + self, + address_n: List[int] = None, + transaction: OntologyTransaction = None, + withdraw_ong: OntologyWithdrawOng = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.transaction = transaction + self.withdraw_ong = withdraw_ong + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('withdraw_ong', OntologyWithdrawOng, 0), + } diff --git a/python/trezorlib/messages/OntologySignedOntIdAddAttributes.py b/python/trezorlib/messages/OntologySignedOntIdAddAttributes.py new file mode 100644 index 000000000..95bf36cd5 --- /dev/null +++ b/python/trezorlib/messages/OntologySignedOntIdAddAttributes.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologySignedOntIdAddAttributes(p.MessageType): + MESSAGE_WIRE_TYPE = 361 + + def __init__( + self, + signature: bytes = None, + payload: bytes = None, + ) -> None: + self.signature = signature + self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/OntologySignedOntIdRegister.py b/python/trezorlib/messages/OntologySignedOntIdRegister.py new file mode 100644 index 000000000..5bb2561e8 --- /dev/null +++ b/python/trezorlib/messages/OntologySignedOntIdRegister.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologySignedOntIdRegister(p.MessageType): + MESSAGE_WIRE_TYPE = 359 + + def __init__( + self, + signature: bytes = None, + payload: bytes = None, + ) -> None: + self.signature = signature + self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/OntologySignedTransfer.py b/python/trezorlib/messages/OntologySignedTransfer.py new file mode 100644 index 000000000..3145506e5 --- /dev/null +++ b/python/trezorlib/messages/OntologySignedTransfer.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologySignedTransfer(p.MessageType): + MESSAGE_WIRE_TYPE = 355 + + def __init__( + self, + signature: bytes = None, + payload: bytes = None, + ) -> None: + self.signature = signature + self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/OntologySignedWithdrawOng.py b/python/trezorlib/messages/OntologySignedWithdrawOng.py new file mode 100644 index 000000000..7e8c8bfb3 --- /dev/null +++ b/python/trezorlib/messages/OntologySignedWithdrawOng.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologySignedWithdrawOng(p.MessageType): + MESSAGE_WIRE_TYPE = 357 + + def __init__( + self, + signature: bytes = None, + payload: bytes = None, + ) -> None: + self.signature = signature + self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/OntologyTransaction.py b/python/trezorlib/messages/OntologyTransaction.py new file mode 100644 index 000000000..2fc70c272 --- /dev/null +++ b/python/trezorlib/messages/OntologyTransaction.py @@ -0,0 +1,44 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .OntologyTxAttribute import OntologyTxAttribute + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class OntologyTransaction(p.MessageType): + + def __init__( + self, + version: int = None, + type: int = None, + nonce: int = None, + gas_price: int = None, + gas_limit: int = None, + payer: str = None, + tx_attributes: List[OntologyTxAttribute] = None, + ) -> None: + self.version = version + self.type = type + self.nonce = nonce + self.gas_price = gas_price + self.gas_limit = gas_limit + self.payer = payer + self.tx_attributes = tx_attributes if tx_attributes is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('type', p.UVarintType, 0), + 3: ('nonce', p.UVarintType, 0), + 4: ('gas_price', p.UVarintType, 0), + 5: ('gas_limit', p.UVarintType, 0), + 6: ('payer', p.UnicodeType, 0), + 7: ('tx_attributes', OntologyTxAttribute, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/OntologyTransfer.py b/python/trezorlib/messages/OntologyTransfer.py new file mode 100644 index 000000000..c93b723d2 --- /dev/null +++ b/python/trezorlib/messages/OntologyTransfer.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologyTransfer(p.MessageType): + + def __init__( + self, + asset: int = None, + amount: int = None, + from_address: str = None, + to_address: str = None, + ) -> None: + self.asset = asset + self.amount = amount + self.from_address = from_address + self.to_address = to_address + + @classmethod + def get_fields(cls): + return { + 1: ('asset', p.UVarintType, 0), + 2: ('amount', p.UVarintType, 0), + 3: ('from_address', p.UnicodeType, 0), + 4: ('to_address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/OntologyTxAttribute.py b/python/trezorlib/messages/OntologyTxAttribute.py new file mode 100644 index 000000000..79a0742c6 --- /dev/null +++ b/python/trezorlib/messages/OntologyTxAttribute.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologyTxAttribute(p.MessageType): + + def __init__( + self, + usage: int = None, + data: bytes = None, + ) -> None: + self.usage = usage + self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('usage', p.UVarintType, 0), + 2: ('data', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/OntologyWithdrawOng.py b/python/trezorlib/messages/OntologyWithdrawOng.py new file mode 100644 index 000000000..8a6160cf6 --- /dev/null +++ b/python/trezorlib/messages/OntologyWithdrawOng.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class OntologyWithdrawOng(p.MessageType): + + def __init__( + self, + amount: int = None, + from_address: str = None, + to_address: str = None, + ) -> None: + self.amount = amount + self.from_address = from_address + self.to_address = to_address + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), + 2: ('from_address', p.UnicodeType, 0), + 3: ('to_address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/OutputScriptType.py b/python/trezorlib/messages/OutputScriptType.py new file mode 100644 index 000000000..6a9b7eb39 --- /dev/null +++ b/python/trezorlib/messages/OutputScriptType.py @@ -0,0 +1,8 @@ +# Automatically generated by pb2py +# fmt: off +PAYTOADDRESS = 0 +PAYTOSCRIPTHASH = 1 +PAYTOMULTISIG = 2 +PAYTOOPRETURN = 3 +PAYTOWITNESS = 4 +PAYTOP2SHWITNESS = 5 diff --git a/python/trezorlib/messages/PassphraseAck.py b/python/trezorlib/messages/PassphraseAck.py new file mode 100644 index 000000000..8f49ce239 --- /dev/null +++ b/python/trezorlib/messages/PassphraseAck.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class PassphraseAck(p.MessageType): + MESSAGE_WIRE_TYPE = 42 + + def __init__( + self, + passphrase: str = None, + state: bytes = None, + ) -> None: + self.passphrase = passphrase + self.state = state + + @classmethod + def get_fields(cls): + return { + 1: ('passphrase', p.UnicodeType, 0), + 2: ('state', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/PassphraseRequest.py b/python/trezorlib/messages/PassphraseRequest.py new file mode 100644 index 000000000..919fee9c3 --- /dev/null +++ b/python/trezorlib/messages/PassphraseRequest.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class PassphraseRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 41 + + def __init__( + self, + on_device: bool = None, + ) -> None: + self.on_device = on_device + + @classmethod + def get_fields(cls): + return { + 1: ('on_device', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/PassphraseSourceType.py b/python/trezorlib/messages/PassphraseSourceType.py new file mode 100644 index 000000000..3bce46d10 --- /dev/null +++ b/python/trezorlib/messages/PassphraseSourceType.py @@ -0,0 +1,5 @@ +# Automatically generated by pb2py +# fmt: off +ASK = 0 +DEVICE = 1 +HOST = 2 diff --git a/python/trezorlib/messages/PassphraseStateAck.py b/python/trezorlib/messages/PassphraseStateAck.py new file mode 100644 index 000000000..7563e61ed --- /dev/null +++ b/python/trezorlib/messages/PassphraseStateAck.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class PassphraseStateAck(p.MessageType): + MESSAGE_WIRE_TYPE = 78 diff --git a/python/trezorlib/messages/PassphraseStateRequest.py b/python/trezorlib/messages/PassphraseStateRequest.py new file mode 100644 index 000000000..92dd4e9da --- /dev/null +++ b/python/trezorlib/messages/PassphraseStateRequest.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class PassphraseStateRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 77 + + def __init__( + self, + state: bytes = None, + ) -> None: + self.state = state + + @classmethod + def get_fields(cls): + return { + 1: ('state', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/PinMatrixAck.py b/python/trezorlib/messages/PinMatrixAck.py new file mode 100644 index 000000000..be2115585 --- /dev/null +++ b/python/trezorlib/messages/PinMatrixAck.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class PinMatrixAck(p.MessageType): + MESSAGE_WIRE_TYPE = 19 + + def __init__( + self, + pin: str = None, + ) -> None: + self.pin = pin + + @classmethod + def get_fields(cls): + return { + 1: ('pin', p.UnicodeType, 0), # required + } diff --git a/python/trezorlib/messages/PinMatrixRequest.py b/python/trezorlib/messages/PinMatrixRequest.py new file mode 100644 index 000000000..db4433b35 --- /dev/null +++ b/python/trezorlib/messages/PinMatrixRequest.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class PinMatrixRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 18 + + def __init__( + self, + type: int = None, + ) -> None: + self.type = type + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/PinMatrixRequestType.py b/python/trezorlib/messages/PinMatrixRequestType.py new file mode 100644 index 000000000..2010103cb --- /dev/null +++ b/python/trezorlib/messages/PinMatrixRequestType.py @@ -0,0 +1,5 @@ +# Automatically generated by pb2py +# fmt: off +Current = 1 +NewFirst = 2 +NewSecond = 3 diff --git a/python/trezorlib/messages/Ping.py b/python/trezorlib/messages/Ping.py new file mode 100644 index 000000000..cd8c71bea --- /dev/null +++ b/python/trezorlib/messages/Ping.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Ping(p.MessageType): + MESSAGE_WIRE_TYPE = 1 + + def __init__( + self, + message: str = None, + button_protection: bool = None, + pin_protection: bool = None, + passphrase_protection: bool = None, + ) -> None: + self.message = message + self.button_protection = button_protection + self.pin_protection = pin_protection + self.passphrase_protection = passphrase_protection + + @classmethod + def get_fields(cls): + return { + 1: ('message', p.UnicodeType, 0), + 2: ('button_protection', p.BoolType, 0), + 3: ('pin_protection', p.BoolType, 0), + 4: ('passphrase_protection', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/PublicKey.py b/python/trezorlib/messages/PublicKey.py new file mode 100644 index 000000000..f0b25dd97 --- /dev/null +++ b/python/trezorlib/messages/PublicKey.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .HDNodeType import HDNodeType + + +class PublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 12 + + def __init__( + self, + node: HDNodeType = None, + xpub: str = None, + ) -> None: + self.node = node + self.xpub = xpub + + @classmethod + def get_fields(cls): + return { + 1: ('node', HDNodeType, 0), + 2: ('xpub', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/RecoveryDevice.py b/python/trezorlib/messages/RecoveryDevice.py new file mode 100644 index 000000000..5b6bb8e97 --- /dev/null +++ b/python/trezorlib/messages/RecoveryDevice.py @@ -0,0 +1,43 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class RecoveryDevice(p.MessageType): + MESSAGE_WIRE_TYPE = 45 + + def __init__( + self, + word_count: int = None, + passphrase_protection: bool = None, + pin_protection: bool = None, + language: str = None, + label: str = None, + enforce_wordlist: bool = None, + type: int = None, + u2f_counter: int = None, + dry_run: bool = None, + ) -> None: + self.word_count = word_count + self.passphrase_protection = passphrase_protection + self.pin_protection = pin_protection + self.language = language + self.label = label + self.enforce_wordlist = enforce_wordlist + self.type = type + self.u2f_counter = u2f_counter + self.dry_run = dry_run + + @classmethod + def get_fields(cls): + return { + 1: ('word_count', p.UVarintType, 0), + 2: ('passphrase_protection', p.BoolType, 0), + 3: ('pin_protection', p.BoolType, 0), + 4: ('language', p.UnicodeType, 0), # default=english + 5: ('label', p.UnicodeType, 0), + 6: ('enforce_wordlist', p.BoolType, 0), + 8: ('type', p.UVarintType, 0), + 9: ('u2f_counter', p.UVarintType, 0), + 10: ('dry_run', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/RecoveryDeviceType.py b/python/trezorlib/messages/RecoveryDeviceType.py new file mode 100644 index 000000000..f6f643ac7 --- /dev/null +++ b/python/trezorlib/messages/RecoveryDeviceType.py @@ -0,0 +1,4 @@ +# Automatically generated by pb2py +# fmt: off +ScrambledWords = 0 +Matrix = 1 diff --git a/python/trezorlib/messages/RequestType.py b/python/trezorlib/messages/RequestType.py new file mode 100644 index 000000000..4c122c944 --- /dev/null +++ b/python/trezorlib/messages/RequestType.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +TXINPUT = 0 +TXOUTPUT = 1 +TXMETA = 2 +TXFINISHED = 3 +TXEXTRADATA = 4 diff --git a/python/trezorlib/messages/ResetDevice.py b/python/trezorlib/messages/ResetDevice.py new file mode 100644 index 000000000..719b8106c --- /dev/null +++ b/python/trezorlib/messages/ResetDevice.py @@ -0,0 +1,43 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class ResetDevice(p.MessageType): + MESSAGE_WIRE_TYPE = 14 + + def __init__( + self, + display_random: bool = None, + strength: int = None, + passphrase_protection: bool = None, + pin_protection: bool = None, + language: str = None, + label: str = None, + u2f_counter: int = None, + skip_backup: bool = None, + no_backup: bool = None, + ) -> None: + self.display_random = display_random + self.strength = strength + self.passphrase_protection = passphrase_protection + self.pin_protection = pin_protection + self.language = language + self.label = label + self.u2f_counter = u2f_counter + self.skip_backup = skip_backup + self.no_backup = no_backup + + @classmethod + def get_fields(cls): + return { + 1: ('display_random', p.BoolType, 0), + 2: ('strength', p.UVarintType, 0), # default=256 + 3: ('passphrase_protection', p.BoolType, 0), + 4: ('pin_protection', p.BoolType, 0), + 5: ('language', p.UnicodeType, 0), # default=english + 6: ('label', p.UnicodeType, 0), + 7: ('u2f_counter', p.UVarintType, 0), + 8: ('skip_backup', p.BoolType, 0), + 9: ('no_backup', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/RippleAddress.py b/python/trezorlib/messages/RippleAddress.py new file mode 100644 index 000000000..d3eb6f0ec --- /dev/null +++ b/python/trezorlib/messages/RippleAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class RippleAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 401 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/RippleGetAddress.py b/python/trezorlib/messages/RippleGetAddress.py new file mode 100644 index 000000000..e693f3ee1 --- /dev/null +++ b/python/trezorlib/messages/RippleGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class RippleGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 400 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/RipplePayment.py b/python/trezorlib/messages/RipplePayment.py new file mode 100644 index 000000000..a3ca984bc --- /dev/null +++ b/python/trezorlib/messages/RipplePayment.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class RipplePayment(p.MessageType): + + def __init__( + self, + amount: int = None, + destination: str = None, + destination_tag: int = None, + ) -> None: + self.amount = amount + self.destination = destination + self.destination_tag = destination_tag + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), + 2: ('destination', p.UnicodeType, 0), + 3: ('destination_tag', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/RippleSignTx.py b/python/trezorlib/messages/RippleSignTx.py new file mode 100644 index 000000000..8efda24d8 --- /dev/null +++ b/python/trezorlib/messages/RippleSignTx.py @@ -0,0 +1,42 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .RipplePayment import RipplePayment + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class RippleSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 402 + + def __init__( + self, + address_n: List[int] = None, + fee: int = None, + flags: int = None, + sequence: int = None, + last_ledger_sequence: int = None, + payment: RipplePayment = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.fee = fee + self.flags = flags + self.sequence = sequence + self.last_ledger_sequence = last_ledger_sequence + self.payment = payment + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('fee', p.UVarintType, 0), + 3: ('flags', p.UVarintType, 0), + 4: ('sequence', p.UVarintType, 0), + 5: ('last_ledger_sequence', p.UVarintType, 0), + 6: ('payment', RipplePayment, 0), + } diff --git a/python/trezorlib/messages/RippleSignedTx.py b/python/trezorlib/messages/RippleSignedTx.py new file mode 100644 index 000000000..163073019 --- /dev/null +++ b/python/trezorlib/messages/RippleSignedTx.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class RippleSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 403 + + def __init__( + self, + signature: bytes = None, + serialized_tx: bytes = None, + ) -> None: + self.signature = signature + self.serialized_tx = serialized_tx + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('serialized_tx', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/SelfTest.py b/python/trezorlib/messages/SelfTest.py new file mode 100644 index 000000000..4894ed541 --- /dev/null +++ b/python/trezorlib/messages/SelfTest.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class SelfTest(p.MessageType): + MESSAGE_WIRE_TYPE = 32 + + def __init__( + self, + payload: bytes = None, + ) -> None: + self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('payload', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/SetU2FCounter.py b/python/trezorlib/messages/SetU2FCounter.py new file mode 100644 index 000000000..dd6a51302 --- /dev/null +++ b/python/trezorlib/messages/SetU2FCounter.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class SetU2FCounter(p.MessageType): + MESSAGE_WIRE_TYPE = 63 + + def __init__( + self, + u2f_counter: int = None, + ) -> None: + self.u2f_counter = u2f_counter + + @classmethod + def get_fields(cls): + return { + 1: ('u2f_counter', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/SignIdentity.py b/python/trezorlib/messages/SignIdentity.py new file mode 100644 index 000000000..0d4579a35 --- /dev/null +++ b/python/trezorlib/messages/SignIdentity.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .IdentityType import IdentityType + + +class SignIdentity(p.MessageType): + MESSAGE_WIRE_TYPE = 53 + + def __init__( + self, + identity: IdentityType = None, + challenge_hidden: bytes = None, + challenge_visual: str = None, + ecdsa_curve_name: str = None, + ) -> None: + self.identity = identity + self.challenge_hidden = challenge_hidden + self.challenge_visual = challenge_visual + self.ecdsa_curve_name = ecdsa_curve_name + + @classmethod + def get_fields(cls): + return { + 1: ('identity', IdentityType, 0), + 2: ('challenge_hidden', p.BytesType, 0), + 3: ('challenge_visual', p.UnicodeType, 0), + 4: ('ecdsa_curve_name', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/SignMessage.py b/python/trezorlib/messages/SignMessage.py new file mode 100644 index 000000000..95cbb1595 --- /dev/null +++ b/python/trezorlib/messages/SignMessage.py @@ -0,0 +1,34 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class SignMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 38 + + def __init__( + self, + address_n: List[int] = None, + message: bytes = None, + coin_name: str = None, + script_type: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.message = message + self.coin_name = coin_name + self.script_type = script_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('message', p.BytesType, 0), # required + 3: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 4: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + } diff --git a/python/trezorlib/messages/SignTx.py b/python/trezorlib/messages/SignTx.py new file mode 100644 index 000000000..cc2359d0d --- /dev/null +++ b/python/trezorlib/messages/SignTx.py @@ -0,0 +1,46 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class SignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 15 + + def __init__( + self, + outputs_count: int = None, + inputs_count: int = None, + coin_name: str = None, + version: int = None, + lock_time: int = None, + expiry: int = None, + overwintered: bool = None, + version_group_id: int = None, + timestamp: int = None, + branch_id: int = None, + ) -> None: + self.outputs_count = outputs_count + self.inputs_count = inputs_count + self.coin_name = coin_name + self.version = version + self.lock_time = lock_time + self.expiry = expiry + self.overwintered = overwintered + self.version_group_id = version_group_id + self.timestamp = timestamp + self.branch_id = branch_id + + @classmethod + def get_fields(cls): + return { + 1: ('outputs_count', p.UVarintType, 0), # required + 2: ('inputs_count', p.UVarintType, 0), # required + 3: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 4: ('version', p.UVarintType, 0), # default=1 + 5: ('lock_time', p.UVarintType, 0), # default=0 + 6: ('expiry', p.UVarintType, 0), + 7: ('overwintered', p.BoolType, 0), + 8: ('version_group_id', p.UVarintType, 0), + 9: ('timestamp', p.UVarintType, 0), + 10: ('branch_id', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/SignedIdentity.py b/python/trezorlib/messages/SignedIdentity.py new file mode 100644 index 000000000..25bc39277 --- /dev/null +++ b/python/trezorlib/messages/SignedIdentity.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class SignedIdentity(p.MessageType): + MESSAGE_WIRE_TYPE = 54 + + def __init__( + self, + address: str = None, + public_key: bytes = None, + signature: bytes = None, + ) -> None: + self.address = address + self.public_key = public_key + self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('public_key', p.BytesType, 0), + 3: ('signature', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/StellarAccountMergeOp.py b/python/trezorlib/messages/StellarAccountMergeOp.py new file mode 100644 index 000000000..1a8a5f1ee --- /dev/null +++ b/python/trezorlib/messages/StellarAccountMergeOp.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarAccountMergeOp(p.MessageType): + MESSAGE_WIRE_TYPE = 218 + + def __init__( + self, + source_account: str = None, + destination_account: str = None, + ) -> None: + self.source_account = source_account + self.destination_account = destination_account + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('destination_account', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/StellarAddress.py b/python/trezorlib/messages/StellarAddress.py new file mode 100644 index 000000000..702422805 --- /dev/null +++ b/python/trezorlib/messages/StellarAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 208 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/StellarAllowTrustOp.py b/python/trezorlib/messages/StellarAllowTrustOp.py new file mode 100644 index 000000000..544f02c0b --- /dev/null +++ b/python/trezorlib/messages/StellarAllowTrustOp.py @@ -0,0 +1,31 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarAllowTrustOp(p.MessageType): + MESSAGE_WIRE_TYPE = 217 + + def __init__( + self, + source_account: str = None, + trusted_account: str = None, + asset_type: int = None, + asset_code: str = None, + is_authorized: int = None, + ) -> None: + self.source_account = source_account + self.trusted_account = trusted_account + self.asset_type = asset_type + self.asset_code = asset_code + self.is_authorized = is_authorized + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('trusted_account', p.UnicodeType, 0), + 3: ('asset_type', p.UVarintType, 0), + 4: ('asset_code', p.UnicodeType, 0), + 5: ('is_authorized', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarAssetType.py b/python/trezorlib/messages/StellarAssetType.py new file mode 100644 index 000000000..ba49db561 --- /dev/null +++ b/python/trezorlib/messages/StellarAssetType.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarAssetType(p.MessageType): + + def __init__( + self, + type: int = None, + code: str = None, + issuer: str = None, + ) -> None: + self.type = type + self.code = code + self.issuer = issuer + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + 2: ('code', p.UnicodeType, 0), + 3: ('issuer', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/StellarBumpSequenceOp.py b/python/trezorlib/messages/StellarBumpSequenceOp.py new file mode 100644 index 000000000..0cc6ec531 --- /dev/null +++ b/python/trezorlib/messages/StellarBumpSequenceOp.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarBumpSequenceOp(p.MessageType): + MESSAGE_WIRE_TYPE = 221 + + def __init__( + self, + source_account: str = None, + bump_to: int = None, + ) -> None: + self.source_account = source_account + self.bump_to = bump_to + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('bump_to', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarChangeTrustOp.py b/python/trezorlib/messages/StellarChangeTrustOp.py new file mode 100644 index 000000000..cacd6540c --- /dev/null +++ b/python/trezorlib/messages/StellarChangeTrustOp.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .StellarAssetType import StellarAssetType + + +class StellarChangeTrustOp(p.MessageType): + MESSAGE_WIRE_TYPE = 216 + + def __init__( + self, + source_account: str = None, + asset: StellarAssetType = None, + limit: int = None, + ) -> None: + self.source_account = source_account + self.asset = asset + self.limit = limit + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('asset', StellarAssetType, 0), + 3: ('limit', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarCreateAccountOp.py b/python/trezorlib/messages/StellarCreateAccountOp.py new file mode 100644 index 000000000..947037189 --- /dev/null +++ b/python/trezorlib/messages/StellarCreateAccountOp.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarCreateAccountOp(p.MessageType): + MESSAGE_WIRE_TYPE = 210 + + def __init__( + self, + source_account: str = None, + new_account: str = None, + starting_balance: int = None, + ) -> None: + self.source_account = source_account + self.new_account = new_account + self.starting_balance = starting_balance + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('new_account', p.UnicodeType, 0), + 3: ('starting_balance', p.SVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarCreatePassiveOfferOp.py b/python/trezorlib/messages/StellarCreatePassiveOfferOp.py new file mode 100644 index 000000000..ec3859b0e --- /dev/null +++ b/python/trezorlib/messages/StellarCreatePassiveOfferOp.py @@ -0,0 +1,36 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .StellarAssetType import StellarAssetType + + +class StellarCreatePassiveOfferOp(p.MessageType): + MESSAGE_WIRE_TYPE = 214 + + def __init__( + self, + source_account: str = None, + selling_asset: StellarAssetType = None, + buying_asset: StellarAssetType = None, + amount: int = None, + price_n: int = None, + price_d: int = None, + ) -> None: + self.source_account = source_account + self.selling_asset = selling_asset + self.buying_asset = buying_asset + self.amount = amount + self.price_n = price_n + self.price_d = price_d + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('selling_asset', StellarAssetType, 0), + 3: ('buying_asset', StellarAssetType, 0), + 4: ('amount', p.SVarintType, 0), + 5: ('price_n', p.UVarintType, 0), + 6: ('price_d', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarGetAddress.py b/python/trezorlib/messages/StellarGetAddress.py new file mode 100644 index 000000000..0bd1b5461 --- /dev/null +++ b/python/trezorlib/messages/StellarGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class StellarGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 207 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/StellarManageDataOp.py b/python/trezorlib/messages/StellarManageDataOp.py new file mode 100644 index 000000000..031018adf --- /dev/null +++ b/python/trezorlib/messages/StellarManageDataOp.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarManageDataOp(p.MessageType): + MESSAGE_WIRE_TYPE = 220 + + def __init__( + self, + source_account: str = None, + key: str = None, + value: bytes = None, + ) -> None: + self.source_account = source_account + self.key = key + self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('key', p.UnicodeType, 0), + 3: ('value', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/StellarManageOfferOp.py b/python/trezorlib/messages/StellarManageOfferOp.py new file mode 100644 index 000000000..8893a0bee --- /dev/null +++ b/python/trezorlib/messages/StellarManageOfferOp.py @@ -0,0 +1,39 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .StellarAssetType import StellarAssetType + + +class StellarManageOfferOp(p.MessageType): + MESSAGE_WIRE_TYPE = 213 + + def __init__( + self, + source_account: str = None, + selling_asset: StellarAssetType = None, + buying_asset: StellarAssetType = None, + amount: int = None, + price_n: int = None, + price_d: int = None, + offer_id: int = None, + ) -> None: + self.source_account = source_account + self.selling_asset = selling_asset + self.buying_asset = buying_asset + self.amount = amount + self.price_n = price_n + self.price_d = price_d + self.offer_id = offer_id + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('selling_asset', StellarAssetType, 0), + 3: ('buying_asset', StellarAssetType, 0), + 4: ('amount', p.SVarintType, 0), + 5: ('price_n', p.UVarintType, 0), + 6: ('price_d', p.UVarintType, 0), + 7: ('offer_id', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarPathPaymentOp.py b/python/trezorlib/messages/StellarPathPaymentOp.py new file mode 100644 index 000000000..ce10558f8 --- /dev/null +++ b/python/trezorlib/messages/StellarPathPaymentOp.py @@ -0,0 +1,45 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .StellarAssetType import StellarAssetType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class StellarPathPaymentOp(p.MessageType): + MESSAGE_WIRE_TYPE = 212 + + def __init__( + self, + source_account: str = None, + send_asset: StellarAssetType = None, + send_max: int = None, + destination_account: str = None, + destination_asset: StellarAssetType = None, + destination_amount: int = None, + paths: List[StellarAssetType] = None, + ) -> None: + self.source_account = source_account + self.send_asset = send_asset + self.send_max = send_max + self.destination_account = destination_account + self.destination_asset = destination_asset + self.destination_amount = destination_amount + self.paths = paths if paths is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('send_asset', StellarAssetType, 0), + 3: ('send_max', p.SVarintType, 0), + 4: ('destination_account', p.UnicodeType, 0), + 5: ('destination_asset', StellarAssetType, 0), + 6: ('destination_amount', p.SVarintType, 0), + 7: ('paths', StellarAssetType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/StellarPaymentOp.py b/python/trezorlib/messages/StellarPaymentOp.py new file mode 100644 index 000000000..9f7d0f1ba --- /dev/null +++ b/python/trezorlib/messages/StellarPaymentOp.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .StellarAssetType import StellarAssetType + + +class StellarPaymentOp(p.MessageType): + MESSAGE_WIRE_TYPE = 211 + + def __init__( + self, + source_account: str = None, + destination_account: str = None, + asset: StellarAssetType = None, + amount: int = None, + ) -> None: + self.source_account = source_account + self.destination_account = destination_account + self.asset = asset + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('destination_account', p.UnicodeType, 0), + 3: ('asset', StellarAssetType, 0), + 4: ('amount', p.SVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarSetOptionsOp.py b/python/trezorlib/messages/StellarSetOptionsOp.py new file mode 100644 index 000000000..5bba827ed --- /dev/null +++ b/python/trezorlib/messages/StellarSetOptionsOp.py @@ -0,0 +1,52 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarSetOptionsOp(p.MessageType): + MESSAGE_WIRE_TYPE = 215 + + def __init__( + self, + source_account: str = None, + inflation_destination_account: str = None, + clear_flags: int = None, + set_flags: int = None, + master_weight: int = None, + low_threshold: int = None, + medium_threshold: int = None, + high_threshold: int = None, + home_domain: str = None, + signer_type: int = None, + signer_key: bytes = None, + signer_weight: int = None, + ) -> None: + self.source_account = source_account + self.inflation_destination_account = inflation_destination_account + self.clear_flags = clear_flags + self.set_flags = set_flags + self.master_weight = master_weight + self.low_threshold = low_threshold + self.medium_threshold = medium_threshold + self.high_threshold = high_threshold + self.home_domain = home_domain + self.signer_type = signer_type + self.signer_key = signer_key + self.signer_weight = signer_weight + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('inflation_destination_account', p.UnicodeType, 0), + 3: ('clear_flags', p.UVarintType, 0), + 4: ('set_flags', p.UVarintType, 0), + 5: ('master_weight', p.UVarintType, 0), + 6: ('low_threshold', p.UVarintType, 0), + 7: ('medium_threshold', p.UVarintType, 0), + 8: ('high_threshold', p.UVarintType, 0), + 9: ('home_domain', p.UnicodeType, 0), + 10: ('signer_type', p.UVarintType, 0), + 11: ('signer_key', p.BytesType, 0), + 12: ('signer_weight', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarSignTx.py b/python/trezorlib/messages/StellarSignTx.py new file mode 100644 index 000000000..c046e42df --- /dev/null +++ b/python/trezorlib/messages/StellarSignTx.py @@ -0,0 +1,58 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class StellarSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 202 + + def __init__( + self, + address_n: List[int] = None, + network_passphrase: str = None, + source_account: str = None, + fee: int = None, + sequence_number: int = None, + timebounds_start: int = None, + timebounds_end: int = None, + memo_type: int = None, + memo_text: str = None, + memo_id: int = None, + memo_hash: bytes = None, + num_operations: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.network_passphrase = network_passphrase + self.source_account = source_account + self.fee = fee + self.sequence_number = sequence_number + self.timebounds_start = timebounds_start + self.timebounds_end = timebounds_end + self.memo_type = memo_type + self.memo_text = memo_text + self.memo_id = memo_id + self.memo_hash = memo_hash + self.num_operations = num_operations + + @classmethod + def get_fields(cls): + return { + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('network_passphrase', p.UnicodeType, 0), + 4: ('source_account', p.UnicodeType, 0), + 5: ('fee', p.UVarintType, 0), + 6: ('sequence_number', p.UVarintType, 0), + 8: ('timebounds_start', p.UVarintType, 0), + 9: ('timebounds_end', p.UVarintType, 0), + 10: ('memo_type', p.UVarintType, 0), + 11: ('memo_text', p.UnicodeType, 0), + 12: ('memo_id', p.UVarintType, 0), + 13: ('memo_hash', p.BytesType, 0), + 14: ('num_operations', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/StellarSignedTx.py b/python/trezorlib/messages/StellarSignedTx.py new file mode 100644 index 000000000..654a4f5e7 --- /dev/null +++ b/python/trezorlib/messages/StellarSignedTx.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 230 + + def __init__( + self, + public_key: bytes = None, + signature: bytes = None, + ) -> None: + self.public_key = public_key + self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/StellarTxOpRequest.py b/python/trezorlib/messages/StellarTxOpRequest.py new file mode 100644 index 000000000..95c4198ce --- /dev/null +++ b/python/trezorlib/messages/StellarTxOpRequest.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class StellarTxOpRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 203 diff --git a/python/trezorlib/messages/Success.py b/python/trezorlib/messages/Success.py new file mode 100644 index 000000000..ec91c8217 --- /dev/null +++ b/python/trezorlib/messages/Success.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class Success(p.MessageType): + MESSAGE_WIRE_TYPE = 2 + + def __init__( + self, + message: str = None, + ) -> None: + self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('message', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TezosAddress.py b/python/trezorlib/messages/TezosAddress.py new file mode 100644 index 000000000..65322dc3c --- /dev/null +++ b/python/trezorlib/messages/TezosAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TezosAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 151 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TezosBallotOp.py b/python/trezorlib/messages/TezosBallotOp.py new file mode 100644 index 000000000..30c9741bb --- /dev/null +++ b/python/trezorlib/messages/TezosBallotOp.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TezosBallotOp(p.MessageType): + + def __init__( + self, + source: bytes = None, + period: int = None, + proposal: bytes = None, + ballot: int = None, + ) -> None: + self.source = source + self.period = period + self.proposal = proposal + self.ballot = ballot + + @classmethod + def get_fields(cls): + return { + 1: ('source', p.BytesType, 0), + 2: ('period', p.UVarintType, 0), + 3: ('proposal', p.BytesType, 0), + 4: ('ballot', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TezosBallotType.py b/python/trezorlib/messages/TezosBallotType.py new file mode 100644 index 000000000..1d955862f --- /dev/null +++ b/python/trezorlib/messages/TezosBallotType.py @@ -0,0 +1,5 @@ +# Automatically generated by pb2py +# fmt: off +Yay = 0 +Nay = 1 +Pass = 2 diff --git a/python/trezorlib/messages/TezosContractID.py b/python/trezorlib/messages/TezosContractID.py new file mode 100644 index 000000000..24ccf2a61 --- /dev/null +++ b/python/trezorlib/messages/TezosContractID.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TezosContractID(p.MessageType): + + def __init__( + self, + tag: int = None, + hash: bytes = None, + ) -> None: + self.tag = tag + self.hash = hash + + @classmethod + def get_fields(cls): + return { + 1: ('tag', p.UVarintType, 0), + 2: ('hash', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/TezosContractType.py b/python/trezorlib/messages/TezosContractType.py new file mode 100644 index 000000000..04275b086 --- /dev/null +++ b/python/trezorlib/messages/TezosContractType.py @@ -0,0 +1,4 @@ +# Automatically generated by pb2py +# fmt: off +Implicit = 0 +Originated = 1 diff --git a/python/trezorlib/messages/TezosDelegationOp.py b/python/trezorlib/messages/TezosDelegationOp.py new file mode 100644 index 000000000..0c41f70d1 --- /dev/null +++ b/python/trezorlib/messages/TezosDelegationOp.py @@ -0,0 +1,35 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TezosContractID import TezosContractID + + +class TezosDelegationOp(p.MessageType): + + def __init__( + self, + source: TezosContractID = None, + fee: int = None, + counter: int = None, + gas_limit: int = None, + storage_limit: int = None, + delegate: bytes = None, + ) -> None: + self.source = source + self.fee = fee + self.counter = counter + self.gas_limit = gas_limit + self.storage_limit = storage_limit + self.delegate = delegate + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('delegate', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/TezosGetAddress.py b/python/trezorlib/messages/TezosGetAddress.py new file mode 100644 index 000000000..248e085c8 --- /dev/null +++ b/python/trezorlib/messages/TezosGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TezosGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 150 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/TezosGetPublicKey.py b/python/trezorlib/messages/TezosGetPublicKey.py new file mode 100644 index 000000000..613ef2521 --- /dev/null +++ b/python/trezorlib/messages/TezosGetPublicKey.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TezosGetPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 154 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/TezosOriginationOp.py b/python/trezorlib/messages/TezosOriginationOp.py new file mode 100644 index 000000000..2a1e34dcd --- /dev/null +++ b/python/trezorlib/messages/TezosOriginationOp.py @@ -0,0 +1,50 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TezosContractID import TezosContractID + + +class TezosOriginationOp(p.MessageType): + + def __init__( + self, + source: TezosContractID = None, + fee: int = None, + counter: int = None, + gas_limit: int = None, + storage_limit: int = None, + manager_pubkey: bytes = None, + balance: int = None, + spendable: bool = None, + delegatable: bool = None, + delegate: bytes = None, + script: bytes = None, + ) -> None: + self.source = source + self.fee = fee + self.counter = counter + self.gas_limit = gas_limit + self.storage_limit = storage_limit + self.manager_pubkey = manager_pubkey + self.balance = balance + self.spendable = spendable + self.delegatable = delegatable + self.delegate = delegate + self.script = script + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('manager_pubkey', p.BytesType, 0), + 7: ('balance', p.UVarintType, 0), + 8: ('spendable', p.BoolType, 0), + 9: ('delegatable', p.BoolType, 0), + 10: ('delegate', p.BytesType, 0), + 11: ('script', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/TezosProposalOp.py b/python/trezorlib/messages/TezosProposalOp.py new file mode 100644 index 000000000..380d7f976 --- /dev/null +++ b/python/trezorlib/messages/TezosProposalOp.py @@ -0,0 +1,30 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TezosProposalOp(p.MessageType): + + def __init__( + self, + source: bytes = None, + period: int = None, + proposals: List[bytes] = None, + ) -> None: + self.source = source + self.period = period + self.proposals = proposals if proposals is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('source', p.BytesType, 0), + 2: ('period', p.UVarintType, 0), + 4: ('proposals', p.BytesType, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/TezosPublicKey.py b/python/trezorlib/messages/TezosPublicKey.py new file mode 100644 index 000000000..552933c37 --- /dev/null +++ b/python/trezorlib/messages/TezosPublicKey.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TezosPublicKey(p.MessageType): + MESSAGE_WIRE_TYPE = 155 + + def __init__( + self, + public_key: str = None, + ) -> None: + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TezosRevealOp.py b/python/trezorlib/messages/TezosRevealOp.py new file mode 100644 index 000000000..e87f995af --- /dev/null +++ b/python/trezorlib/messages/TezosRevealOp.py @@ -0,0 +1,35 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TezosContractID import TezosContractID + + +class TezosRevealOp(p.MessageType): + + def __init__( + self, + source: TezosContractID = None, + fee: int = None, + counter: int = None, + gas_limit: int = None, + storage_limit: int = None, + public_key: bytes = None, + ) -> None: + self.source = source + self.fee = fee + self.counter = counter + self.gas_limit = gas_limit + self.storage_limit = storage_limit + self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('public_key', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/TezosSignTx.py b/python/trezorlib/messages/TezosSignTx.py new file mode 100644 index 000000000..9e35bb60d --- /dev/null +++ b/python/trezorlib/messages/TezosSignTx.py @@ -0,0 +1,53 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TezosBallotOp import TezosBallotOp +from .TezosDelegationOp import TezosDelegationOp +from .TezosOriginationOp import TezosOriginationOp +from .TezosProposalOp import TezosProposalOp +from .TezosRevealOp import TezosRevealOp +from .TezosTransactionOp import TezosTransactionOp + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TezosSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 152 + + def __init__( + self, + address_n: List[int] = None, + branch: bytes = None, + reveal: TezosRevealOp = None, + transaction: TezosTransactionOp = None, + origination: TezosOriginationOp = None, + delegation: TezosDelegationOp = None, + proposal: TezosProposalOp = None, + ballot: TezosBallotOp = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.branch = branch + self.reveal = reveal + self.transaction = transaction + self.origination = origination + self.delegation = delegation + self.proposal = proposal + self.ballot = ballot + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('branch', p.BytesType, 0), + 3: ('reveal', TezosRevealOp, 0), + 4: ('transaction', TezosTransactionOp, 0), + 5: ('origination', TezosOriginationOp, 0), + 6: ('delegation', TezosDelegationOp, 0), + 7: ('proposal', TezosProposalOp, 0), + 8: ('ballot', TezosBallotOp, 0), + } diff --git a/python/trezorlib/messages/TezosSignedTx.py b/python/trezorlib/messages/TezosSignedTx.py new file mode 100644 index 000000000..bf306213a --- /dev/null +++ b/python/trezorlib/messages/TezosSignedTx.py @@ -0,0 +1,25 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TezosSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 153 + + def __init__( + self, + signature: str = None, + sig_op_contents: bytes = None, + operation_hash: str = None, + ) -> None: + self.signature = signature + self.sig_op_contents = sig_op_contents + self.operation_hash = operation_hash + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.UnicodeType, 0), + 2: ('sig_op_contents', p.BytesType, 0), + 3: ('operation_hash', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TezosTransactionOp.py b/python/trezorlib/messages/TezosTransactionOp.py new file mode 100644 index 000000000..7ae39cb38 --- /dev/null +++ b/python/trezorlib/messages/TezosTransactionOp.py @@ -0,0 +1,41 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TezosContractID import TezosContractID + + +class TezosTransactionOp(p.MessageType): + + def __init__( + self, + source: TezosContractID = None, + fee: int = None, + counter: int = None, + gas_limit: int = None, + storage_limit: int = None, + amount: int = None, + destination: TezosContractID = None, + parameters: bytes = None, + ) -> None: + self.source = source + self.fee = fee + self.counter = counter + self.gas_limit = gas_limit + self.storage_limit = storage_limit + self.amount = amount + self.destination = destination + self.parameters = parameters + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('amount', p.UVarintType, 0), + 7: ('destination', TezosContractID, 0), + 8: ('parameters', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/TransactionType.py b/python/trezorlib/messages/TransactionType.py new file mode 100644 index 000000000..dad2a5f94 --- /dev/null +++ b/python/trezorlib/messages/TransactionType.py @@ -0,0 +1,67 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TxInputType import TxInputType +from .TxOutputBinType import TxOutputBinType +from .TxOutputType import TxOutputType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TransactionType(p.MessageType): + + def __init__( + self, + version: int = None, + inputs: List[TxInputType] = None, + bin_outputs: List[TxOutputBinType] = None, + lock_time: int = None, + outputs: List[TxOutputType] = None, + inputs_cnt: int = None, + outputs_cnt: int = None, + extra_data: bytes = None, + extra_data_len: int = None, + expiry: int = None, + overwintered: bool = None, + version_group_id: int = None, + timestamp: int = None, + branch_id: int = None, + ) -> None: + self.version = version + self.inputs = inputs if inputs is not None else [] + self.bin_outputs = bin_outputs if bin_outputs is not None else [] + self.lock_time = lock_time + self.outputs = outputs if outputs is not None else [] + self.inputs_cnt = inputs_cnt + self.outputs_cnt = outputs_cnt + self.extra_data = extra_data + self.extra_data_len = extra_data_len + self.expiry = expiry + self.overwintered = overwintered + self.version_group_id = version_group_id + self.timestamp = timestamp + self.branch_id = branch_id + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('inputs', TxInputType, p.FLAG_REPEATED), + 3: ('bin_outputs', TxOutputBinType, p.FLAG_REPEATED), + 4: ('lock_time', p.UVarintType, 0), + 5: ('outputs', TxOutputType, p.FLAG_REPEATED), + 6: ('inputs_cnt', p.UVarintType, 0), + 7: ('outputs_cnt', p.UVarintType, 0), + 8: ('extra_data', p.BytesType, 0), + 9: ('extra_data_len', p.UVarintType, 0), + 10: ('expiry', p.UVarintType, 0), + 11: ('overwintered', p.BoolType, 0), + 12: ('version_group_id', p.UVarintType, 0), + 13: ('timestamp', p.UVarintType, 0), + 14: ('branch_id', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronAccountUpdateContract.py b/python/trezorlib/messages/TronAccountUpdateContract.py new file mode 100644 index 000000000..b20034828 --- /dev/null +++ b/python/trezorlib/messages/TronAccountUpdateContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronAccountUpdateContract(p.MessageType): + + def __init__( + self, + account_name: str = None, + ) -> None: + self.account_name = account_name + + @classmethod + def get_fields(cls): + return { + 1: ('account_name', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TronAddress.py b/python/trezorlib/messages/TronAddress.py new file mode 100644 index 000000000..5f498725c --- /dev/null +++ b/python/trezorlib/messages/TronAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 251 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TronAssetIssueContract.py b/python/trezorlib/messages/TronAssetIssueContract.py new file mode 100644 index 000000000..6931d56f2 --- /dev/null +++ b/python/trezorlib/messages/TronAssetIssueContract.py @@ -0,0 +1,53 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TronFrozenSupply import TronFrozenSupply + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronAssetIssueContract(p.MessageType): + + def __init__( + self, + name: str = None, + abbr: str = None, + total_supply: int = None, + frozen_supply: List[TronFrozenSupply] = None, + trx_num: int = None, + num: int = None, + start_time: int = None, + end_time: int = None, + description: str = None, + url: str = None, + ) -> None: + self.name = name + self.abbr = abbr + self.total_supply = total_supply + self.frozen_supply = frozen_supply if frozen_supply is not None else [] + self.trx_num = trx_num + self.num = num + self.start_time = start_time + self.end_time = end_time + self.description = description + self.url = url + + @classmethod + def get_fields(cls): + return { + 2: ('name', p.UnicodeType, 0), + 3: ('abbr', p.UnicodeType, 0), + 4: ('total_supply', p.UVarintType, 0), + 5: ('frozen_supply', TronFrozenSupply, p.FLAG_REPEATED), + 6: ('trx_num', p.UVarintType, 0), + 7: ('num', p.UVarintType, 0), + 8: ('start_time', p.UVarintType, 0), + 9: ('end_time', p.UVarintType, 0), + 10: ('description', p.UnicodeType, 0), + 11: ('url', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TronContract.py b/python/trezorlib/messages/TronContract.py new file mode 100644 index 000000000..b9681f69b --- /dev/null +++ b/python/trezorlib/messages/TronContract.py @@ -0,0 +1,80 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TronAccountUpdateContract import TronAccountUpdateContract +from .TronAssetIssueContract import TronAssetIssueContract +from .TronFreezeBalanceContract import TronFreezeBalanceContract +from .TronParticipateAssetIssueContract import TronParticipateAssetIssueContract +from .TronProposalApproveContract import TronProposalApproveContract +from .TronProposalCreateContract import TronProposalCreateContract +from .TronProposalDeleteContract import TronProposalDeleteContract +from .TronTransferAssetContract import TronTransferAssetContract +from .TronTransferContract import TronTransferContract +from .TronUnfreezeAssetContract import TronUnfreezeAssetContract +from .TronUnfreezeBalanceContract import TronUnfreezeBalanceContract +from .TronUpdateAssetContract import TronUpdateAssetContract +from .TronVoteWitnessContract import TronVoteWitnessContract +from .TronWithdrawBalanceContract import TronWithdrawBalanceContract +from .TronWitnessCreateContract import TronWitnessCreateContract +from .TronWitnessUpdateContract import TronWitnessUpdateContract + + +class TronContract(p.MessageType): + + def __init__( + self, + transfer_contract: TronTransferContract = None, + transfer_asset_contract: TronTransferAssetContract = None, + vote_witness_contract: TronVoteWitnessContract = None, + witness_create_contract: TronWitnessCreateContract = None, + asset_issue_contract: TronAssetIssueContract = None, + witness_update_contract: TronWitnessUpdateContract = None, + participate_asset_issue_contract: TronParticipateAssetIssueContract = None, + account_update_contract: TronAccountUpdateContract = None, + freeze_balance_contract: TronFreezeBalanceContract = None, + unfreeze_balance_contract: TronUnfreezeBalanceContract = None, + withdraw_balance_contract: TronWithdrawBalanceContract = None, + unfreeze_asset_contract: TronUnfreezeAssetContract = None, + update_asset_contract: TronUpdateAssetContract = None, + proposal_create_contract: TronProposalCreateContract = None, + proposal_approve_contract: TronProposalApproveContract = None, + proposal_delete_contract: TronProposalDeleteContract = None, + ) -> None: + self.transfer_contract = transfer_contract + self.transfer_asset_contract = transfer_asset_contract + self.vote_witness_contract = vote_witness_contract + self.witness_create_contract = witness_create_contract + self.asset_issue_contract = asset_issue_contract + self.witness_update_contract = witness_update_contract + self.participate_asset_issue_contract = participate_asset_issue_contract + self.account_update_contract = account_update_contract + self.freeze_balance_contract = freeze_balance_contract + self.unfreeze_balance_contract = unfreeze_balance_contract + self.withdraw_balance_contract = withdraw_balance_contract + self.unfreeze_asset_contract = unfreeze_asset_contract + self.update_asset_contract = update_asset_contract + self.proposal_create_contract = proposal_create_contract + self.proposal_approve_contract = proposal_approve_contract + self.proposal_delete_contract = proposal_delete_contract + + @classmethod + def get_fields(cls): + return { + 1: ('transfer_contract', TronTransferContract, 0), + 2: ('transfer_asset_contract', TronTransferAssetContract, 0), + 4: ('vote_witness_contract', TronVoteWitnessContract, 0), + 5: ('witness_create_contract', TronWitnessCreateContract, 0), + 6: ('asset_issue_contract', TronAssetIssueContract, 0), + 8: ('witness_update_contract', TronWitnessUpdateContract, 0), + 9: ('participate_asset_issue_contract', TronParticipateAssetIssueContract, 0), + 10: ('account_update_contract', TronAccountUpdateContract, 0), + 11: ('freeze_balance_contract', TronFreezeBalanceContract, 0), + 12: ('unfreeze_balance_contract', TronUnfreezeBalanceContract, 0), + 13: ('withdraw_balance_contract', TronWithdrawBalanceContract, 0), + 14: ('unfreeze_asset_contract', TronUnfreezeAssetContract, 0), + 15: ('update_asset_contract', TronUpdateAssetContract, 0), + 16: ('proposal_create_contract', TronProposalCreateContract, 0), + 17: ('proposal_approve_contract', TronProposalApproveContract, 0), + 18: ('proposal_delete_contract', TronProposalDeleteContract, 0), + } diff --git a/python/trezorlib/messages/TronFreezeBalanceContract.py b/python/trezorlib/messages/TronFreezeBalanceContract.py new file mode 100644 index 000000000..6390df577 --- /dev/null +++ b/python/trezorlib/messages/TronFreezeBalanceContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronFreezeBalanceContract(p.MessageType): + + def __init__( + self, + frozen_balance: int = None, + frozen_duration: int = None, + ) -> None: + self.frozen_balance = frozen_balance + self.frozen_duration = frozen_duration + + @classmethod + def get_fields(cls): + return { + 1: ('frozen_balance', p.UVarintType, 0), + 2: ('frozen_duration', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronFrozenSupply.py b/python/trezorlib/messages/TronFrozenSupply.py new file mode 100644 index 000000000..d4dbf7583 --- /dev/null +++ b/python/trezorlib/messages/TronFrozenSupply.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronFrozenSupply(p.MessageType): + + def __init__( + self, + frozen_amount: int = None, + frozen_days: int = None, + ) -> None: + self.frozen_amount = frozen_amount + self.frozen_days = frozen_days + + @classmethod + def get_fields(cls): + return { + 1: ('frozen_amount', p.UVarintType, 0), + 2: ('frozen_days', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronGetAddress.py b/python/trezorlib/messages/TronGetAddress.py new file mode 100644 index 000000000..208195dfc --- /dev/null +++ b/python/trezorlib/messages/TronGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 250 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/TronParticipateAssetIssueContract.py b/python/trezorlib/messages/TronParticipateAssetIssueContract.py new file mode 100644 index 000000000..225b7253c --- /dev/null +++ b/python/trezorlib/messages/TronParticipateAssetIssueContract.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronParticipateAssetIssueContract(p.MessageType): + + def __init__( + self, + to_address: bytes = None, + asset_name: str = None, + amount: int = None, + ) -> None: + self.to_address = to_address + self.asset_name = asset_name + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('to_address', p.BytesType, 0), + 2: ('asset_name', p.UnicodeType, 0), + 3: ('amount', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronProposalApproveContract.py b/python/trezorlib/messages/TronProposalApproveContract.py new file mode 100644 index 000000000..a3d9c015b --- /dev/null +++ b/python/trezorlib/messages/TronProposalApproveContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronProposalApproveContract(p.MessageType): + + def __init__( + self, + proposal_id: int = None, + is_add_approval: bool = None, + ) -> None: + self.proposal_id = proposal_id + self.is_add_approval = is_add_approval + + @classmethod + def get_fields(cls): + return { + 1: ('proposal_id', p.UVarintType, 0), + 2: ('is_add_approval', p.BoolType, 0), + } diff --git a/python/trezorlib/messages/TronProposalCreateContract.py b/python/trezorlib/messages/TronProposalCreateContract.py new file mode 100644 index 000000000..ed79c4de1 --- /dev/null +++ b/python/trezorlib/messages/TronProposalCreateContract.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TronProposalParameters import TronProposalParameters + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronProposalCreateContract(p.MessageType): + + def __init__( + self, + parameters: List[TronProposalParameters] = None, + ) -> None: + self.parameters = parameters if parameters is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('parameters', TronProposalParameters, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/TronProposalDeleteContract.py b/python/trezorlib/messages/TronProposalDeleteContract.py new file mode 100644 index 000000000..0bfd39afc --- /dev/null +++ b/python/trezorlib/messages/TronProposalDeleteContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronProposalDeleteContract(p.MessageType): + + def __init__( + self, + proposal_id: int = None, + ) -> None: + self.proposal_id = proposal_id + + @classmethod + def get_fields(cls): + return { + 1: ('proposal_id', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronProposalParameters.py b/python/trezorlib/messages/TronProposalParameters.py new file mode 100644 index 000000000..bb863ac65 --- /dev/null +++ b/python/trezorlib/messages/TronProposalParameters.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronProposalParameters(p.MessageType): + + def __init__( + self, + key: int = None, + value: int = None, + ) -> None: + self.key = key + self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('key', p.UVarintType, 0), + 2: ('value', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronSignTx.py b/python/trezorlib/messages/TronSignTx.py new file mode 100644 index 000000000..0871757ad --- /dev/null +++ b/python/trezorlib/messages/TronSignTx.py @@ -0,0 +1,45 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TronContract import TronContract + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 252 + + def __init__( + self, + address_n: List[int] = None, + ref_block_bytes: bytes = None, + ref_block_hash: bytes = None, + expiration: int = None, + data: str = None, + contract: TronContract = None, + timestamp: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.ref_block_bytes = ref_block_bytes + self.ref_block_hash = ref_block_hash + self.expiration = expiration + self.data = data + self.contract = contract + self.timestamp = timestamp + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('ref_block_bytes', p.BytesType, 0), + 3: ('ref_block_hash', p.BytesType, 0), + 4: ('expiration', p.UVarintType, 0), + 5: ('data', p.UnicodeType, 0), + 6: ('contract', TronContract, 0), + 7: ('timestamp', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronSignedTx.py b/python/trezorlib/messages/TronSignedTx.py new file mode 100644 index 000000000..fc2338947 --- /dev/null +++ b/python/trezorlib/messages/TronSignedTx.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 253 + + def __init__( + self, + signature: bytes = None, + serialized_tx: bytes = None, + ) -> None: + self.signature = signature + self.serialized_tx = serialized_tx + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('serialized_tx', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/TronTransferAssetContract.py b/python/trezorlib/messages/TronTransferAssetContract.py new file mode 100644 index 000000000..73badb22e --- /dev/null +++ b/python/trezorlib/messages/TronTransferAssetContract.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronTransferAssetContract(p.MessageType): + + def __init__( + self, + asset_name: str = None, + to_address: bytes = None, + amount: int = None, + ) -> None: + self.asset_name = asset_name + self.to_address = to_address + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('asset_name', p.UnicodeType, 0), + 2: ('to_address', p.BytesType, 0), + 3: ('amount', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronTransferContract.py b/python/trezorlib/messages/TronTransferContract.py new file mode 100644 index 000000000..f18905714 --- /dev/null +++ b/python/trezorlib/messages/TronTransferContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronTransferContract(p.MessageType): + + def __init__( + self, + to_address: bytes = None, + amount: int = None, + ) -> None: + self.to_address = to_address + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('to_address', p.BytesType, 0), + 2: ('amount', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronUnfreezeAssetContract.py b/python/trezorlib/messages/TronUnfreezeAssetContract.py new file mode 100644 index 000000000..c7689aa54 --- /dev/null +++ b/python/trezorlib/messages/TronUnfreezeAssetContract.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronUnfreezeAssetContract(p.MessageType): + pass diff --git a/python/trezorlib/messages/TronUnfreezeBalanceContract.py b/python/trezorlib/messages/TronUnfreezeBalanceContract.py new file mode 100644 index 000000000..348dc3058 --- /dev/null +++ b/python/trezorlib/messages/TronUnfreezeBalanceContract.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronUnfreezeBalanceContract(p.MessageType): + pass diff --git a/python/trezorlib/messages/TronUpdateAssetContract.py b/python/trezorlib/messages/TronUpdateAssetContract.py new file mode 100644 index 000000000..74a0d9058 --- /dev/null +++ b/python/trezorlib/messages/TronUpdateAssetContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronUpdateAssetContract(p.MessageType): + + def __init__( + self, + description: str = None, + url: str = None, + ) -> None: + self.description = description + self.url = url + + @classmethod + def get_fields(cls): + return { + 1: ('description', p.UnicodeType, 0), + 2: ('url', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TronVote.py b/python/trezorlib/messages/TronVote.py new file mode 100644 index 000000000..0db94abd5 --- /dev/null +++ b/python/trezorlib/messages/TronVote.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronVote(p.MessageType): + + def __init__( + self, + vote_address: bytes = None, + vote_count: int = None, + ) -> None: + self.vote_address = vote_address + self.vote_count = vote_count + + @classmethod + def get_fields(cls): + return { + 1: ('vote_address', p.BytesType, 0), + 2: ('vote_count', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TronVoteWitnessContract.py b/python/trezorlib/messages/TronVoteWitnessContract.py new file mode 100644 index 000000000..b795d04e1 --- /dev/null +++ b/python/trezorlib/messages/TronVoteWitnessContract.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TronVote import TronVote + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronVoteWitnessContract(p.MessageType): + + def __init__( + self, + votes: List[TronVote] = None, + ) -> None: + self.votes = votes if votes is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('votes', TronVote, p.FLAG_REPEATED), + } diff --git a/python/trezorlib/messages/TronWithdrawBalanceContract.py b/python/trezorlib/messages/TronWithdrawBalanceContract.py new file mode 100644 index 000000000..451f8f58f --- /dev/null +++ b/python/trezorlib/messages/TronWithdrawBalanceContract.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronWithdrawBalanceContract(p.MessageType): + pass diff --git a/python/trezorlib/messages/TronWitnessCreateContract.py b/python/trezorlib/messages/TronWitnessCreateContract.py new file mode 100644 index 000000000..9d2aa8d0f --- /dev/null +++ b/python/trezorlib/messages/TronWitnessCreateContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronWitnessCreateContract(p.MessageType): + + def __init__( + self, + url: str = None, + ) -> None: + self.url = url + + @classmethod + def get_fields(cls): + return { + 1: ('url', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TronWitnessUpdateContract.py b/python/trezorlib/messages/TronWitnessUpdateContract.py new file mode 100644 index 000000000..b35400d16 --- /dev/null +++ b/python/trezorlib/messages/TronWitnessUpdateContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TronWitnessUpdateContract(p.MessageType): + + def __init__( + self, + update_url: str = None, + ) -> None: + self.update_url = update_url + + @classmethod + def get_fields(cls): + return { + 2: ('update_url', p.UnicodeType, 0), + } diff --git a/python/trezorlib/messages/TxAck.py b/python/trezorlib/messages/TxAck.py new file mode 100644 index 000000000..8594b77c1 --- /dev/null +++ b/python/trezorlib/messages/TxAck.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TransactionType import TransactionType + + +class TxAck(p.MessageType): + MESSAGE_WIRE_TYPE = 22 + + def __init__( + self, + tx: TransactionType = None, + ) -> None: + self.tx = tx + + @classmethod + def get_fields(cls): + return { + 1: ('tx', TransactionType, 0), + } diff --git a/python/trezorlib/messages/TxInputType.py b/python/trezorlib/messages/TxInputType.py new file mode 100644 index 000000000..0f1c97d25 --- /dev/null +++ b/python/trezorlib/messages/TxInputType.py @@ -0,0 +1,59 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MultisigRedeemScriptType import MultisigRedeemScriptType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TxInputType(p.MessageType): + + def __init__( + self, + address_n: List[int] = None, + prev_hash: bytes = None, + prev_index: int = None, + script_sig: bytes = None, + sequence: int = None, + script_type: int = None, + multisig: MultisigRedeemScriptType = None, + amount: int = None, + decred_tree: int = None, + decred_script_version: int = None, + prev_block_hash_bip115: bytes = None, + prev_block_height_bip115: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.prev_hash = prev_hash + self.prev_index = prev_index + self.script_sig = script_sig + self.sequence = sequence + self.script_type = script_type + self.multisig = multisig + self.amount = amount + self.decred_tree = decred_tree + self.decred_script_version = decred_script_version + self.prev_block_hash_bip115 = prev_block_hash_bip115 + self.prev_block_height_bip115 = prev_block_height_bip115 + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('prev_hash', p.BytesType, 0), # required + 3: ('prev_index', p.UVarintType, 0), # required + 4: ('script_sig', p.BytesType, 0), + 5: ('sequence', p.UVarintType, 0), # default=4294967295 + 6: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + 7: ('multisig', MultisigRedeemScriptType, 0), + 8: ('amount', p.UVarintType, 0), + 9: ('decred_tree', p.UVarintType, 0), + 10: ('decred_script_version', p.UVarintType, 0), + 11: ('prev_block_hash_bip115', p.BytesType, 0), + 12: ('prev_block_height_bip115', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TxOutputBinType.py b/python/trezorlib/messages/TxOutputBinType.py new file mode 100644 index 000000000..c979abdfc --- /dev/null +++ b/python/trezorlib/messages/TxOutputBinType.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TxOutputBinType(p.MessageType): + + def __init__( + self, + amount: int = None, + script_pubkey: bytes = None, + decred_script_version: int = None, + ) -> None: + self.amount = amount + self.script_pubkey = script_pubkey + self.decred_script_version = decred_script_version + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), # required + 2: ('script_pubkey', p.BytesType, 0), # required + 3: ('decred_script_version', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TxOutputType.py b/python/trezorlib/messages/TxOutputType.py new file mode 100644 index 000000000..fdc226e85 --- /dev/null +++ b/python/trezorlib/messages/TxOutputType.py @@ -0,0 +1,50 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .MultisigRedeemScriptType import MultisigRedeemScriptType + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TxOutputType(p.MessageType): + + def __init__( + self, + address: str = None, + address_n: List[int] = None, + amount: int = None, + script_type: int = None, + multisig: MultisigRedeemScriptType = None, + op_return_data: bytes = None, + decred_script_version: int = None, + block_hash_bip115: bytes = None, + block_height_bip115: int = None, + ) -> None: + self.address = address + self.address_n = address_n if address_n is not None else [] + self.amount = amount + self.script_type = script_type + self.multisig = multisig + self.op_return_data = op_return_data + self.decred_script_version = decred_script_version + self.block_hash_bip115 = block_hash_bip115 + self.block_height_bip115 = block_height_bip115 + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('amount', p.UVarintType, 0), # required + 4: ('script_type', p.UVarintType, 0), # required + 5: ('multisig', MultisigRedeemScriptType, 0), + 6: ('op_return_data', p.BytesType, 0), + 7: ('decred_script_version', p.UVarintType, 0), + 8: ('block_hash_bip115', p.BytesType, 0), + 9: ('block_height_bip115', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TxRequest.py b/python/trezorlib/messages/TxRequest.py new file mode 100644 index 000000000..b619882a9 --- /dev/null +++ b/python/trezorlib/messages/TxRequest.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + +from .TxRequestDetailsType import TxRequestDetailsType +from .TxRequestSerializedType import TxRequestSerializedType + + +class TxRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 21 + + def __init__( + self, + request_type: int = None, + details: TxRequestDetailsType = None, + serialized: TxRequestSerializedType = None, + ) -> None: + self.request_type = request_type + self.details = details + self.serialized = serialized + + @classmethod + def get_fields(cls): + return { + 1: ('request_type', p.UVarintType, 0), + 2: ('details', TxRequestDetailsType, 0), + 3: ('serialized', TxRequestSerializedType, 0), + } diff --git a/python/trezorlib/messages/TxRequestDetailsType.py b/python/trezorlib/messages/TxRequestDetailsType.py new file mode 100644 index 000000000..6407b48f8 --- /dev/null +++ b/python/trezorlib/messages/TxRequestDetailsType.py @@ -0,0 +1,27 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TxRequestDetailsType(p.MessageType): + + def __init__( + self, + request_index: int = None, + tx_hash: bytes = None, + extra_data_len: int = None, + extra_data_offset: int = None, + ) -> None: + self.request_index = request_index + self.tx_hash = tx_hash + self.extra_data_len = extra_data_len + self.extra_data_offset = extra_data_offset + + @classmethod + def get_fields(cls): + return { + 1: ('request_index', p.UVarintType, 0), + 2: ('tx_hash', p.BytesType, 0), + 3: ('extra_data_len', p.UVarintType, 0), + 4: ('extra_data_offset', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/TxRequestSerializedType.py b/python/trezorlib/messages/TxRequestSerializedType.py new file mode 100644 index 000000000..c09b496ff --- /dev/null +++ b/python/trezorlib/messages/TxRequestSerializedType.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class TxRequestSerializedType(p.MessageType): + + def __init__( + self, + signature_index: int = None, + signature: bytes = None, + serialized_tx: bytes = None, + ) -> None: + self.signature_index = signature_index + self.signature = signature + self.serialized_tx = serialized_tx + + @classmethod + def get_fields(cls): + return { + 1: ('signature_index', p.UVarintType, 0), + 2: ('signature', p.BytesType, 0), + 3: ('serialized_tx', p.BytesType, 0), + } diff --git a/python/trezorlib/messages/VerifyMessage.py b/python/trezorlib/messages/VerifyMessage.py new file mode 100644 index 000000000..58447dac3 --- /dev/null +++ b/python/trezorlib/messages/VerifyMessage.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class VerifyMessage(p.MessageType): + MESSAGE_WIRE_TYPE = 39 + + def __init__( + self, + address: str = None, + signature: bytes = None, + message: bytes = None, + coin_name: str = None, + ) -> None: + self.address = address + self.signature = signature + self.message = message + self.coin_name = coin_name + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('signature', p.BytesType, 0), + 3: ('message', p.BytesType, 0), + 4: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + } diff --git a/python/trezorlib/messages/WipeDevice.py b/python/trezorlib/messages/WipeDevice.py new file mode 100644 index 000000000..f695def18 --- /dev/null +++ b/python/trezorlib/messages/WipeDevice.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class WipeDevice(p.MessageType): + MESSAGE_WIRE_TYPE = 5 diff --git a/python/trezorlib/messages/WordAck.py b/python/trezorlib/messages/WordAck.py new file mode 100644 index 000000000..1ef36958a --- /dev/null +++ b/python/trezorlib/messages/WordAck.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class WordAck(p.MessageType): + MESSAGE_WIRE_TYPE = 47 + + def __init__( + self, + word: str = None, + ) -> None: + self.word = word + + @classmethod + def get_fields(cls): + return { + 1: ('word', p.UnicodeType, 0), # required + } diff --git a/python/trezorlib/messages/WordRequest.py b/python/trezorlib/messages/WordRequest.py new file mode 100644 index 000000000..7c14830db --- /dev/null +++ b/python/trezorlib/messages/WordRequest.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +from .. import protobuf as p + + +class WordRequest(p.MessageType): + MESSAGE_WIRE_TYPE = 46 + + def __init__( + self, + type: int = None, + ) -> None: + self.type = type + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + } diff --git a/python/trezorlib/messages/WordRequestType.py b/python/trezorlib/messages/WordRequestType.py new file mode 100644 index 000000000..a284fac9c --- /dev/null +++ b/python/trezorlib/messages/WordRequestType.py @@ -0,0 +1,5 @@ +# Automatically generated by pb2py +# fmt: off +Plain = 0 +Matrix9 = 1 +Matrix6 = 2 diff --git a/python/trezorlib/messages/__init__.py b/python/trezorlib/messages/__init__.py new file mode 100644 index 000000000..13fc1752c --- /dev/null +++ b/python/trezorlib/messages/__init__.py @@ -0,0 +1,316 @@ +# Automatically generated by pb2py +# fmt: off + +from .Address import Address +from .ApplyFlags import ApplyFlags +from .ApplySettings import ApplySettings +from .BackupDevice import BackupDevice +from .BinanceAddress import BinanceAddress +from .BinanceCancelMsg import BinanceCancelMsg +from .BinanceCoin import BinanceCoin +from .BinanceGetAddress import BinanceGetAddress +from .BinanceGetPublicKey import BinanceGetPublicKey +from .BinanceInputOutput import BinanceInputOutput +from .BinanceOrderMsg import BinanceOrderMsg +from .BinancePublicKey import BinancePublicKey +from .BinanceSignTx import BinanceSignTx +from .BinanceSignedTx import BinanceSignedTx +from .BinanceTransferMsg import BinanceTransferMsg +from .BinanceTxRequest import BinanceTxRequest +from .ButtonAck import ButtonAck +from .ButtonRequest import ButtonRequest +from .Cancel import Cancel +from .CardanoAddress import CardanoAddress +from .CardanoGetAddress import CardanoGetAddress +from .CardanoGetPublicKey import CardanoGetPublicKey +from .CardanoPublicKey import CardanoPublicKey +from .CardanoSignTx import CardanoSignTx +from .CardanoSignedTx import CardanoSignedTx +from .CardanoTxAck import CardanoTxAck +from .CardanoTxInputType import CardanoTxInputType +from .CardanoTxOutputType import CardanoTxOutputType +from .CardanoTxRequest import CardanoTxRequest +from .ChangePin import ChangePin +from .CipherKeyValue import CipherKeyValue +from .CipheredKeyValue import CipheredKeyValue +from .ClearSession import ClearSession +from .CosiCommit import CosiCommit +from .CosiCommitment import CosiCommitment +from .CosiSign import CosiSign +from .CosiSignature import CosiSignature +from .DebugLinkDecision import DebugLinkDecision +from .DebugLinkFlashErase import DebugLinkFlashErase +from .DebugLinkGetState import DebugLinkGetState +from .DebugLinkLog import DebugLinkLog +from .DebugLinkMemory import DebugLinkMemory +from .DebugLinkMemoryRead import DebugLinkMemoryRead +from .DebugLinkMemoryWrite import DebugLinkMemoryWrite +from .DebugLinkState import DebugLinkState +from .DebugLinkStop import DebugLinkStop +from .DebugMoneroDiagAck import DebugMoneroDiagAck +from .DebugMoneroDiagRequest import DebugMoneroDiagRequest +from .ECDHSessionKey import ECDHSessionKey +from .Entropy import Entropy +from .EntropyAck import EntropyAck +from .EntropyRequest import EntropyRequest +from .EosActionBuyRam import EosActionBuyRam +from .EosActionBuyRamBytes import EosActionBuyRamBytes +from .EosActionCommon import EosActionCommon +from .EosActionDelegate import EosActionDelegate +from .EosActionDeleteAuth import EosActionDeleteAuth +from .EosActionLinkAuth import EosActionLinkAuth +from .EosActionNewAccount import EosActionNewAccount +from .EosActionRefund import EosActionRefund +from .EosActionSellRam import EosActionSellRam +from .EosActionTransfer import EosActionTransfer +from .EosActionUndelegate import EosActionUndelegate +from .EosActionUnknown import EosActionUnknown +from .EosActionUnlinkAuth import EosActionUnlinkAuth +from .EosActionUpdateAuth import EosActionUpdateAuth +from .EosActionVoteProducer import EosActionVoteProducer +from .EosAsset import EosAsset +from .EosAuthorization import EosAuthorization +from .EosAuthorizationAccount import EosAuthorizationAccount +from .EosAuthorizationKey import EosAuthorizationKey +from .EosAuthorizationWait import EosAuthorizationWait +from .EosGetPublicKey import EosGetPublicKey +from .EosPermissionLevel import EosPermissionLevel +from .EosPublicKey import EosPublicKey +from .EosSignTx import EosSignTx +from .EosSignedTx import EosSignedTx +from .EosTxActionAck import EosTxActionAck +from .EosTxActionRequest import EosTxActionRequest +from .EosTxHeader import EosTxHeader +from .EthereumAddress import EthereumAddress +from .EthereumGetAddress import EthereumGetAddress +from .EthereumGetPublicKey import EthereumGetPublicKey +from .EthereumMessageSignature import EthereumMessageSignature +from .EthereumPublicKey import EthereumPublicKey +from .EthereumSignMessage import EthereumSignMessage +from .EthereumSignTx import EthereumSignTx +from .EthereumTxAck import EthereumTxAck +from .EthereumTxRequest import EthereumTxRequest +from .EthereumVerifyMessage import EthereumVerifyMessage +from .Failure import Failure +from .Features import Features +from .FirmwareErase import FirmwareErase +from .FirmwareRequest import FirmwareRequest +from .FirmwareUpload import FirmwareUpload +from .GetAddress import GetAddress +from .GetECDHSessionKey import GetECDHSessionKey +from .GetEntropy import GetEntropy +from .GetFeatures import GetFeatures +from .GetPublicKey import GetPublicKey +from .HDNodePathType import HDNodePathType +from .HDNodeType import HDNodeType +from .IdentityType import IdentityType +from .Initialize import Initialize +from .LiskAddress import LiskAddress +from .LiskDelegateType import LiskDelegateType +from .LiskGetAddress import LiskGetAddress +from .LiskGetPublicKey import LiskGetPublicKey +from .LiskMessageSignature import LiskMessageSignature +from .LiskMultisignatureType import LiskMultisignatureType +from .LiskPublicKey import LiskPublicKey +from .LiskSignMessage import LiskSignMessage +from .LiskSignTx import LiskSignTx +from .LiskSignatureType import LiskSignatureType +from .LiskSignedTx import LiskSignedTx +from .LiskTransactionAsset import LiskTransactionAsset +from .LiskTransactionCommon import LiskTransactionCommon +from .LiskVerifyMessage import LiskVerifyMessage +from .LoadDevice import LoadDevice +from .MessageSignature import MessageSignature +from .MoneroAccountPublicAddress import MoneroAccountPublicAddress +from .MoneroAddress import MoneroAddress +from .MoneroExportedKeyImage import MoneroExportedKeyImage +from .MoneroGetAddress import MoneroGetAddress +from .MoneroGetTxKeyAck import MoneroGetTxKeyAck +from .MoneroGetTxKeyRequest import MoneroGetTxKeyRequest +from .MoneroGetWatchKey import MoneroGetWatchKey +from .MoneroKeyImageExportInitAck import MoneroKeyImageExportInitAck +from .MoneroKeyImageExportInitRequest import MoneroKeyImageExportInitRequest +from .MoneroKeyImageSyncFinalAck import MoneroKeyImageSyncFinalAck +from .MoneroKeyImageSyncFinalRequest import MoneroKeyImageSyncFinalRequest +from .MoneroKeyImageSyncStepAck import MoneroKeyImageSyncStepAck +from .MoneroKeyImageSyncStepRequest import MoneroKeyImageSyncStepRequest +from .MoneroLiveRefreshFinalAck import MoneroLiveRefreshFinalAck +from .MoneroLiveRefreshFinalRequest import MoneroLiveRefreshFinalRequest +from .MoneroLiveRefreshStartAck import MoneroLiveRefreshStartAck +from .MoneroLiveRefreshStartRequest import MoneroLiveRefreshStartRequest +from .MoneroLiveRefreshStepAck import MoneroLiveRefreshStepAck +from .MoneroLiveRefreshStepRequest import MoneroLiveRefreshStepRequest +from .MoneroMultisigKLRki import MoneroMultisigKLRki +from .MoneroOutputEntry import MoneroOutputEntry +from .MoneroRctKeyPublic import MoneroRctKeyPublic +from .MoneroRingCtSig import MoneroRingCtSig +from .MoneroSubAddressIndicesList import MoneroSubAddressIndicesList +from .MoneroTransactionAllInputsSetAck import MoneroTransactionAllInputsSetAck +from .MoneroTransactionAllInputsSetRequest import MoneroTransactionAllInputsSetRequest +from .MoneroTransactionAllOutSetAck import MoneroTransactionAllOutSetAck +from .MoneroTransactionAllOutSetRequest import MoneroTransactionAllOutSetRequest +from .MoneroTransactionData import MoneroTransactionData +from .MoneroTransactionDestinationEntry import MoneroTransactionDestinationEntry +from .MoneroTransactionFinalAck import MoneroTransactionFinalAck +from .MoneroTransactionFinalRequest import MoneroTransactionFinalRequest +from .MoneroTransactionInitAck import MoneroTransactionInitAck +from .MoneroTransactionInitRequest import MoneroTransactionInitRequest +from .MoneroTransactionInputViniAck import MoneroTransactionInputViniAck +from .MoneroTransactionInputViniRequest import MoneroTransactionInputViniRequest +from .MoneroTransactionInputsPermutationAck import MoneroTransactionInputsPermutationAck +from .MoneroTransactionInputsPermutationRequest import MoneroTransactionInputsPermutationRequest +from .MoneroTransactionRsigData import MoneroTransactionRsigData +from .MoneroTransactionSetInputAck import MoneroTransactionSetInputAck +from .MoneroTransactionSetInputRequest import MoneroTransactionSetInputRequest +from .MoneroTransactionSetOutputAck import MoneroTransactionSetOutputAck +from .MoneroTransactionSetOutputRequest import MoneroTransactionSetOutputRequest +from .MoneroTransactionSignInputAck import MoneroTransactionSignInputAck +from .MoneroTransactionSignInputRequest import MoneroTransactionSignInputRequest +from .MoneroTransactionSourceEntry import MoneroTransactionSourceEntry +from .MoneroTransferDetails import MoneroTransferDetails +from .MoneroWatchKey import MoneroWatchKey +from .MultisigRedeemScriptType import MultisigRedeemScriptType +from .NEMAddress import NEMAddress +from .NEMAggregateModification import NEMAggregateModification +from .NEMCosignatoryModification import NEMCosignatoryModification +from .NEMDecryptMessage import NEMDecryptMessage +from .NEMDecryptedMessage import NEMDecryptedMessage +from .NEMGetAddress import NEMGetAddress +from .NEMImportanceTransfer import NEMImportanceTransfer +from .NEMMosaic import NEMMosaic +from .NEMMosaicCreation import NEMMosaicCreation +from .NEMMosaicDefinition import NEMMosaicDefinition +from .NEMMosaicSupplyChange import NEMMosaicSupplyChange +from .NEMProvisionNamespace import NEMProvisionNamespace +from .NEMSignTx import NEMSignTx +from .NEMSignedTx import NEMSignedTx +from .NEMTransactionCommon import NEMTransactionCommon +from .NEMTransfer import NEMTransfer +from .OntologyAddress import OntologyAddress +from .OntologyGetAddress import OntologyGetAddress +from .OntologyGetPublicKey import OntologyGetPublicKey +from .OntologyOntIdAddAttributes import OntologyOntIdAddAttributes +from .OntologyOntIdAttribute import OntologyOntIdAttribute +from .OntologyOntIdRegister import OntologyOntIdRegister +from .OntologyPublicKey import OntologyPublicKey +from .OntologySignOntIdAddAttributes import OntologySignOntIdAddAttributes +from .OntologySignOntIdRegister import OntologySignOntIdRegister +from .OntologySignTransfer import OntologySignTransfer +from .OntologySignWithdrawOng import OntologySignWithdrawOng +from .OntologySignedOntIdAddAttributes import OntologySignedOntIdAddAttributes +from .OntologySignedOntIdRegister import OntologySignedOntIdRegister +from .OntologySignedTransfer import OntologySignedTransfer +from .OntologySignedWithdrawOng import OntologySignedWithdrawOng +from .OntologyTransaction import OntologyTransaction +from .OntologyTransfer import OntologyTransfer +from .OntologyTxAttribute import OntologyTxAttribute +from .OntologyWithdrawOng import OntologyWithdrawOng +from .PassphraseAck import PassphraseAck +from .PassphraseRequest import PassphraseRequest +from .PassphraseStateAck import PassphraseStateAck +from .PassphraseStateRequest import PassphraseStateRequest +from .PinMatrixAck import PinMatrixAck +from .PinMatrixRequest import PinMatrixRequest +from .Ping import Ping +from .PublicKey import PublicKey +from .RecoveryDevice import RecoveryDevice +from .ResetDevice import ResetDevice +from .RippleAddress import RippleAddress +from .RippleGetAddress import RippleGetAddress +from .RipplePayment import RipplePayment +from .RippleSignTx import RippleSignTx +from .RippleSignedTx import RippleSignedTx +from .SelfTest import SelfTest +from .SetU2FCounter import SetU2FCounter +from .SignIdentity import SignIdentity +from .SignMessage import SignMessage +from .SignTx import SignTx +from .SignedIdentity import SignedIdentity +from .StellarAccountMergeOp import StellarAccountMergeOp +from .StellarAddress import StellarAddress +from .StellarAllowTrustOp import StellarAllowTrustOp +from .StellarAssetType import StellarAssetType +from .StellarBumpSequenceOp import StellarBumpSequenceOp +from .StellarChangeTrustOp import StellarChangeTrustOp +from .StellarCreateAccountOp import StellarCreateAccountOp +from .StellarCreatePassiveOfferOp import StellarCreatePassiveOfferOp +from .StellarGetAddress import StellarGetAddress +from .StellarManageDataOp import StellarManageDataOp +from .StellarManageOfferOp import StellarManageOfferOp +from .StellarPathPaymentOp import StellarPathPaymentOp +from .StellarPaymentOp import StellarPaymentOp +from .StellarSetOptionsOp import StellarSetOptionsOp +from .StellarSignTx import StellarSignTx +from .StellarSignedTx import StellarSignedTx +from .StellarTxOpRequest import StellarTxOpRequest +from .Success import Success +from .TezosAddress import TezosAddress +from .TezosBallotOp import TezosBallotOp +from .TezosContractID import TezosContractID +from .TezosDelegationOp import TezosDelegationOp +from .TezosGetAddress import TezosGetAddress +from .TezosGetPublicKey import TezosGetPublicKey +from .TezosOriginationOp import TezosOriginationOp +from .TezosProposalOp import TezosProposalOp +from .TezosPublicKey import TezosPublicKey +from .TezosRevealOp import TezosRevealOp +from .TezosSignTx import TezosSignTx +from .TezosSignedTx import TezosSignedTx +from .TezosTransactionOp import TezosTransactionOp +from .TransactionType import TransactionType +from .TronAccountUpdateContract import TronAccountUpdateContract +from .TronAddress import TronAddress +from .TronAssetIssueContract import TronAssetIssueContract +from .TronContract import TronContract +from .TronFreezeBalanceContract import TronFreezeBalanceContract +from .TronFrozenSupply import TronFrozenSupply +from .TronGetAddress import TronGetAddress +from .TronParticipateAssetIssueContract import TronParticipateAssetIssueContract +from .TronProposalApproveContract import TronProposalApproveContract +from .TronProposalCreateContract import TronProposalCreateContract +from .TronProposalDeleteContract import TronProposalDeleteContract +from .TronProposalParameters import TronProposalParameters +from .TronSignTx import TronSignTx +from .TronSignedTx import TronSignedTx +from .TronTransferAssetContract import TronTransferAssetContract +from .TronTransferContract import TronTransferContract +from .TronUnfreezeAssetContract import TronUnfreezeAssetContract +from .TronUnfreezeBalanceContract import TronUnfreezeBalanceContract +from .TronUpdateAssetContract import TronUpdateAssetContract +from .TronVote import TronVote +from .TronVoteWitnessContract import TronVoteWitnessContract +from .TronWithdrawBalanceContract import TronWithdrawBalanceContract +from .TronWitnessCreateContract import TronWitnessCreateContract +from .TronWitnessUpdateContract import TronWitnessUpdateContract +from .TxAck import TxAck +from .TxInputType import TxInputType +from .TxOutputBinType import TxOutputBinType +from .TxOutputType import TxOutputType +from .TxRequest import TxRequest +from .TxRequestDetailsType import TxRequestDetailsType +from .TxRequestSerializedType import TxRequestSerializedType +from .VerifyMessage import VerifyMessage +from .WipeDevice import WipeDevice +from .WordAck import WordAck +from .WordRequest import WordRequest +from . import BinanceOrderSide +from . import BinanceOrderType +from . import BinanceTimeInForce +from . import ButtonRequestType +from . import FailureType +from . import InputScriptType +from . import LiskTransactionType +from . import MessageType +from . import NEMImportanceTransferMode +from . import NEMModificationType +from . import NEMMosaicLevy +from . import NEMSupplyChangeType +from . import OntologyAsset +from . import OutputScriptType +from . import PassphraseSourceType +from . import PinMatrixRequestType +from . import RecoveryDeviceType +from . import RequestType +from . import TezosBallotType +from . import TezosContractType +from . import WordRequestType