TransactionID class

The ID for a transaction. This is used for retrieving receipts and records for a transaction, for appending to a file right after creating it, for instantiating a smart contract with bytecode in a file just created, and internally by the network for detecting when duplicate transactions are submitted. A user might get a transaction processed faster by submitting it to N nodes, each with a different node account, but all with the same TransactionID. Then, the transaction will take effect when the first of all those nodes submits the transaction and it reaches consensus. The other transactions will not take effect. So this could make the transaction take effect faster, if any given node might be slow. However, the full transaction fee is charged for each transaction, so the total fee is N times as much if the transaction is sent to N nodes.

Applicable to Scheduled Transactions:

  • The ID of a Scheduled Transaction has transactionValidStart and accountIDs inherited from the ScheduleCreate transaction that created it. That is to say that they are equal
  • The scheduled property is true for Scheduled Transactions
  • transactionValidStart, accountID and scheduled properties should be omitted
Inheritance
  • Object
  • GeneratedMessage
  • TransactionID
Available extensions

Constructors

TransactionID.new({Timestamp? transactionValidStart, String? accountID, bool? scheduled, int? nonce})
factory
TransactionID.fromBuffer(List<int> i, [ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY])
factory
TransactionID.fromJson(String i, [ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY])
factory

Properties

accountID String
The Account ID that paid for this transaction
getter/setter pair
eventPlugin → EventPlugin?
Subclasses can override this getter to be notified of changes to protobuf fields.
no setterinherited
hashCode int
Calculates a hash code based on the contents of the protobuf.
no setterinherited
info_ → BuilderInfo
no setteroverride
isFrozen bool
Returns true if this message is marked read-only. Otherwise false.
no setterinherited
nonce int
The identifier for an internal transaction that was spawned as part of handling a user transaction. (These internal transactions share the transactionValidStart and accountID of the user transaction, so a nonce is necessary to give them a unique TransactionID.)
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scheduled bool
Whether the Transaction is of type Scheduled or no
getter/setter pair
transactionValidStart Timestamp
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid
getter/setter pair
unknownFields → UnknownFieldSet
no setterinherited

Methods

addExtension(Extension extension, Object? value) → void
Adds an extension field value to a repeated field.
inherited
anyCompileWithSignatures({required TWCoinType coin, required List<Uint8List> signatures, required List<Uint8List> publicKeys, TWPublicKeyType? pubKeyType}) Uint8List

Available on GeneratedMessage, provided by the TWPreImageHashesExtension extension

Compiles a complete transation with one or more external signatures. \param coin coin type. \param signatures signatures to compile. \param publicKeys public keys for signers to match private keys. \param pubKeyType public key type. \return serialized data of a proto object SigningOutput.
anyCompileWithSignaturesToOutput<T extends GeneratedMessage>({required TWCoinType coin, required List<Uint8List> signatures, required List<Uint8List> publicKeys, TWPublicKeyType? pubKeyType, required T output}) → T

Available on GeneratedMessage, provided by the TWPreImageHashesExtension extension

Compiles a complete transation with one or more external signatures. \param coin coin type. \param signatures signatures to compile. \param publicKeys public keys for signers to match private keys. \param publicKeys public keys for signers to match private keys. \param pubKeyType public key type. \param output Empty SigningOutput proto object. \return output after serialization data is filled.
anyPlan(TWCoinType coin) Uint8List

Available on GeneratedMessage, provided by the TWAnySignExtension extension

Any plan. \param coin coin type. \return The serialized data of a TransactionPlan proto object.
anyPlanToOutput<T extends GeneratedMessage>(TWCoinType coin, T output) → T

Available on GeneratedMessage, provided by the TWAnySignExtension extension

Any plan to output. \param coin coin type. \param output Empty TransactionPlan proto object. \return output after serialization data is filled.
anyPreImageHashes(TWCoinType coin) Uint8List

Available on GeneratedMessage, provided by the TWPreImageHashesExtension extension

Obtain pre-signing hashes of a transaction. \param coin coin type. \return serialized data of a proto object PreSigningOutput includes hash.
anyPreImageHashesToOutput<T extends GeneratedMessage>(TWCoinType coin, T output) → T

Available on GeneratedMessage, provided by the TWPreImageHashesExtension extension

Obtain pre-signing hashes of a transaction. \param coin coin type. \param output Empty PreSigningOutput proto object. \return output after serialization data is filled.
anySign(TWCoinType coin) Uint8List

