hanghzou global constants

Merged Rémi requested to merge feature/global_constants into dev

New primitives:

constant is not really part of michelson, but is expanded by the time a contract is evaluated/typechecked using the global hash table stored on-chain.

  • Tezos.constant <hash>: takes a hash and emit PUSH <ty> (constant <hash>). The contract won't pass the michelson typechecker since constant won't be expanded (use --disable-michelson-typechecking)

I expect Tezos.constantsize to be used most of the time because even if a user is using an already defined constant, he can always make use of michelson insertions

  • has a changelog entry
Edited by Didier Plaindoux