Class PrngTransaction

Gets a pseudorandom 32-bit number. Not cryptographically secure. See HIP-351 https://hips.hedera.com/hip/hip-351

Hierarchy

Constructors

Properties

_operator: null | ClientOperator
_operatorAccountId: undefined | null | AccountId
_signOnDemand: boolean

Accessors

  • get grpcDeadline(): null | number
  • Get the grpc deadline

    Returns null | number

  • get maxAttempts(): number
  • Get the max attempts on the request

    Returns number

  • get maxBackoff(): number
  • Get the max backoff

    Returns number

  • get maxRetries(): number
  • Returns number

    Deprecated

  • get minBackoff(): null | number
  • Get the min backoff

    Returns null | number

  • get nodeAccountIds(): null | AccountId[]
  • Get the list of node account IDs on the request. If no nodes are set, then null is returned. The reasoning for this is simply "legacy behavior".

    Returns null | AccountId[]

  • get regenerateTransactionId(): null | boolean
  • Is transaction ID regeneration enabled

    Returns null | boolean

  • get transactionValidDuration(): number
  • Get the transaction valid duration

    Returns number

Methods

  • Add a signature explicitly

    This method requires the transaction to have exactly 1 node account ID set since different node account IDs have different byte representations and hence the same signature would not work for all transactions that are the same except for node account ID being different.

    Parameters

    Returns PrngTransaction

  • Execute the request using a client and an optional request timeout

    Type Parameters

    • ChannelT extends default<ChannelT>

    • MirrorChannelT extends default<MirrorChannelT>

    Parameters

    • client: default<ChannelT, MirrorChannelT>
    • requestTimeout: undefined | number

    Returns Promise<TransactionResponse>

  • Set the ID for this transaction.

    The transaction ID includes the operator's account ( the account paying the transaction fee). If two transactions have the same transaction ID, they won't both have an effect. One will complete normally and the other will fail with a duplicate transaction status.

    Normally, you should not use this method. Just before a transaction is executed, a transaction ID will be generated from the operator on the client.

    Parameters

    Returns PrngTransaction

  • Sign the transaction with the public key and signer function

    If sign on demand is enabled no signing will be done immediately, instead the private key signing function and public key are saved to be used when a user calls an exit condition method (not sure what a better name for this is) such as toBytes[Async](), getTransactionHash[PerNode]() or execute().

    Parameters

    • publicKey: PublicKey
    • transactionSigner: ((message) => Promise<Uint8Array>)
        • (message): Promise<Uint8Array>
        • Parameters

          • message: Uint8Array

          Returns Promise<Uint8Array>

    Returns Promise<PrngTransaction>

  • Serialize the request into bytes. This will encode all the transactions into a proto.TransactionList and return the encoded protobuf.

    NOTE: Does not support sign on demand

    Returns Uint8Array

  • This method is called by each *Transaction._fromProtobuf() method. It does all the finalization before the user gets hold of a complete Transaction

    Type Parameters

    Parameters

    • transaction: TransactionT
    • transactions: ITransaction[]
    • signedTransactions: ISignedTransaction[]
    • transactionIds: TransactionId[]
    • nodeIds: AccountId[]
    • bodies: ITransactionBody[]

    Returns TransactionT

Generated using TypeDoc