Commit graph

797 commits

Author SHA1 Message Date
Christoph Atteneder
55d09a308b
Use different security deposit for fiat-crypto and crypto-crypto trades 2019-04-18 19:37:46 +02:00
Manfred Karrer
6cd04a0d91
Merge pull request #2621 from ManfredKarrer/ignore-dust-utxo
Ignore dust utxo
2019-04-17 18:30:50 -05:00
Manfred Karrer
ab0c81804c
Make GetBlocksRequest implement SendersNodeAddressMessage and SupportedCapabilitiesMessage
When we request at startup the blocks from a seed which has not yet
received out capabilities or node address we will not get a response.
We do not want to depend on the state in the getData domain in the
p2p network by using only a seed which has already responded but we
prefer to make sure the seednode will get all the data by our request
to be able to respond.
2019-04-16 22:52:20 -05:00
Manfred Karrer
fcbc3b659b
Ignore utxo below a user defined threshold to avoid dust attacks
Implements https://github.com/bisq-network/bisq/issues/2604
2019-04-16 20:42:13 -05:00
Manfred Karrer
9945d4a414
Add size method 2019-04-16 15:08:18 -05:00
Christoph Atteneder
bdf163ca2d
Bump version number 2019-04-16 16:03:12 +02:00
Manfred Karrer
57ae8af3d7
Add requireUpdateToNewVersion check 2019-04-14 13:52:53 -05:00
Manfred Karrer
4269607065
Merge pull request #4 from ripcurlx/bump-version-number
Bump version number
2019-04-12 17:26:40 -05:00
Christoph Atteneder
2c106c74c6
Bump version number 2019-04-12 12:09:49 +02:00
Manfred Karrer
68436f5f85
Merge branch 'master' into rc_v1.0.0
# Conflicts:
#	common/src/main/proto/pb.proto
#	core/src/main/java/bisq/core/dao/governance/blindvote/storage/BlindVotePayload.java
2019-04-10 09:39:15 -05:00
Manfred Karrer
44cf1dced7
Fix wrong order or arguments 2019-04-09 12:08:10 -05:00
Manfred Karrer
8e82fa6654
Handle dao state conflicts better
- Check if conflicting node is seed node or not. Show info in list entry
and only show resync button and red color in text if conflict is with
seed node.
- At resync move all p2p network data to a dedicated directory so they
will be reloaded from the seeds.
2019-04-08 16:39:13 -05:00
Christoph Atteneder
f9a0dd1502
Bump version number 2019-04-08 12:10:59 +02:00
Christoph Atteneder
2846b1881b
Merge pull request #2667 from ManfredKarrer/protect-against-late-blind-vote-publishing
Protect against late blind vote publishing
2019-04-08 10:43:48 +02:00
Christoph Atteneder
33a04bba57
Merge pull request #2669 from ManfredKarrer/close-printwriter-before-rename-temp-file
Close printWriter before renaming temp file
2019-04-08 10:42:37 +02:00
Manfred Karrer
38a6d58254
Add filter for min required version for DAO 2019-04-07 18:58:17 -05:00
Manfred Karrer
bd7358ffe4
Add date to BlindVote 2019-04-07 18:01:11 -05:00
Manfred Karrer
7d562013f7
Fixes https://github.com/bisq-network/bisq/issues/2660 2019-04-07 14:47:46 -05:00
Manfred Karrer
d81498dc01
Remove date and DateTolerantPayload interface from BlindVotePayload 2019-04-06 21:49:18 -05:00
Manfred Karrer
6b416ca278
Add TODO for removing the date from BlindVotePayload at mainnet launch
We don't want to break consensus and persisted data at current
dao_regtest by removing the date now. It is not used anywhere so it is
irrelevant but would break things as the hash would be different and
persisted data would not be readable anymore. So we delay that change
to the mainnet launch.
2019-04-06 19:46:58 -05:00
Manfred Karrer
a6ec41aaeb
Set dao activated by default
We still keep the activation code just in case...
We can clean it up in a later release
2019-04-04 17:06:33 -05:00
Christoph Atteneder
0ffc93a091
Bump version number 2019-04-02 17:13:04 +02:00
Christoph Atteneder
fb3c8c214e
Bump version number 2019-04-02 11:19:03 +02:00
Manfred Karrer
0e2bb14683
Break up lines 2019-03-31 17:43:14 -05:00
Manfred Karrer
73db81a34f
Add more validation
- Check max length of strings and byte arrays
- Check that tx ID has 64 chars
- Add ExtraDataMapValidator for validating extraDataMap fields
2019-03-31 15:49:37 -05:00
Manfred Karrer
d5fc7cb97e
Use burnedBsq field in Tx for burnedFee and invalidatedBsq
In case of an invalid tx we burn all available BSQ input. We only know
that at parsing time. We renamed the burntFee field to burntBsq to make
it more generic and use it for the burnt fee in case if a normal tx and
as invalidatedBsq in case of an invalid tx.
2019-03-30 19:35:12 -05:00
Manfred Karrer
ff868311bb
Merge branch 'master' into add-check-for-bsq-balance
# Conflicts:
#	desktop/src/main/java/bisq/desktop/main/dao/wallet/dashboard/BsqDashboardView.java
2019-03-26 00:40:27 -05:00
Manfred Karrer
ce1da644c2
Add IRREGULAR txType for txs which are not rule conform but not burnt
We don't want to burn BSQ in cases like that the tx was published too
late, which is a valid case if the tx does not make it in the next block.
We set such txs as IRREGULAR and allow spending of the BSQ, but there
function in the governance is invalidated.

