Identity contract member lists are not fully parsed when publishing private to the identity if the identity only has a single device.
For example, parsing "soapseller" does not include device 0xaac2c5462ce14d5596b6234bcf96910ee2213d9e in the allow list (although 0xaac2.. is the only device under identity 0x2d364ef58b93a7629cb41bcdaadacff626e0685d).
e.g. you can do this:
diode -debug publish -private 4000:80,soapseller
and it will not output the device
Observed:
INFO Resolving BNS: soapseller server=us1.prenet.diode.io:41046
INFO Resolving Members: 0x2d364ef58b93a7629cb41bcdaadacff626e0685d server=us1.prenet.diode.io:41046
INFO
INFO Port :
INFO Port localhost:80 : 80 private any soapseller
Expected:
INFO Resolving BNS: soapseller server=us1.prenet.diode.io:41046
INFO Resolving Members: 0x2d364ef58b93a7629cb41bcdaadacff626e0685d server=us1.prenet.diode.io:41046
INFO Resolving Members: 0xaac2c5462ce14d5596b6234bcf96910ee2213d9e server=us1.prenet.diode.io:41046
INFO
INFO Port :
INFO Port localhost:80 : 80 private any soapseller
as soon as I add a second device to the soapseller identity, it works:
hr@Hs-MacBook-Pro tree-graph % diode publish -private 80:80,soapseller
INFO Diode Client version : v0.14.2 25 Jul 2024
INFO Client address : 0xb6a70432a8bbbcb9ce019c9a9c82fd0f651be121
INFO Fleet address : 0x6000000000000000000000000000000000000000
INFO Network is validated, last valid block: 7727045 0x000011a8e3f3dbdc2e06641d274d5664635c7257740d98d9b59f62914b174b9c
INFO Client name : harnewlaptop.diode
INFO Resolving BNS: soapseller server=us1.prenet.diode.io:41046
INFO Resolving Members: 0x2d364ef58b93a7629cb41bcdaadacff626e0685d server=us1.prenet.diode.io:41046
INFO Resolving Members: 0xaac2c5462ce14d5596b6234bcf96910ee2213d9e server=us1.prenet.diode.io:41046
INFO Resolving Members: 0x234cdedbe5cddf3d024fbb0c1b8fc319cd2e10e4 server=us1.prenet.diode.io:41046
INFO
INFO Port :
INFO Port localhost:80 : 80 private any soapseller
Identity contract member lists are not fully parsed when publishing private to the identity if the identity only has a single device.
For example, parsing "soapseller" does not include device 0xaac2c5462ce14d5596b6234bcf96910ee2213d9e in the allow list (although 0xaac2.. is the only device under identity 0x2d364ef58b93a7629cb41bcdaadacff626e0685d).
e.g. you can do this: diode -debug publish -private 4000:80,soapseller
and it will not output the device
Observed: INFO Resolving BNS: soapseller server=us1.prenet.diode.io:41046 INFO Resolving Members: 0x2d364ef58b93a7629cb41bcdaadacff626e0685d server=us1.prenet.diode.io:41046 INFO INFO Port :
INFO Port localhost:80 : 80 private any soapseller
Expected: INFO Resolving BNS: soapseller server=us1.prenet.diode.io:41046 INFO Resolving Members: 0x2d364ef58b93a7629cb41bcdaadacff626e0685d server=us1.prenet.diode.io:41046 INFO Resolving Members: 0xaac2c5462ce14d5596b6234bcf96910ee2213d9e server=us1.prenet.diode.io:41046 INFO INFO Port :
INFO Port localhost:80 : 80 private any soapseller
as soon as I add a second device to the soapseller identity, it works:
hr@Hs-MacBook-Pro tree-graph % diode publish -private 80:80,soapseller INFO Diode Client version : v0.14.2 25 Jul 2024 :
INFO Port localhost:80 : 80 private any soapseller
INFO Client address : 0xb6a70432a8bbbcb9ce019c9a9c82fd0f651be121 INFO Fleet address : 0x6000000000000000000000000000000000000000 INFO Network is validated, last valid block: 7727045 0x000011a8e3f3dbdc2e06641d274d5664635c7257740d98d9b59f62914b174b9c INFO Client name : harnewlaptop.diode
INFO Resolving BNS: soapseller server=us1.prenet.diode.io:41046 INFO Resolving Members: 0x2d364ef58b93a7629cb41bcdaadacff626e0685d server=us1.prenet.diode.io:41046 INFO Resolving Members: 0xaac2c5462ce14d5596b6234bcf96910ee2213d9e server=us1.prenet.diode.io:41046 INFO Resolving Members: 0x234cdedbe5cddf3d024fbb0c1b8fc319cd2e10e4 server=us1.prenet.diode.io:41046 INFO INFO Port