CalDescent
97221a4449
Added test to simulate level 7-8 reward tier activation, including orphaning.
2022-07-17 13:37:52 +01:00
CalDescent
508a34684b
Revert "qoraHoldersShare reworked to qoraHoldersShareByHeight."
...
This reverts commit 90e8cfc737
.
# Conflicts:
# src/test/java/org/qortal/test/minting/RewardTests.java
2022-07-16 18:45:49 +01:00
CalDescent
3d2144f303
Check orphaning in levels 7-8 and 9-10 reward tests. This would have been tested in orphanCheck() anyway, but this makes the testing a bit more granular.
2022-07-16 17:29:16 +01:00
CalDescent
3c7fbed709
Fixed build error due to merge.
2022-07-15 11:53:30 +01:00
CalDescent
fb9a155e4c
Merge branch 'master' into pirate-chain
...
# Conflicts:
# src/main/java/org/qortal/api/resource/CrossChainTradeBotResource.java
# src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java
2022-07-15 11:46:45 +01:00
CalDescent
fbcc870d36
Added informational test to compare ConsiceSet size against an int array for online account nonce arrays.
2022-07-15 10:23:14 +01:00
CalDescent
020e59743b
Fixed failing test(s) due to merge.
2022-07-10 19:49:24 +01:00
CalDescent
0904de3f71
Merge branch 'master' into online-accounts-mempow-v2
...
# Conflicts:
# src/main/java/org/qortal/block/BlockChain.java
2022-07-10 16:50:28 +01:00
CalDescent
35f3430687
Added share bin activation feature.
...
To prevent a single or very small number of minters receiving the rewards for an entire tier, share bins can now require "activation". This adds the requirement that a minimum number of accounts must be present in a share bin before it is considered active. When inactive, the rewards and minters are added to the previous tier.
Summary of new functionality:
- If a share bin has more than one, but less than 30 accounts present, the rewards and accounts are shifted to the previous share bin.
- This process is iterative, so the accounts can shift through multiple tiers until the minimum number of accounts is met, OR the share bin's starting level is less than shareBinActivationMinLevel.
- Applies to level 7+, so that no backwards support is needed. It will only take effect once the first account reaches level 7.
This requires hot swapping the sharesByLevel data to combine tiers where needed, so is a considerable shift away from the immutable array that was in place previously.
All existing and new unit tests are now passing, however a lot more testing will be needed.
2022-07-10 12:09:44 +01:00
CalDescent
90e8cfc737
qoraHoldersShare reworked to qoraHoldersShareByHeight.
...
This allows the QORA share percentage to be modified at different heights, based on community votes. Added unit test to simulate a reduction.
2022-07-08 11:12:58 +01:00
CalDescent
57bd3c3459
Merge remote-tracking branch 'catbref/auto-update-fix'
2022-07-07 18:48:39 +01:00
CalDescent
ad0d8fac91
Bump version to 3.4.1
2022-07-05 20:56:40 +01:00
CalDescent
a8b58d2007
Reward share limit activation timestamp set to 1657382400000 (Sat Jul 09 2022 16:00:00 UTC)
2022-07-05 20:34:23 +01:00
CalDescent
a099ecf55b
Merge branch 'reduce-reward-shares'
2022-07-04 19:58:48 +01:00
CalDescent
6b91b0477d
Added version query string param to /blocks/signature/{signature}/data API endpoint, to allow for optional V2 block serialization (with a single combined AT states hash).
...
Version can only be specified when querying unarchived blocks; archived blocks require V1 for now (and possibly V2 in the future).
2022-07-04 19:57:54 +01:00
CalDescent
fe2c63e8e4
Generate random nonces for test accounts.
...
These don't have to be valid for unit tests, because they are treated as "cached already valid accounts" in the block validation.
2022-07-02 17:30:31 +01:00
CalDescent
a3febdf00e
Pass timestamp to OnlineAccountsManager.isMemoryPoWActive() so that block timestamp can be used.
2022-07-02 17:26:53 +01:00
CalDescent
4ca174fa0b
Fixed bug in isMemoryPoWActive() which affected the ability to enable mempow via settings.
2022-07-02 13:45:39 +01:00
CalDescent
294582f136
Added mempow support in OnlineAccountsManager.
...
- This adds mempow requirements to online account importing (after activation timestamp), however doesn't yet add any requirements to block validation.
- It also causes the 'next' online accounts timestamp to be computed in addition to the 'current', so that the computed nonce value is ready when the next online accounts timestamp window begins.
2022-07-02 12:33:02 +01:00
CalDescent
d7e7c1f48c
Fixed bugs from merge conflict, causing incorrect systray statuses in some cases.
2022-07-02 10:33:00 +01:00
CalDescent
215800fb67
Added optional "timeout" parameter to MemoryPoW.compute2().
...
This can be used to give up after the specified number of milliseconds.
2022-07-01 22:36:51 +01:00
CalDescent
b05d428b2e
Added onlineAccountsMemPoWEnabled setting (for beta testing)
2022-07-01 22:31:51 +01:00
CalDescent
d2adadb600
Added onlineAccountsMemoryPoWTimestamp to blockchain.json
2022-07-01 22:31:30 +01:00
CalDescent
8e8c0b3fc5
Added OnlineAccountsV3Message, along with optional nonce Integer in OnlineAccountData.
...
This could potentially be released ahead of the other mempow code, splitting the rollout into multiple smaller phases.
2022-07-01 22:29:05 +01:00
CalDescent
65d63487f3
Merge branch 'master' into increase-online-timestamp-modulus
2022-07-01 17:46:35 +01:00
CalDescent
7c5932a512
GET /admin/status now returns online account submission status for "isMintingPossible", instead of BlockMinter status.
...
Online account credit is a more useful definition of "minting" than block signing, from the user's perspective. Should bring UI minting/syncing status in line with the core's systray status.
2022-07-01 17:29:15 +01:00
CalDescent
610a3fcf83
Improved order in getNodeType()
2022-07-01 16:48:57 +01:00
CalDescent
b329dc41bc
Updated incorrect ONLINE_ACCOUNTS_V3_PEER_VERSION to 3.4.0
2022-07-01 13:36:56 +01:00
CalDescent
ff78606153
Merge branch 'master' into increase-online-timestamp-modulus
2022-07-01 13:14:15 +01:00
CalDescent
ef249066cd
Updated another reference of SimpleTransaction::getTimestamp
2022-07-01 13:13:55 +01:00
CalDescent
80188629df
Don't aggregate signatures when running OnlineAccountsTests, as it's too difficult to check how many unique signatures exist over a given period of time.
2022-07-01 13:13:22 +01:00
CalDescent
f77093731c
Merge branch 'master' into increase-online-timestamp-modulus
...
# Conflicts:
# src/main/java/org/qortal/block/Block.java
# src/main/java/org/qortal/controller/OnlineAccountsManager.java
2022-07-01 13:03:19 +01:00
CalDescent
ca7d58c272
SimpleTransaction.timestamp is now in milliseconds instead of seconds.
...
Should fix 1970 timestamp issue in UI for foreign transactions, and also maintains consistency with QORT wallet transactions.
2022-07-01 12:46:20 +01:00
CalDescent
08f3351a7a
Reward share transaction modifications:
...
- Reduce concurrent reward share limit from 6 to 3 (or from 5 to 2 when including self share) - as per community vote.
- Founders remain at 6 (5 when including self share) - also decided in community vote.
- When all slots are being filled, require that at least one is a self share, so that not all can be used for sponsorship.
- Activates at future undecided timestamp.
2022-07-01 12:18:48 +01:00
f499ada94c
Merge pull request #91 from qortish/master
...
Update SysTray_sv.properties
2022-06-29 08:44:47 -04:00
qortish
f073040c06
Update SysTray_sv.properties
...
proper
2022-06-29 14:04:27 +02:00
CalDescent
49bfb43bd2
Updated AdvancedInstaller project for v3.4.0
2022-06-28 22:56:11 +01:00
CalDescent
425c70719c
Bump version to 3.4.0
2022-06-28 19:29:09 +01:00
CalDescent
1420aea600
aggregateSignatureTimestamp set to 1656864000000 (Sun Jul 03 2022 16:00:00 UTC)
2022-06-28 19:26:00 +01:00
CalDescent
4543062700
Updated blockchain.json files in unit tests to include an already active "aggregateSignatureTimestamp"
2022-06-28 19:22:54 +01:00
CalDescent
722468a859
Restrict relays to v3.4.0 peers and above, in attempt to avoid bugs causing older peers to break relay chains.
2022-06-27 19:38:30 +01:00
CalDescent
492a9ed3cf
Fixed more message rebroadcasts that were missing IDs.
2022-06-26 20:02:08 +01:00
CalDescent
420b577606
No longer adding inferior chain signatures in comparePeers() as it doesn't seem 100% reliable in some cases. It's better to re-check weights on each pass.
2022-06-26 18:24:33 +01:00
CalDescent
434038fd12
Reduced online accounts log spam
2022-06-26 16:34:04 +01:00
CalDescent
a9b154b783
Modified BlockMinter.higherWeightChainExists() so that it checks for invalid blocks before treating a chain as higher weight. Otherwise minting is slowed down when a higher weight but invalid chain exists on the network (e.g. after a hard fork).
2022-06-26 15:54:41 +01:00
CalDescent
a01652b816
Removed hasInvalidBlock filtering, as this was unnecessary risk now that the original bug in comparePeers() is fixed.
2022-06-26 10:09:24 +01:00
CalDescent
4440e82bb9
Fixed long term bug in comparePeers() causing peers with invalid blocks to prevent alternate valid but lower weight candidates from being chosen.
2022-06-25 16:34:42 +01:00
CalDescent
a2e1efab90
Synchronize hasInvalidBlock predicate, as it wasn't thread safe
2022-06-25 14:12:21 +01:00
CalDescent
7e1ce38f0a
Fixed major bug in hasInvalidBlock predicate
2022-06-25 14:11:25 +01:00
CalDescent
a93bae616e
Invalid signatures are now stored as ByteArray instead of String, to avoid regular Base58 encoding and decoding, which is very inefficient.
2022-06-25 13:29:53 +01:00