We also add a check if the sum of all UTXO is the same as the sum of the
genesis + sum of issuance txs - burned fees.
2019-03-26 00:37:55 -05:00
Oscar Guindzberg
56d152ebee Fix typo 2019-03-25 12:06:45 -03:00
Oscar Guindzberg
2113e02c63 Fix typo 2019-03-25 12:03:59 -03:00
Manfred Karrer
61a3be354e
Remove nonBsqTxOutputMap from daoState
We can evaluate the nonBsqTxOutputs without storing it.
Storing them in the map would have required to remove them as well
once withdrawn from the wallet.
2019-03-21 23:48:19 -05:00
Manfred Karrer
7e61afcb8e
Add BONDED_ROLE_FACTOR to param to react on BSQ price changes
To avoid the need to change the required bond in the BondedRoleType
if the BSQ price changes we use the BONDED_ROLE_FACTOR param where the
factor can be changed. In the BondedRoleType we use the requiredBondUnit
which will be multiplied with the BONDED_ROLE_FACTOR value to get the
required bond amount.
2019-03-21 19:46:15 -05:00
Manfred Karrer
6d5b404876
Remove SHA3-256 hash as it turned out it is slower as SHA256
In some tests it seemed that SHA3-256 is 30% fast than SHA256 but later
with the data we used in dao testnet it was actually slower.
To avoid confusion which hash function to use and to avoid mixing them
without strong reason I prefer to remove it again.
2019-03-21 18:44:24 -05:00
Manfred Karrer
f780cf5a15
Add SHA3-256 hash function
SHA3-256 is about 30% faster than SHA256
2019-03-20 21:28:25 -05:00
Manfred Karrer
13ca802dd1
Add extraDataMap to BlindVote and Proposal
In case we need to add additional data in future we are can use that map
without breaking consensus or breaking the hash chain.
2019-03-19 22:20:13 -05:00
Manfred Karrer
3aa50a3be5
Store requiredBond and unlockTime in RoleProposal 2019-03-19 21:22:28 -05:00
Manfred Karrer
ac3374cc47
Remove requiredQuorum and requiredThreshold from EvaluatedProposal
We would break the hash chain if we would change the quorum or
threshold values in the param enum.
2019-03-19 20:39:47 -05:00
Florian Reimair
afc241c52a
Renamed hasCapabilities to isEmpty 2019-03-18 12:59:09 +01:00
Florian Reimair
ede3a3c721
Introduced Capabilities.addAll 2019-03-18 12:55:19 +01:00
Florian Reimair
7a03aba02e
Refactor Capabilities for Connection 2019-03-18 12:29:09 +01:00
Manfred Karrer
b7941c82c3
Merge branch 'master' into add-hash-of-dao-state 2019-03-16 13:04:06 -05:00
Manfred Karrer
4af74950cb
Add blind vote monitoring 2019-03-15 19:38:30 -05:00
Manfred Karrer
2109c66e51
Add num proposals
- Cleanups
- Improve logs
2019-03-15 10:18:31 -05:00
Manfred Karrer
2009c30d81
Refactor dao state monitor
- Move dao state monitor classes to other package structure
- Add support for proposal payload monitor (WIP)
- Use generics and sub classes for common functionality
2019-03-14 19:03:11 -05:00
Manfred Karrer
eb3d65d187
Add snapshot support for hashChain
- Add hashChain to snapshot
- Use TreeMap instead of Map to have deterministic order
- Use eventCoordinator to make correct order of execution transparent
- Fix missing applying of nonBsqTxOutputMap at applySnapshot
2019-03-13 22:03:14 -05:00
Manfred Karrer
bbec682d98
Add UI for Dao state monitor
Refactor dao state monitor domain.
Add support for requesting all hashed from genesis from a peer which is
in conflict (can help to find at which block the issue started).
2019-03-11 18:32:48 -05:00
Oscar Guindzberg
f42a5c2936 Fix typo 2019-03-11 16:41:30 -03:00
Manfred Karrer
9ed109330a
Fix index out of bound issues
At Capabilities I got an exception after going back from a new dev
branch to master and getting p2p network data from nodes still running
on the dev branch as that newly added capability was outside of the
existing scope.

I found another potential issue with DaoPhase.Phase and added a check
there as well.
2019-03-10 22:40:26 -05:00
Manfred Karrer
fcd7997582
Create chain of dao state hashes for monitoring consensus issues
We create a chain of hashes of the dao state starting from the genesis
block height and using the previous hash in the hash. This ensures that
the history need to be correct if a particular hash at a block height is
correct. We request from seed nodes the last 10 hashes and broadcast to
our peers our hash at each new block. We build our list in memory and
listen on the new onSnapShotApplied event to start building our chain
from the genesis height up to the last snapshot block and after that
from each parsed block.
If we detect a mismatch we store it in a collection and the UI can show
a warning to the user.
We added also the onDaoStateChanged handler to the DaoStateListener.
This event is called after all parsing is completed and listeners have
completed their work. We must not use time based delays in the listener
code otherwise we would get changed our dao state after that event.
To detect such we added a assert method to throw an exception if the
dao state gets changed after the allowDaoStateChange is set to false.
2019-03-10 22:10:12 -05:00
Manfred Karrer
51ec876edc
Add removeLinebreaks parameter to toTruncatedString 2019-03-09 09:11:51 -05:00