Raw constructor for execution-environmentp structures.
Syntax:
(execution-environment owner-address sender-address gas-price input-data causer-account value bytecode block-header depth permission)
This is the lowest-level constructor for execution-environmentp structures. It simply conses together a structure with the specified fields.
Note: It's generally better to use macros like make-execution-environment or change-execution-environment instead. These macros lead to more readable and robust code, because you don't have to remember the order of the fields.
The execution-environmentp structures we create here are just constructed with ordinary cons. If you want to create honsed structures, see honsed-execution-environment instead.
This is an ordinary constructor function introduced by std::defaggregate.
Function:
(defun execution-environment (owner-address sender-address gas-price input-data causer-account value bytecode block-header depth permission) (declare (xargs :guard (and (addressp owner-address) (addressp sender-address) (natp gas-price) (byte-arrayp input-data) (addressp causer-account) (n256p value) (byte-arrayp bytecode) (block-headerp block-header) (natp depth)))) (cons (cons 'owner-address owner-address) (cons (cons 'sender-address sender-address) (cons (cons 'gas-price gas-price) (cons (cons 'input-data input-data) (cons (cons 'causer-account causer-account) (cons (cons 'value value) (cons (cons 'bytecode bytecode) (cons (cons 'block-header block-header) (cons (cons 'depth depth) (cons (cons 'permission permission) nil)))))))))))