Juvix imports
module arch.node.engines.mempool_worker_messages;
import prelude open;
import arch.node.types.basics open;
import arch.node.types.identities open;
Mempool Worker Messages¶
These are the specific messages that the Mempool Worker engine can receive/respond to.
Message interface¶
MempoolWorkerMsgTransactionRequest TransactionRequest
¶
A request from a user or solver to order and execute a transaction candidate.
type TransactionRequest : Type :=
mkTransactionRequest@{
tx : TransactionCandidate;
resubmission : Option TxFingerprint;
};
Arguments
tx
- The transaction candidate to be ordered and executed.
resubmission
- Optional reference to a previous occurrence of the same transaction candidate (currently unused).
MempoolWorkerMsgTransactionAck TransactionAck
¶
Acknowledgment sent to the user or solver that a transaction request has been accepted.
type TransactionAck : Type :=
mkTransactionAck@{
tx_hash : Hash;
batch_number : BatchNumber;
batch_start : WallClockTime;
worker_id : EngineID;
signature : Signature;
};
Arguments
tx_hash
- The hash of the acknowledged transaction candidate (Currently unused).
batch_number
- The batch number assigned to the transaction (Currently unused).
batch_start
- The wall clock time when the batch was opened (Currently unused).
worker_id
- The external identity of the worker engine that processed the transaction.
signature
- The signature of the worker engine over the above fields (Currently unused).
MempoolWorkerMsg
¶
type MempoolWorkerMsg :=
| MempoolWorkerMsgTransactionRequest TransactionRequest
| MempoolWorkerMsgTransactionAck TransactionAck;