Commit Graph

6966 Commits

Author SHA1 Message Date
HenrikJannsen
a76267b6f3
Use static fields for opReturnData instead of hardcoded mainnet hashes
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:31:58 +01:00
HenrikJannsen
16bfdd6154
Remove regtest value for DEFAULT_ESTIMATED_BTC_TRADE_FEE_REVENUE_PER_CYCLE
Adjust reimbursement amounts as we do not reimburse 100% of the DPT

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:31:57 +01:00
HenrikJannsen
80063d735c
Add custom handling of legacy BM.
Refactoring: rename variables

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:31:57 +01:00
HenrikJannsen
1aa5a9b17a
Don't allow the myBurnAmount to be larger than the upperBaseTarget
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:31:56 +01:00
HenrikJannsen
7eed7a4cda
In case we have capped burn shares we redistribute the share from the over-burned amount to the non capped candidates.
This helps to avoid that the legacy BM would get the rest in case there are capped shares.
It still can be that a candidate exceeds the cap and by the adjustment becomes capped. We take that into account and the legacy BM would get some share in that case.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:31:56 +01:00
HenrikJannsen
709f0e1b85
Change burn target calculation.
Left side is amount to burn to reach the max allowed receiver share based on the burned amount of all BM.
The right side is the amount to burn to reach the max allowed receiver share based the boosted max burn target.

Increase ISSUANCE_BOOST_FACTOR from 3 to 4.

Add help overlay to burn target table header.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:31:56 +01:00
jmacxx
9ce2964ff4
Fix divide by zero errors in Trade history summary. 2022-12-19 09:28:42 +01:00
sqrrm
1cf51be56c
Update sqrrm provided btc onion addresses 2022-12-19 09:28:21 +01:00
HenrikJannsen
ddf5239800
Increase timeouts from 3 to 4 min.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:27:44 +01:00
HenrikJannsen
6aad3a8dc5
Reduce getDataResponse size from 9 MB to 6 MB
Reduce number of blocks at GetBlocksResponse from 4000 to 3000

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-19 09:27:27 +01:00
Christoph Atteneder
afba2f22b9
Update bitcoinj checkpoints for v1.9.7 2022-12-14 11:12:49 +01:00
Christoph Atteneder
72dea08473
Update translations for v1.9.7 2022-12-14 10:39:28 +01:00
Christoph Atteneder
5dea677644
Merge pull request #6459 from HenrikJannsen/handle_exception_at_send
Handle exception at send
2022-12-14 10:20:07 +01:00
Christoph Atteneder
71d6e126dd
Merge pull request #6423 from HenrikJannsen/add-burningman-accounting
Add burningman accounting
2022-12-14 10:17:38 +01:00
HenrikJannsen
8c65da9c85
Add thread index format
Add name param to newCachedThreadPool

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-13 20:35:49 -05:00
HenrikJannsen
d4b6965348
Use networkNode.sendMessage instead of connection.sendMessage as the call on connection is blocking.
This was likely a major bug for seed nodes that at sending hash responses the main thread got blocked.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-13 16:25:39 -05:00
HenrikJannsen
1b10cc22db
Refactor: Move monitor package from core to seedNode and rename to reporting
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 17:10:02 -05:00
HenrikJannsen
21c6c52ec8
Make fields final.
Remove setter of key.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 17:02:30 -05:00
Alejandro García
4f34be0a33
Merge pull request #6452 from ripcurlx/update-app-signatures
Update app signatures for v1.9.7
2022-12-11 18:36:00 +02:00
Alejandro García
77afb2d62c
Merge pull request #6450 from jmacxx/dispute_min_payout
Change minimum payout at mediation from 2.5% to 5% of trade amount.
2022-12-11 18:26:56 +02:00
HenrikJannsen
e57af6e8e8
Update mediation popup text
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:19 -05:00
HenrikJannsen
b7d5af18b0
Add MAX_BURN_TARGET_LOWER_FLOOR to avoid cases where small burn amounts lead to deadlock situations.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:19 -05:00
HenrikJannsen
46b2cf914b
Remove DevEnv.isDevTesting
Add check for number of confirmations in devMode to show support button after 5 blocks

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:19 -05:00
HenrikJannsen
e3a0ae9425
Use constants for opReturn data. Rename hash to opReturnData.
Update UI.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:18 -05:00
HenrikJannsen
1bb4b55220
Add BurningManAccountingStore resource file.
Use resourceDataStoreService and extend StoreService

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:18 -05:00
HenrikJannsen
446762f02c
Add BM account UI 2022-12-11 11:15:17 -05:00
HenrikJannsen
a9bf52d26c
Add BurningMan accounting domain
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:17 -05:00
HenrikJannsen
22c43769bd
Add BurningManAccountingService to CorePersistedDataHost
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:17 -05:00
HenrikJannsen
90550dee3f
Add messages and domain data for accounting domain
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:17 -05:00
HenrikJannsen
d4a0032965
Add new fields and methods
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:17 -05:00
HenrikJannsen
f9db6e0d5c
Add support for multiple clients adding a block handler.
Add requestRawDtoBlock method.
Rename to make different block types more clear.
Change visibility
2022-12-11 11:15:17 -05:00
HenrikJannsen
a551a41e5a
Add support for multiple clients calling the setup method.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:17 -05:00
HenrikJannsen
e2f7c4e103
Make AveragePriceUtil.getAveragePriceTuple mor flexible
Add filter for before date

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:16 -05:00
HenrikJannsen
bc9ccfd0e9
Add String formatCoin(long value) API to CoinFormatter
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:16 -05:00
HenrikJannsen
2615309931
Add Config options 2022-12-11 11:15:16 -05:00
HenrikJannsen
adb02428ee
Remove unused var
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:16 -05:00
HenrikJannsen
d12c8b5fc4
Remove TODO, rename method
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:16 -05:00
HenrikJannsen
97ba1560be
Improve receiver distribution to avoid that legacy BM gets outputs if some outputs fall below the min. amount limit.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:16 -05:00
HenrikJannsen
fa4c952409
Apply code review feedback
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:15 -05:00
HenrikJannsen
eeaafc1e04
Use HashSet instead Lists.
Remove sorting as not needed.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:15 -05:00
HenrikJannsen
7cbc5d6263
Increase ISSUANCE_BOOST_FACTOR to 3
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:15 -05:00
HenrikJannsen
4ce6ce745a
Add check for isActivated and if not return LEGACY_BURNING_MAN_BTC_FEES_ADDRESS
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:15 -05:00
HenrikJannsen
4e08bcd53d
Split up legacy BM into DPT and BTC fee BM
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:15 -05:00
HenrikJannsen
d30ec07d94
Cleanup/add comments
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:15 -05:00
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
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
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
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
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
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
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
HenrikJannsen
e2ce053a01
Add burningManSelectionHeight fields to OfferAvailabilityRequest, InputsForDepositTxRequest and ProcessModel.
Use BurningManService.getBtcFeeReceiverAddress at createFeeTx tasks.
Verify takers burningManSelectionHeight if BurningManService.isActivated at MakerProcessesInputsForDepositTxRequest and OpenOfferManager.
Stores burningManSelectionHeight in ProcessModel.
Add BurningManService fields to OfferAvailabilityModel, PlaceOfferModel, OpenOfferManager and Provider

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:07 -05:00
HenrikJannsen
39a49adb92
Add Burningman UI
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:07 -05:00
HenrikJannsen
739ff8e447
Add BurningMan domain
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:07 -05:00
HenrikJannsen
ea5662f84d
Add new methods to DaoStateService and DaoFacade.
Will be used later by BurningMan domain.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:07 -05:00
HenrikJannsen
5c7a3308a7
Add burningManReceiverAddress as extraMap entry to CompensationProposal.
We cannot add a new field as that would break DAO consensus.

