spruceid / tzprofiles

Create portable verified profiles on Tezos with public accounts.
https://tzprofiles.com
Apache License 2.0
38 stars 17 forks source link

Error in Michelson Smart Contract Code: Ill-Formed Type and Unexpected Annotation #196

Open eilseq opened 4 months ago

eilseq commented 4 months ago

Description

Encountered issues with an ill-formed type and an unexpected annotation in a Tezos smart contract, which is causing a server error (500) when attempting to deploy or interact with the contract.

Error Details

Log

Http error response: (500) [{"kind":"permanent","id":"proto.018-Proxford.michelson_v1.ill_formed_type","identifier":"storage","ill_formed_expression":[{"prim":"parameter","args":[{"prim":"pair","args":[{"prim":"unit"},{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"set","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"string"}]}],"annots":["%claims"]},{"prim":"string","annots":["%contract_type"]}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"string"},{"prim":"bytes"}],"annots":["%metadata"]},{"prim":"address","annots":["%owner"]}]}]}]}]},{"prim":"storage","args":[{"prim":"option","args":[{"prim":"set","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"string"}]}],"annots":["%claims"]}]}]},{"prim":"code","args":[[{"prim":"CAR"},[{"prim":"CDR"},{"prim":"CAR"},{"prim":"CAR"}],{"prim":"SOME"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]}],"location":19},{"kind":"permanent","id":"proto.018-Proxford.michelson_v1.unexpected_annotation","location":20}]

sbihel commented 3 months ago

Unfortunately I don't know if this is a Tezos issue at the Michelson level (maybe a major version of the language was released?) or if it's a node-specific issue. If someone has time to test tzprofiles with a different node from the one configured by default that would help.

eilseq commented 3 months ago

What brought you to this conclusion? What action exactly would you need to be performed, and how?

sbihel commented 3 months ago

What brought you to this conclusion?

This smart contract has been deployed successfully for ~2 years before we started getting 500s.

What action exactly would you need to be performed, and how?

If your wallet allows it, you can select a different node from what's set by default by the web app (or "dApp"). And then you can try the deployment again.