Fix CREATE_CONTRACT annotations
Context
While investigating #2707 (closed) I found that CREATE_CONTRACT
was losing parameter
and storage
type annotations because they were parsed before being unparsed.
While we still want to typecheck internally originated contract inside the factory contract, we just want to reuse the code as is, except for the data parts (code
, storage
value, and views code -- reminder: code is lambda value) that needs to be normalized (see #843 (closed) and !3842 (merged)).
At lot of duplication of work was done during internal originations, I had to simplify stuff to make sure I wasn't breaking anything.
Manually testing the MR
See added test that fails on master
and works afterwards.
Checklist
[ ] Document the interface of any function added or modified (see the coding guidelines)[ ] Document any change to the user interface, including configuration parameters (see node configuration)-
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rst
for the protocol and the environment,CHANGES.rst
at the root of the repository for everything else). -
Select suitable reviewers using the Reviewers
field below. -
Select as Assignee
the next person who should take action on that MR
Edited by Mehdi Bouaziz