data class SignedTransaction : NamedByHash
SignedTransaction wraps a serialized WireTransaction. It contains one or more signatures, each one for a public key that is mentioned inside a transaction command. SignedTransaction is the top level transaction type and the type most frequently passed around the network and stored. The identity of a transaction is the hash of a WireTransaction, therefore if you are storing data keyed by WT hash be aware that multiple different STs may map to the same key (and they could be different in important ways, like validity). The signatures on a SignedTransaction might be invalid or missing: the type does not imply validity.
SignaturesMissingException |
class SignaturesMissingException : NamedByHash, SignatureException |
<init> |
SignedTransaction(txBits: SerializedBytes<WireTransaction>, sigs: List<WithKey>) SignedTransaction wraps a serialized WireTransaction. It contains one or more signatures, each one for a public key that is mentioned inside a transaction command. SignedTransaction is the top level transaction type and the type most frequently passed around the network and stored. The identity of a transaction is the hash of a WireTransaction, therefore if you are storing data keyed by WT hash be aware that multiple different STs may map to the same key (and they could be different in important ways, like validity). The signatures on a SignedTransaction might be invalid or missing: the type does not imply validity. |
id |
val id: SecureHash A transaction ID is the hash of the WireTransaction. Thus adding or removing a signature does not change it. |
sigs |
val sigs: List<WithKey> |
tx |
val tx: WireTransaction Lazily calculated access to the deserialised/hashed transaction data. |
txBits |
val txBits: SerializedBytes<WireTransaction> |
checkSignaturesAreValid |
fun checkSignaturesAreValid(): Unit Mathematically validates the signatures that are present on this transaction. This does not imply that the signatures are by the right keys, or that there are sufficient signatures, just that they arent corrupt. If you use this function directly youll need to do the other checks yourself. Probably you want verifySignatures instead. |
plus |
operator fun plus(sig: WithKey): SignedTransaction Alias for withAdditionalSignature to let you use Kotlin operator overloading. operator fun plus(sigList: Collection<WithKey>): SignedTransaction Alias for withAdditionalSignatures to let you use Kotlin operator overloading. |
toLedgerTransaction |
fun toLedgerTransaction(services: ServiceHub): LedgerTransaction Calls verifySignatures to check all required signatures are present, and then calls WireTransaction.toLedgerTransaction with the passed in ServiceHub to resolve the dependencies, returning an unverified LedgerTransaction. |
verifySignatures |
fun verifySignatures(vararg allowedToBeMissing: PublicKey): WireTransaction Verifies the signatures on this transaction and throws if any are missing which arent passed as parameters. In this context, "verifying" means checking they are valid signatures and that their public keys are in the contained transactions BaseTransaction.mustSign property. |
withAdditionalSignature |
fun withAdditionalSignature(sig: WithKey): SignedTransaction Returns the same transaction but with an additional (unchecked) signature. |
withAdditionalSignatures |
fun withAdditionalSignatures(sigList: Iterable<WithKey>): SignedTransaction Returns the same transaction but with an additional (unchecked) signatures. |