Raw constructor for block-headerp structures.
Syntax:
(block-header parent-hash ommers-hash beneficiary state-root transactions-root receipts-root logs-bloom difficulty number gas-limit gas-used timestamp extra-data mix-hash nonce)
This is the lowest-level constructor for block-headerp structures. It simply conses together a structure with the specified fields.
Note: It's generally better to use macros like make-block-header or change-block-header instead. These macros lead to more readable and robust code, because you don't have to remember the order of the fields.
The block-headerp structures we create here are just constructed with ordinary cons. If you want to create honsed structures, see honsed-block-header instead.
This is an ordinary constructor function introduced by std::defaggregate.
Function:
(defun block-header (parent-hash ommers-hash beneficiary state-root transactions-root receipts-root logs-bloom difficulty number gas-limit gas-used timestamp extra-data mix-hash nonce) (declare (xargs :guard (and (addressp beneficiary) (n256p state-root) (n256p transactions-root) (n256p receipts-root) (natp number) (byte-arrayp extra-data) (n256p mix-hash) (n64p nonce)))) (cons (cons 'parent-hash parent-hash) (cons (cons 'ommers-hash ommers-hash) (cons (cons 'beneficiary beneficiary) (cons (cons 'state-root state-root) (cons (cons 'transactions-root transactions-root) (cons (cons 'receipts-root receipts-root) (cons (cons 'logs-bloom logs-bloom) (cons (cons 'difficulty difficulty) (cons (cons 'number number) (cons (cons 'gas-limit gas-limit) (cons (cons 'gas-used gas-used) (cons (cons 'timestamp timestamp) (cons (cons 'extra-data extra-data) (cons (cons 'mix-hash mix-hash) (cons (cons 'nonce nonce) nil))))))))))))))))