Improvements to Delegation Functionality

Few things I think we need for delegation:

  1. A way to withdraw a node from public delegation. Ideally a flag on the contract (public delegation yes/no).

  2. Ability to allow delegation from pre-defined authorised wallets (validator defines list of wallets that can delegate). So that validators can set non-pubic rates from business deals etc. (this would solve 1 - as a validator would define their own wallet as the only one that can delegate) Also, UI could search for any text in this field, and if so, no display these nodes in the public delegation UI

  3. Ability to adjust lock in terms from the contract (again, for bespoke deals/arrangements - i.e. 2years lock in preferential fee rate)

Fair point.
Need to think how to achieve 1-2 with minimal changes to the consensus contracts. The current voting process is pretty long, and I’ve got a feeling there’s more features to come related to delegation. Basically I want to give tools for everyone to experiment with delegation features. So IMO this should be build ad extensions/layers on top of the consensus contracts. Need to do more research and spec the required changes to allow all that. Another thing that might be related https://github.com/fuseio/FIPs/blob/master/FIPS/fip-5.md.

We need (3) this as well. I think this can be achieved with proxy delegation contract, that locks and delegates the funds.