-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why do the fio.token and fio.address accounts have a proxy set? #141
Comments
this is pretty odd...I did some code analysis and also some "state of the main net chain analysis" and I cannot seem to find a way that this has come to occur....at any rate we should consider to add protections into the tpid and auto proxy logic to prohibit the participation of the fio protocols system accounts, and we might also consider to add this protection into the voting logic as well (prohibit the fio system accounts from participating in voting)....this may just be an artifact of the earlier days of the chain, but we should consider to help to ensure that this cannot be permitted to happen. since the system accounts are all retired and have private keys burned I do not see a path permitting this to happen in the future, but it might be safest to lock this down specifically just in case.. |
I think that someone should investigate this from a history perspective and discover how this came to be, then we can possibly verify if the above tactics have any merit.. |
This account registered as a proxy here: https://explorer.fioprotocol.io/transaction/385bbd5e5ecfd49b17fa6cb2c24cd3467429912969ae90dd5711fa2e412e2bf1 |
im interested in the block explorer entries that show when the is_auto_proxy got set on the fio system accounts.. |
and also when the fio system accounts were added to the voters table. |
Looking at the transaction that did it:
|
cool Nate!! ill look at this some more in the light of this data, thank you for looking, I appreciate it..the FIO protocol has as a feature that we auto proxy to the domain owner IF the domain owner registers as a TPID....so this auto proxy you see is a feature of the protocol...but ill look into this deeper as well, interested to see where this leads me... |
This must be an artifact from when the chain was first spun and fio.token was used as an actor for the initial call to regproxy, the actor was initially emplaced as an owner. Here we call regiproxy with the actor as a proxy parameter |
https://github.com/fioprotocol/fio/blob/develop/fio.contracts/contracts/fio.address/fio.address.cpp#L363 Edit: all calls to processbucketrewards and process_rewards |
looking at the code from the highest level in the call chain, we see code in the fio.token contract for transfer fio using pub key and in the fio.address contract for register address that looks like this.. fio_fees(actor, asset{(int64_t) reg_amount, FIOSYMBOL}); using get_self() on the process rewards passes this value (the system contract account) to the methods/actions that set the tpid and auto proxy.... this is why this showed up....we will get a fix in so it no longer happens.. thanks @n8d for finding this...the protocol is better for your efforts... |
To rectify this we need to consider the following:
|
as it turns out, all of the calls to process_rewards and processbucketrewards need to be updated to provide a fix for this, this fix will affect auto proxy voting, but does not affect tpid rewards accumulation, or claiming of tpid rewards...we probably do not need item 4 above, we probably just need to let the system learn the tpids as calls are made from the various wallets and integrators, the auto proxy voting will resolve itself over time... |
I've discovered this on FIO Mainnet:
Which is odd, as
qcic4ydb3vqh
seems to be a normal user account. Thatis_auto_proxy
value leads me to believesetautoproxy
may have been called on these accounts. Is this a bug?The text was updated successfully, but these errors were encountered: