The PublicContextInputs injected into a public function include a set of PublicGlobalVariables (such as coinbase, block number, timestamp, etc). However, these are not returned in the PublicCircuitPublicInputs created by the PublicContext.finish(), so the public kernel has no visibility of them, so a malicious sequencer could inject whatever value they want into those variables.
The
PublicContextInputsinjected into a public function include a set ofPublicGlobalVariables(such as coinbase, block number, timestamp, etc). However, these are not returned in thePublicCircuitPublicInputscreated by thePublicContext.finish(), so the public kernel has no visibility of them, so a malicious sequencer could inject whatever value they want into those variables.