Commit Graph

16981 Commits

Author SHA1 Message Date
HenrikJannsen
8ab2582db6
Use check for isRegtest instead of test for isDevTesting to set dev parameters
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:15 -05:00
HenrikJannsen
0e79582819
Refactoring: Move isActivated method to BurningManService
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:14 -05:00
HenrikJannsen
dff6d48333
Refactoring: Move BM model classes into model package. Adjust visibility.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:14 -05:00
HenrikJannsen
c1dc317783
Remove unused methods
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:14 -05:00
HenrikJannsen
d31493b1e9
Use TradeWalletService.MIN_DELAYED_PAYOUT_TX_FEE as min value for miner fee in DelayedPayoutTxReceiverService.getSpendableAmount
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:14 -05:00
HenrikJannsen
7f2b62f391
Don't show decayedAmount for LegacyBurningMan
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:14 -05:00
HenrikJannsen
d4646cc19f
Add LegacyBurningMan to UI
It is not included in BurningManCandidate candidate map as that would complicate things.
We only want to show it in the UI for informational purposes.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:14 -05:00
HenrikJannsen
883b0542a1
Fix getSnapshotHeight method
For chainHeights < genesisHeight+3*grid we ended up with future chainHeights

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:14 -05:00
HenrikJannsen
2b4b6fe715
Add logs for delayedPayoutTx receiver data
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:13 -05:00
HenrikJannsen
b7a5b569ca
Add legacy burningman to btc fee distribution in case we do not reach 100% from capped burn shares.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:13 -05:00
HenrikJannsen
c1b8871fda
Fix burn target calculations
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:13 -05:00
HenrikJannsen
3a7af07e86
Improve burn target calculation and display
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:13 -05:00
HenrikJannsen
c747a486a7
Fix duration calculations
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:13 -05:00
HenrikJannsen
3213c5e770
Avoid negative cycle index
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:13 -05:00
HenrikJannsen
683bc409c7
Use cycles for periods instead of blocks in months/years.
A cycle is the fundamental unit in the DAO, months/years have no relevance, so using
cycles as base helps avoids some potential weird behaviour with data getting updated at cycle events.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:13 -05:00
HenrikJannsen
2799ccabad
Add util class for cycle related methods with caching
Add getCycleAtIndex convenience method to DaoStateService

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:12 -05:00
HenrikJannsen
516004dfaf
Change ISSUANCE_BOOST_FACTOR to 3
Use lower dev test value for BURN_TARGET_BOOST_AMOUNT

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:12 -05:00
HenrikJannsen
46776eeddc
Use null as default value for donationAddressString
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:12 -05:00
HenrikJannsen
1e8ec6f206
Add details if donationAddressOfDelayedPayoutTx check fails
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:12 -05:00
HenrikJannsen
625939b0f9
Bugfix: set burningManSelectionHeight and tradeTxFee at dispute clone
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:12 -05:00
HenrikJannsen
a6a018883d
Add isDevTesting method for adjusting behaviour for dev testing purposes
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:12 -05:00
HenrikJannsen
4e25d2f253
Add isDevMode check to set dev params
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:12 -05:00
HenrikJannsen
402c4075d0
Add option to add opReturn data at BSQ wallet send screen for non-BSQ balance.
This can be used for providing proof of ownership of a genesis output when attaching a custom BM receiver address.
See: https://github.com/bisq-network/proposals/issues/390#issuecomment-1306075295

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:11 -05:00
HenrikJannsen
78d3fd8d44
Fix wrong initial value.
For myGenesisOutputNames we check for null not Optional.empty as empty is a valid case and we do not
want to wrap the optional field into another Optional.
Also myCompensationRequestNames is using a null check and gets reset to null instead of an
empty set as the empty set is a valid case as well.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:11 -05:00
HenrikJannsen
5799fb27eb
Add balance listener for burn bsq input
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:11 -05:00
HenrikJannsen
88cf28c526
Add applyBlock method and call at constructor (some classes get not initiated at app startup but created by UI activity).
Remove accumulatedDecayedBurnAmount at getAllowedBurnAmount. Was incorrect.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:11 -05:00
HenrikJannsen
fb51861c4b
Use months and not cycles for burn target and average.
Add checks for chainHeight to make code more generic (in the current usage its always last block anyway)

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:11 -05:00
HenrikJannsen
9fa9fbf57b
Fix incorrect cycle index
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:11 -05:00
HenrikJannsen
befe166bc7
Refactor out fields from BurningManCandidate which are not affecting data for delayed payout tx receivers.
This allows to split off the burn target related code to separate classes.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:11 -05:00
HenrikJannsen
52d48eb90a
Rename getDelayedPayoutTxReceivers to getReceivers
Cleanup

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
f0faa44804
Remove Current from method names
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
7724b5b3ea
Rename getBtcFeeReceiverAddress to getAddress
Cleanup

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
92b38ed20f
Move BurningManUtil.getLegacyBurningManAddress to BurningManService.
Remove BurningManUtil

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
508081ad16
Rearrange methods
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
ec25722d08
Split up calculateShare into 4 distinct methods
Reduce visibility to package scope

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
3fda949526
Add sorting for output index needed for genesis tx outputs.
Use static factory methods for the 2 diff. use cases of CompensationModel.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
24ccacd210
Remove unused fields
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:10 -05:00
HenrikJannsen
22f7b089f4
Remove reference to delayedPayoutTxReceiverService and btcFeeReceiverService inside BurningManService.
Use DelayedPayoutTxReceiverService and BtcFeeReceiverService in client code instead of BurningManService.
Make BurningManService package private.
2022-12-11 11:15:09 -05:00
HenrikJannsen
40a03ebdc5
Move getAverageDistributionPerCycle to BurningManService and use from BurningManInfoService.
Remove reference to BurningManInfoService inside BurningManService.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:09 -05:00
HenrikJannsen
559ba6e9b9
Refactor BurningManService
Split up into 4 service classes
- BurningManService: Common stuff
- BurningManInfoService: For displaying BurningMan data
- BtcFeeReceiverService: For getting btcFeeReceivers
- DelayedPayoutTxReceiverService: For getting delayedPayoutTxReceivers. This is the critical part where we need to have a deterministic data and which could break trade consensus.

