When someone clicks on "Account Settings" in the menu, it should take them to a page which has the following displayed content and features:
Display / Features
Displays logged in user name at top
Shows: @owner Public Key, @active Public Key, @farm Public Key queried from blockchain API
If @farm Public Key matches @owner or @active public key, we need to put a red error exclamation next to the @farm key. The @farm permission must always be unique from any other keys. (It's also possible we could do an API query, and find all permissions associated with the @farm Public Key, and also ensure other accounts are not using this key.) @farm is meant to be an insecure key, so we have to verify no one is using it for a secured permission like @owner or @active.
Setup @farm Permission button --- This button will either trigger a pop-up window, or route to another page in the UAL, which allows the user to follow a step-by-step process.
Interface to Setup @farm Permission
See the draft UI outline:
This is either a pop-up or a separate page, which you enter when clicking the button on the Account Settings page.
1) Create / Update @farm Key
Only the last text field should be editable, it allows a user to import their own Private key if they want.
Checks if has existing @farm key, if one does not exist, displays error text.
Checks that existing @farm key does not match @owner key or @active key. If it does, display error text.
Optional (if we can easily do this with API call): Check @farm key matches no other @owner or @active key on Telos. If it does, display error text.
When the Update button is clicked, we need to store in the browser this Private key. The game will use a non-critical @farm permission to update gameplay actions in the background, allowing for ease of play without having to authorise every gameplay event manually.
If everything is good, displays green text of proper operation.
2) Test @farm Authentication button
Checking for linkauth is not easily achievable. So instead, we create a button to test out a transaction and it will sign it, and attempt to send to blockchain.
This may be wrong below, but I think a linkauth is something like this:
account: current user
code: smart contract (always heartfarmsio)
type: action (Always main for heartfarmsio)
requirement: permission (always farm for this)
How to check for existing linkauth setup with account, needs some research.
Upon researching, not easily possible to check EOSIO linkauth setting.
For Sarah to work on.
When someone clicks on "Account Settings" in the menu, it should take them to a page which has the following displayed content and features:
Display / Features
Interface to Setup @farm Permission
See the draft UI outline:
This is either a pop-up or a separate page, which you enter when clicking the button on the Account Settings page.
1) Create / Update @farm Key
2) Test @farm Authentication button Checking for linkauth is not easily achievable. So instead, we create a button to test out a transaction and it will sign it, and attempt to send to blockchain.
This may be wrong below, but I think a linkauth is something like this:
account: current user code: smart contract (always heartfarmsio) type: action (Always main for heartfarmsio) requirement: permission (always farm for this)
How to check for existing linkauth setup with account, needs some research.
Upon researching, not easily possible to check EOSIO linkauth setting.