Open
Description
observe the following:
<ts:selection id="notAdmin" filter="!(ownerAddress=admin)">
<ts:denial>
<ts:string xml:lang="en">Must be the admin</ts:string>
</ts:denial>
</ts:selection>
With the following admin attribute:
<ts:attribute-type name="admin" syntax="1.3.6.1.4.1.1466.115.121.1.15">
<ts:label>
<ts:string xml:lang="en">admin</ts:string>
</ts:label>
<ts:origins>
<ethereum:call function="admin" contract="GFO" as="address"/>
</ts:origins>
</ts:attribute-type>
This comparison will not work because the attribute type admin is not checksummed but the owner address is, thereby making this selection impossible.
We need an ASN.1 syntax which handles checksums, not only for this use case but in general as it is unsafe NOT to use a checksum on an address.