Hello,
I’ve been getting this error when trying to build a predicate. It’s built in the past but since updating the toolchain I’ve been getting this error. I’m using some of the GTF opcodes to check coin inputs and outputs which I think could be the cause. Any help you could provide would be greatly appreciated. Thank you!!!
1 Like
Indeed using the gm
opcodes with i1
and i2
is not allowed in predicates. This is now enforced at compile time.
Only i3
is allowed in predicates. See the following explanation in the specs.
Now I see that those errors are coming from the standard library. If you’re using caller_is_external()
or caller_contract_id()
in a predicate, then the predicate won’t compile for the reasons mentioned above (both of these use the gm
opcode with i1
and i2
respectively).
3 Likes
Thank you
Was calling msg.sender()
in the predicate.
This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.