Available on GeneratedMessage, provided by the TWAnySignExtension extension

Any sign. \param coin The given coin type to sign the transaction for. \return The serialized data of a SigningOutput proto object. (e.g. TW.Bitcoin.Proto.SigningOutput).
anySignToOutput<T extends GeneratedMessage>(TWCoinType coin, T output) → T

Available on GeneratedMessage, provided by the TWAnySignExtension extension

Any sign to output. \param coin coin type. \param output Empty SigningOutput proto object. (e.g. TW.Bitcoin.Proto.SigningOutput). \return output after serialization data is filled.
check() → void
inherited
clear() → void
Clears all data that was set in this message.
inherited
clearAccountID() → void
clearExtension(Extension extension) → void
Clears an extension field and also removes the extension.
inherited
clearField(int tagNumber) → void
Clears the contents of a given field.
inherited
clearNonce() → void
clearScheduled() → void
clearTransactionValidStart() → void
clone() TransactionID
Creates a deep copy of the fields in this message. (The generated code uses mergeFromMessage.)
override
copyWith(void updates(TransactionID)) TransactionID
Apply updates to a copy of this message.
override
createEmptyInstance() TransactionID
Creates an empty instance of the same message type as this.
override
createMapField<K, V>(int tagNumber, MapFieldInfo<K, V> fi) Map<K, V>
Creates a Map representing a map field.
inherited
createRepeatedField<T>(int tagNumber, FieldInfo<T> fi) List<T>
Creates List implementing a mutable repeated field.
inherited
ensureTransactionValidStart() Timestamp
extensionsAreInitialized() bool
inherited
freeze() → GeneratedMessage
Make this message read-only.
inherited
getDefaultForField(int tagNumber) → dynamic
Returns the default value for the given field.
inherited
getExtension(Extension extension) → dynamic
Returns the value of extension.
inherited
getField(int tagNumber) → dynamic
Returns the value of the field associated with tagNumber, or the default value if it is not set.
inherited
getFieldOrNull(int tagNumber) → dynamic
Returns the value of a field, ignoring any defaults.
inherited
getTagNumber(String fieldName) int?
inherited
hasAccountID() bool
hasExtension(Extension extension) bool
Returns true if a value of extension is present.
inherited
hasField(int tagNumber) bool
Whether this message has a field associated with tagNumber.
inherited
hasNonce() bool
hasRequiredFields() bool
Whether the message has required fields.
inherited
hasScheduled() bool
hasTransactionValidStart() bool
isInitialized() bool
Whether all required fields in the message and embedded messages are set.
inherited
mergeFromBuffer(List<int> input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges serialized protocol buffer data into this message.
inherited
mergeFromCodedBufferReader(CodedBufferReader input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
inherited
mergeFromJson(String data, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from data, a JSON object, encoded as described by GeneratedMessage.writeToJson.
inherited
mergeFromJsonMap(Map<String, dynamic> json, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from a JSON object represented as a Dart map.
inherited
mergeFromMessage(GeneratedMessage other) → void
Merges the contents of the other into this message.
inherited
mergeFromProto3Json(Object? json, {TypeRegistry typeRegistry = const TypeRegistry.empty(), bool ignoreUnknownFields = false, bool supportNamesWithUnderscores = true, bool permissiveEnums = false}) → void
Merges field values from json, a JSON object using proto3 encoding.
inherited
mergeUnknownFields(UnknownFieldSet unknownFieldSet) → void
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setExtension(Extension extension, Object value) → void
Sets the value of a non-repeated extension field to value.
inherited
setField(int tagNumber, Object value) → void
Sets the value of a field by its tagNumber.
inherited
toBuilder() → GeneratedMessage
Creates a writable, shallow copy of this message.
inherited
toDebugString() String
Returns a String representation of this message.
inherited
toProto3Json({TypeRegistry typeRegistry = const TypeRegistry.empty()}) Object?
Returns an Object representing Proto3 JSON serialization of this.
inherited
toString() String
Returns a String representation of this message.
inherited
writeToBuffer() Uint8List
inherited
writeToCodedBufferWriter(CodedBufferWriter output) → void
inherited
writeToJson() String
Returns a JSON string that encodes this message.
inherited
writeToJsonMap() Map<String, dynamic>
Returns the JSON encoding of this message as a Dart Map.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

create() TransactionID
createRepeated() → PbList<TransactionID>
getDefault() TransactionID