Skip to content

SwapHotkey: No self-loop check for childkeys #2109

@gztensor

Description

@gztensor

When the swap hotkey is performed, there is no check that new_hotkey is not a child of old_hotkey. This is possible to happen before child keys do not have to be registered on any network when added.

  1. Add this check
  2. Write a migration that will remove any self-looped ChildKeys or ParentKeys entries

Below are several examples of self-looping on mainnet:

Constraint error: 1 cycle detected (self-loop) at 5F4pBNBg9JYUGk73ahd4vojhEJsoJNgDKNkGD2p7GHcZ6us4 on netuid 4
Constraint error: 1 cycle detected (self-loop) at 5ERJ3ixrtcPBqaib85MeivPNWuiPxE3taKymENb8DvCcbixA on netuid 41
Constraint error: 1 cycle detected (self-loop) at 5DFZEJwgkg98h1kyngSEMYY1NnxXE9tkpLGCtQqf9XCtGBxf on netuid 25
Constraint error: 1 cycle detected (self-loop) at 5GYb7bJqRgHm1oJMG783fAJgsiEwH7Fu3MWGKnCkMmzCqRnh on netuid 13
Constraint error: 1 cycle detected (self-loop) at 5FAC51a9Jc3BoHcpGT28Dg3qNPxPViztTB7fA1MHHdKK3gm1 on netuid 2
Constraint error: 1 cycle detected (self-loop) at 5D4nngxbaX57zkibiP6zjszwx4pyuqoyocQdBCzRvNpw7Z5H on netuid 6
Constraint error: 1 cycle detected (self-loop) at 5GBXyD3nxGkCJ9n8gSSr9hhKDJk7osHNGu5YuVtEMSdY5Ymw on netuid 10
Constraint error: 1 cycle detected (self-loop) at 5DFPWPnmLx7BAqVtzhwAHcFv2AkW5aAPD6uAbFx6DNAHR185 on netuid 11
Constraint error: 1 cycle detected (self-loop) at 5GYfucMhtD4MVy2JqDdeV7v2aA5kd7uZBpqmz8FPFRPK3Ser on netuid 14
Constraint error: 1 cycle detected (self-loop) at 5Fy7fGd2FFdmtyAfuer7SepdtbySPGewF8oVmGNb5A4wHMYM on netuid 23
Constraint error: 1 cycle detected (self-loop) at 5GphK6ZyY3gg1ZBaDfeeNZ4yeyZpc3d7ZpXedN4x9ij2jSGV on netuid 27
Constraint error: 1 cycle detected (self-loop) at 5DiGnqvBzXHnBswkkD7vcU9aA9Spiqq6H6YPXzE575DASUDS on netuid 30
Constraint error: 1 cycle detected (self-loop) at 5FbGp2hED3EftnxVuTF1rihUA9TMyGrRpe77bvYDAXF9VH1F on netuid 33
Constraint error: 1 cycle detected (self-loop) at 5EbmqAcg7LuNUM1H5QcYNjjWCPT51JCfiLURX2py2WZSXWxu on netuid 42
Constraint error: 1 cycle detected (self-loop) at 5HaxWC6iEm66ePS9WX9QRjqEJDQHWS2v1YfoXSgRxnHcKsGb on netuid 50
Constraint error: 1 cycle detected (self-loop) at 5DkUT93xhK6PxFSvWVKSAWjJSXVc9CagdpUm3HwBDPHFCozY on netuid 51
Constraint error: 1 cycle detected (self-loop) at 5G7Cm6SDeCz4YZhoZrfLXFShqTra5bag4GgCCi9eoCN4bp6U on netuid 53
Constraint error: 1 cycle detected (self-loop) at 5GRbxcRk3x7DqTsyi9ucGVsF43hrSLM7CXmiSWjr7UeKCdXc on netuid 64
Constraint error: 1 cycle detected (self-loop) at 5EXXUEhZmqG9fzyURV6YfqEEAHK1gwrKpfVD57iHgq7Wss68 on netuid 68
Constraint error: 1 cycle detected (self-loop) at 5EyXAU6APD5FL3syTsL8JjFt2GtMNTXb72KxQRkwz5Wt3Jwr on netuid 73
Constraint error: 1 cycle detected (self-loop) at 5FcVt2QMozActVwMsLk9EW62o9G6NF8iSfqeZKb7o1WBzQEo on netuid 81
Constraint error: 1 cycle detected (self-loop) at 5C5o2nFjs2o7yPzwZSDn1AWntCbHrv9mF8TmUYrhaT6Ssn91 on netuid 91
Constraint error: 1 cycle detected (self-loop) at 5FUPAUQPGXUqWvAn71qWKMaZjjWGbsEVjVuQoCRekUwvHs93 on netuid 93
Constraint error: 1 cycle detected (self-loop) at 5G6DS5G5UQHUgJCNPHPX5f49VkXbZWd9KpDz4kQ7kjCsn1oo on netuid 100
Constraint error: 1 cycle detected (self-loop) at 5DAjvdMgvyBGQ1WHWchdu2gJv8yYVwUy8guY67Ytcp6Rs1o2 on netuid 102
Constraint error: 1 cycle detected (self-loop) at 5CJQ7NPaVifP2dops1f9Y9peWT124sbyg4eH6AKzsjJqmKis on netuid 44
Constraint error: 1 cycle detected (self-loop) at 5HWAkovqTiGXbo4VeMYLACThDPuzFgWrg27SaXmqXGGpGGPh on netuid 63

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions