firoorg / firo

The privacy-focused cryptocurrency
https://firo.org
MIT License
721 stars 354 forks source link

Elysium will select locked coins #1141

Closed ghost closed 1 year ago

ghost commented 2 years ago

If you have locked coins (such as Masternode funds) in your wallet, Elysium will select them and put them into coin control with its SelectCoins function. They will later be rejected by CWallet::CreateTransaction, and the user will be permanently unable to send Elysium transactions from that address. client-api/elysium.cpp:createElysiumProperty will select the first entry in CWallet::mapWallet with a balance, so if that address happens to be a Masternode address, property creation will consistently fail. (The order of addresses in mapWallet is unspecified, so this may change when new addresses are added to the wallet or on a new startup.) This should be trigger able consistently by creating a new property from a masternode address, which can be done on the command line with elysium_sendissuancefixed.

Work on this and other Elysium issues is currently being done in the client-api-elysium branch. Relevant commits should later be cherry-picked and merged to the elysium-lelantus branch after work is done. I recommend testing with the functionality in firo-client's elysium branch, as it greatly simplifies the usage of Elysium functionality and is what will ultimately be what users interact with.