Skip to content
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

🐛 Unspendable DFIs block any transactions (DeFiCh/wallet) #1807

Closed
thedoublejay opened this issue Oct 15, 2022 · 7 comments
Closed

🐛 Unspendable DFIs block any transactions (DeFiCh/wallet) #1807

thedoublejay opened this issue Oct 15, 2022 · 7 comments
Labels
area/packages kind/bug Something isn't working triage/accepted Triage has been accepted

Comments

@thedoublejay
Copy link
Member

What happened:

BirthdayResearch/defichain-wallet#3663

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:

@thedoublejay thedoublejay added the kind/bug Something isn't working label Oct 15, 2022
@jellyfishsdk-bot
Copy link
Contributor

@thedoublejay: Thanks for opening an issue, it is currently awaiting triage.

The triage/accepted label can be added by foundation members by writing /triage accepted in a comment.

Details

I am a bot created to help the JellyfishSDK developers manage community feedback and contributions. You can check out my manifest file to understand my behavior and what I can do. If you want to use this for your project, you can check out the BirthdayResearch/oss-governance-bot repository.

@jellyfishsdk-bot jellyfishsdk-bot added needs/triage Waiting for triage to be accepted needs/area Needs area label(s) labels Oct 15, 2022
@jellyfishsdk-bot
Copy link
Contributor

@thedoublejay: There are no 'area' labels on this issue. Adding an appropriate label will greatly expedite the process for us. You can add as many area as you see fit. If you are unsure what to do you can ignore this!

You can add area labels by leaving a /area comment.

Details

I am a bot created to help the JellyfishSDK developers manage community feedback and contributions. You can check out my manifest file to understand my behavior and what I can do. If you want to use this for your project, you can check out the BirthdayResearch/oss-governance-bot repository.

@fuxingloh
Copy link
Contributor

/area packages

It's a known issue since the PrevoutProvider that we use and implemented today is the bare minimum but good enough. Another implementation can be done and take into account "Immature UTXO" and filter it from the prevout provider. However, that's not enough since we still need to show that a certain amount of their UTXO is Immature.

https://github.com/JellyfishSDK/jellyfish/blob/4c35de8a08d35283abbdaf7786703ef73ce150a3/packages/jellyfish-transaction-builder/src/provider.ts#L12-L28

If we were to implement the Immature UTXO filtering, we should implement this #1663 first.

Since this is not a low-bearing fruit, I don't have an answer now; let's see.

@jellyfishsdk-bot jellyfishsdk-bot added area/packages and removed needs/area Needs area label(s) labels Oct 17, 2022
@mrgrauel
Copy link

mrgrauel commented Oct 17, 2022

@fuxingloh thanks, for clarification. It's dangerous, because it blocks the user from being able to save its vaults from liquidation. I was shocked when I noted that I cannot do any transactions for 100 blocks. I was happy that I noticed the issue on a friday night, so oracles do not move much.

As soon as setRewardAddress is possible for a masternode owner this could become a bigger problem, because at the moment only masternode operator are able to set rewardaddress for all operators.

From my user glasses, it is very important to solve the problem because it could cost the user a lot of money and it's not totally his fault.

@fuxingloh
Copy link
Contributor

@fuxingloh thanks, for clarification. It's dangerous, because it blocks the user from being able to save its vaults from liquidation. I was shocked when I noted that I cannot do any transactions for 100 blocks. I was happy that I noticed it the issue on a friday night, so oracles do not move much.

As soon as setRewardAddress is possible for a masternode owner this could become a bigger problem, because at the moment only masternode operator are able to set rewardaddress for all operators.

From my user glasses, it is very important to solve the problem because it could cost the user a lot of money and kind it's not totally his fault.

/triage accepted

Great insights; let me think about this since it's not an easy fix with many legacy tech debts. Alternative for affected users please separate your reward address from active operational wallets.

@jellyfishsdk-bot jellyfishsdk-bot added triage/accepted Triage has been accepted and removed needs/triage Waiting for triage to be accepted labels Oct 17, 2022
@fuxingloh
Copy link
Contributor

Not an easy change; let's approach it slowly and tackle the first issue first since that interface prevents spending. Where we can throw an error when attempting to spend immature UTXO. We can improve and expand on the basic PrevoutProvider while we're at it.

Issues to Tackle:

  • WhalePrevoutProvider should ignore UTXO that are Immature (<100 confirmations)
  • Whale Balance Aggregation should separately aggregate immature UTXO
  • Provide additional field on whale-api to show immature category UTXO

Let me find the resources to tackle this.

@fuxingloh
Copy link
Contributor

fuxingloh commented Oct 18, 2022

/close and triaged as #1818

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/packages kind/bug Something isn't working triage/accepted Triage has been accepted
Projects
None yet
Development

No branches or pull requests

4 participants