Show / Hide Table of Contents

Interface IInvoice

Represents a transaction signing request.
This structure is passed to each configured Signatory and signatory callback method to be given the opportunity to sign the request before submitting it to the network. Typically, the signatory will use its private key to sign the TransactionBytes serialized representation of the transaction request.
This is the same series of bytes that are sent to the network along with the signatures collected from the signatories.

Namespace: Hiero
Assembly: Hiero.dll
Syntax
public interface IInvoice

Properties

| Edit this page View Source

CancellationToken

The cancellation token associated with the underlying request, may be the default cancellation token, may be consumed as deemed important by signatory callbacks.

Declaration
CancellationToken CancellationToken { get; }
Property Value
Type Description
CancellationToken
| Edit this page View Source

Memo

The memo associated with this transaction, provided for convenience.

Declaration
string Memo { get; }
Property Value
Type Description
string
| Edit this page View Source

MinimumDesiredPrefixSize

The smallest desired signature map prefix value length.
Some network API calls (typically smart contract calls that interact with other Hedera Services) require the full public key value to be entered for the prefix. In this case, this value may request the full length of the public keys associated with the signature. It may also be (in most cases) zero indicating no particular size is required.

Declaration
int MinimumDesiredPrefixSize { get; }
Property Value
Type Description
int
Remarks

Providing a prefix that is longer or shorter than the desired length will not immediately raise an error unless it results in a prefix mapping conflict (two or more identical public prefixes producing different signature values). However, if too small of a prefix is sent to the network, the network may reject the transaction under certain circumstances. It is recommended to return at least the first 6 bytes of the raw public key value when the prefix size is zero, so that the sdk can orchestrate multiple signatures with reasonable probability of not producing a conflict as described above.

| Edit this page View Source

TransactionBytes

The bytes created by serializing the request, including necessary cryptocurrency transfers, into the underlying network's protobuf format. This is the exact sequence of bytes that will be submitted to the network alongside the signatures created authorizing the request.

Declaration
ReadOnlyMemory<byte> TransactionBytes { get; }
Property Value
Type Description
ReadOnlyMemory<byte>
| Edit this page View Source

TransactionId

The transaction ID assigned to this request. It, by its nature, contains a timestamp and expiration. Any callback methods must return from signing this transaction with enough time for the transaction to be submitted to the network with sufficient time to process before becoming invalid.

Declaration
TransactionId TransactionId { get; }
Property Value
Type Description
TransactionId

Methods

| Edit this page View Source

AddSignature(KeyType, ReadOnlySpan<byte>, ReadOnlySpan<byte>)

Adds a signature to the internal list of signatures authorizing this request.

Declaration
void AddSignature(KeyType type, ReadOnlySpan<byte> publicPrefix, ReadOnlySpan<byte> signature)
Parameters
Type Name Description
KeyType type

The type of signing key used for this signature.

ReadOnlySpan<byte> publicPrefix

The first few bytes of the public key associated with this signature. This helps the system match signing requirements held internally in the form of public keys with the signatures provided.

ReadOnlySpan<byte> signature

The bytes representing the signature corresponding to the associated private/public key.

  • Edit this page
  • View Source
In this article
Back to top .NET Client Library for Hiero Network and Hedera Hashgraph