WIP refactoring. More to come...

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:09 -05:00
HenrikJannsen
19067acbcd
Cleanup
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:09 -05:00
HenrikJannsen
7407ab87f9
Subtract accumulatedDecayedBurnAmount from allowedBurnAmount
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:09 -05:00
HenrikJannsen
58cabfaaf6
Add expectedRevenue to BurningManCandidate.
Add getAverageDistributionPerCycle method to BurningManService.
Show receiver address when BM is selected.
Refactor code, cleanups, UI improvements.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:09 -05:00
HenrikJannsen
731363d128
Sort getBtcFeeReceiverAddress by amount and address.
Increase minOutputAmount to 1000 sat.
Cleanups

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:08 -05:00
HenrikJannsen
fa857b39ec
Make codacy happy
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:08 -05:00
HenrikJannsen
02a163f2f1
Fix handling of null entries in getBtcFeeReceiverAddress method
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:08 -05:00
HenrikJannsen
e16a9b00b1
Add verifyDelayedPayoutTxReceivers method in RefundManager.
Add burningManSelectionHeight and tradeTxFee in Dispute.
Call validateDonationAddressMatchesAnyPastParamValues and validateDonationAddress
only if legacy BM was used.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:08 -05:00
HenrikJannsen
060b9c476e
Validate delayedPayoutTx outputs size and amount only if BurningManService.isActivated is false.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:08 -05:00
HenrikJannsen
7b280c4a99
Use Burningmen receivers for delayed payout tx.
Add verification by re-creating receivers and check txId of both DPTs.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:08 -05:00
HenrikJannsen
eee0b691d0
Remove FeeReceiverSelector and test as not used anymore
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:08 -05:00