Summing up:
Clients should not care about the internal concept of shares.
I as a user only want to know how many tokens I have delegated to a validator so I can quickly evaluate how much value I have delegated.
Same: I as a user want to withdraw x tokens I have delegated to a validator.
Therefor in the CLI and REST interface displaying and withdrawing (and redelegation?!) of stake should only happen in tokens. Those tokens are then converted into and from shares internally.
makes ample sense - some consideration needs to given based truncation which may occur based on values of shares etc.. but I don't think it's anything unmanageable
Most helpful comment
Summing up:
Clients should not care about the internal concept of shares.
I as a user only want to know how many tokens I have delegated to a validator so I can quickly evaluate how much value I have delegated.
Same: I as a user want to withdraw x tokens I have delegated to a validator.
Therefor in the CLI and REST interface displaying and withdrawing (and redelegation?!) of stake should only happen in tokens. Those tokens are then converted into and from shares internally.