Two functions relating to produce Michelson types (needed to produce a well-formed Michelson stack cell, which includes a type tag):
a function #DexterParamType which builds the contract parameter type in Michelson corresponding to the Dexter contract parameter type (in both the FA12 and FA2 versions)
a function #DexterStorageType which builds the contract storage type in Michelson corresponding to the Dexter contract storage type (in both the FA12 and FA2 versions)
a conversion function from our abstract storage value + abstract parameter value into an initial Michelson stack input corresponding to the Dexter contract input (in both the FA12 and FA2 versions)
a conversion function from the final Michelson stack cell data into the Dexter contract abstract storage configuration
To check that these functions are correct, you can compare the type structure in the contract with the type structure in the compiled versions of the Michelson contracts:
This PR implements:
Two functions relating to produce Michelson types (needed to produce a well-formed Michelson stack cell, which includes a type tag):
#DexterParamType
which builds the contract parameter type in Michelson corresponding to the Dexter contract parameter type (in both the FA12 and FA2 versions)#DexterStorageType
which builds the contract storage type in Michelson corresponding to the Dexter contract storage type (in both the FA12 and FA2 versions)a conversion function from our abstract storage value + abstract parameter value into an initial Michelson stack input corresponding to the Dexter contract input (in both the FA12 and FA2 versions)
a conversion function from the final Michelson stack cell data into the Dexter contract abstract storage configuration
To check that these functions are correct, you can compare the type structure in the contract with the type structure in the compiled versions of the Michelson contracts:
The relevant type information is contained in the
storage
andparameter
declarations at the top of the respective files.Fixes: #199