Proto: unabstract Contract.t
Context
As explained earlier, all the code already relies on the fact that contracts are already either implicit or originated. Then there's no reason to hide it.
It will allow specializing functions depending on whether they work on implicit accounts, smart contracts, or both.
As discussed offline with @klakplok, instead of going for the polymorphic variant or GADT solution, we'll keep the nested variants (public key hash / contract / destination) for now, wrap and unwrap as needed.
This is a prerequisite for #2803 (closed).
Previous related MRs: !5114 (merged), !5008 (merged)
Manually testing the MR
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.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Mehdi Bouaziz