Add optional text field for burningManReceiverAddress to CompensationProposal UI.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:07 -05:00
HenrikJannsen
09a1af8f2c
Add allowEmpty flag to InputValidator and BtcAddressValidator
We will use that for the optional address field in compensation requests and interpret empty input as Optional.empty.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-11 11:15:06 -05:00
Alejandro García
6c7764fc33
Merge pull request #6451 from HenrikJannsen/avoid_sending_repeated_block_related_report_data
Avoid sending repeated block related report data
2022-12-11 17:38:00 +02:00
Stephan Oeste
9e50066567
Remove KanoczTomas Bitcoin node, because it is permanet offline. 2022-12-11 15:28:32 +01:00
HenrikJannsen
491c6a0861
Add onDaoStateBlockCreated method
Use onDaoStateBlockCreated instead of onDaoStateHashesChanged to avoid multiple calls when we receive hashes from other nodes.
Add daoStateMonitoringService listener after blockchain parsing is completed

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-10 19:19:29 -05:00
jmacxx
e2a23ee196
Change minimum payout at mediation from 2.5% to 5% of trade amount.
Implements bisq-network/proposals#397
2022-12-10 10:37:52 -06:00
Alejandro García
2d607cd092
Merge pull request #6433 from jmacxx/user_trade_limits
User defined trade limit, Part II.
2022-12-09 19:46:34 +02:00
HenrikJannsen
f98cd04fd8
Use LongValueItem instead of IntegerValueItem
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-09 08:54:28 -05:00