lousando / briskett

A delicious Tezos wallet interface for Trezor.
https://briskett.app
MIT License
5 stars 8 forks source link

Is there a way to unstake/undelegate using Briskett? #17

Open adept opened 1 year ago

adept commented 1 year ago

Hi!

Is there a way to unstake/undelegate using Briskett?

If I am reading tezos API right, it could be as simple as not setting the delegate here: https://github.com/lousando/briskett/blob/5b778db9dd04c716d7fcd66d5a9e5189275afe7d/pages/delegate.vue#L211

Would you consider implementing this?

lousando commented 1 year ago

Correct, there is currently no way to undelegate. What would be the use case though? From my understanding it's better for people with a wallet to delegate to prevent risk of deflation.

adept commented 1 year ago

Scenario in which I would've wanted to undelegate:

As you know, you can't drain account completely. So even if you moved all funds to a different account, there would be a small residual amount left. Unless undelegated, this amount would keep generating very small staking "revenue"

Depending on the regulatory regime, this staking revenue might need to be tracked for tax/reporting purposes. The amount of effort required to do that would greatly outweigh any financial benefits one might gain from staking this residual amount - it would be best to undelegate it and leave it be.

lousando commented 1 year ago

Depending on the regulatory regime, this staking revenue might need to be tracked for tax/reporting purposes. The amount of effort required to do that would greatly outweigh any financial benefits one might gain from staking this residual amount - it would be best to undelegate it and leave it be.

Fair point. I'll add it to the roadmap.

lousando commented 1 year ago

Adding this additional info in here so it doesn't get lost.

Essentially the developer would have to sign a transaction against a KT1 (smart contract) address to cancel the delegation.

Not sure which/where the KT1 address lives yet, but I imagine the owner would have to be either the baker or the wallet address.

Another thing to note for the future:

During the migration from proto004 to proto005, all KT1 addresses that migrated got a contract called [manager.tz](https://gitlab.com/nomadic-labs/mi-cho-coq/blob/master/src/contracts/manager.tz). As a result, there are no longer any "script-less" KT1 addresses in Tezos.

A call to the KT1's smart contract's do method must be made to delegate to a KT1 address with the new manager.tz contract. The do method takes a lambda function, and it is this lambda function that causes changes to occur in the KT1 address.

Source: https://tezostaquito.io#set_delegate