CalDescent
4d9964c080
Block connections with peers older than 3.7.0, as this has been released for long enough now.
2022-12-05 18:52:33 +00:00
CalDescent
9afc31a20d
selfSponsorshipAlgoV1SnapshotTimestamp set to 1670230000000
2022-12-05 08:52:09 +00:00
CalDescent
d435e4047b
SelfSponsorshipAlgoV1
2022-12-05 08:21:45 +00:00
CalDescent
c108afa27c
Self sponsorship algo tests
2022-12-04 20:57:36 +00:00
CalDescent
eea42b56ee
Added SelfSponsorshipAlgoV1Block, and call it when processing/orphaning a block at an undecided future height.
2022-12-04 18:21:01 +00:00
CalDescent
f4d20e42f3
Disallow TRANSFER_PRIVS transactions if the sending account has a penalty. Again, there will be no penalties until the algo runs, so it's safe without a feature trigger.
2022-12-04 11:54:05 +00:00
CalDescent
f14cc374c6
Include blocksMintedPenalty in effectiveBlocksMinted. This will be zero until the algo runs, so doesn't need a feature trigger.
2022-12-04 11:52:51 +00:00
CalDescent
99ba4caf75
We definitely can't retroactively validate minter levels, because there are confirmed cases in the chains history where this fails. Set to 999999999 until we have decided on a future block height.
2022-12-04 11:50:58 +00:00
catbref
ae991dda4d
Fix creatorPublicKey not being unmarshaled when calling POST /at to deploy an AT
2022-11-28 21:52:37 +00:00
CalDescent
2b6ae57a27
Merge branch 'master' into chat-reference
...
# Conflicts:
# src/main/java/org/qortal/block/BlockChain.java
# src/main/resources/blockchain.json
# src/test/resources/test-chain-v2-block-timestamps.json
# src/test/resources/test-chain-v2-disable-reference.json
# src/test/resources/test-chain-v2-founder-rewards.json
# src/test/resources/test-chain-v2-leftover-reward.json
# src/test/resources/test-chain-v2-minting.json
# src/test/resources/test-chain-v2-qora-holder-extremes.json
# src/test/resources/test-chain-v2-qora-holder-reduction.json
# src/test/resources/test-chain-v2-qora-holder.json
# src/test/resources/test-chain-v2-reward-levels.json
# src/test/resources/test-chain-v2-reward-scaling.json
# src/test/resources/test-chain-v2-reward-shares.json
# src/test/resources/test-chain-v2.json
2022-11-27 20:06:55 +00:00
CalDescent
5ff7b3df6d
hasInvalidSigner() now only checks the chain tip block, to reduce the amount of unintended side effects that can occur.
2022-11-27 19:59:46 +00:00
CalDescent
76686eca21
Modified reward share creation in test/common/AccountUtils to allow a fee to be specified.
2022-11-27 12:23:17 +00:00
CalDescent
3965f24ab5
Fixed bug
2022-11-26 19:06:02 +00:00
CalDescent
a75fd14e45
Added Account method needed for unit tests.
2022-11-26 17:23:43 +00:00
CalDescent
41cdf665ed
Code tidy
2022-11-26 16:53:38 +00:00
CalDescent
6ea3c0e6f7
Give founder accounts as an effective minting level of 0 if they have a penalty.
2022-11-26 16:19:43 +00:00
CalDescent
5f0263c078
Modifications to block minting for unit tests, in order to solve an NPE and give more options to callers.
...
This shouldn't affect the behaviour of existing tests, other than an NPE being replaced with an assertNotNull().
2022-11-26 16:14:45 +00:00
CalDescent
58e5d325ff
Added algo feature triggers to BlockChain.java (at future undecided block height & timestamp)
2022-11-26 16:10:18 +00:00
CalDescent
7003a8274b
Added some API endpoints relating to penalties. Relies on some code not yet committed.
2022-11-26 15:51:06 +00:00
CalDescent
ab687af4bb
Added new db query to fetch a list of all accounts that have created a non-self-share, based on confirmed transactions.
...
This will be used as the input dataset for the self sponsorship algo.
2022-11-26 12:21:43 +00:00
CalDescent
f50c0c87dd
Account repository modifications for blocksMintedPenalty.
2022-11-26 12:03:13 +00:00
CalDescent
9c3a4d6e37
BlockChain.java additions for onlineAccountMinterLevelValidationHeight, which were missing from commit 68a0923
2022-11-26 11:55:27 +00:00
CalDescent
1c8a6ce204
When synchronizing, filter out peers that have a recent block with an invalid signer.
...
This avoids the wasted time and consensus confusion causes by syncing and then validation failing. This is significant after the algo has run, as many signers will become invalid.
2022-11-26 11:52:27 +00:00
CalDescent
68a0923582
Disallow level 0 minters in blocks, and exclude them when minting a new block.
...
The validation is currently set to a feature trigger of height 0, although this will likely be set to a future block, in case there are any cases in the chain's history where this validation may fail (e.g. transfer privs?)
2022-11-26 11:37:02 +00:00
CalDescent
617c801cbd
Made Block.ExpandedAccount public, and added some more getters. This is needed for upcoming additional validation and unit tests.
2022-11-26 11:25:44 +00:00
CalDescent
b0c9ce7482
Add blocks minted penalty to Accounts table
2022-11-26 11:19:23 +00:00
CalDescent
4e829a2d05
Bump version to 3.7.0
2022-11-07 21:12:34 +00:00
CalDescent
a7402adfa5
Merge branch 'null-owned-groups'
2022-11-06 21:20:19 +00:00
CalDescent
9255df46cf
Script updates to support add/remove dev group admins
2022-11-06 19:46:12 +00:00
CalDescent
db22445948
Include API key automatically in publish-auto-update-v5.pl
2022-11-06 14:52:14 +00:00
CalDescent
818e037e75
Merge branch 'master' into null-owned-groups
2022-11-06 13:08:54 +00:00
CalDescent
9c68f1038a
Bump AT version to 1.4.0
2022-11-05 14:02:04 +00:00
CalDescent
10ae383bb6
Merge pull request #102 from catbref/faster-qort-buy-PoC
...
Proof of concept: speed up QORT buying
2022-11-01 18:55:21 +00:00
catbref
aead9cfcbf
Proof of concept: speed up QORT buying
...
When users buy QORT ("Alice"-side), most of the API time is spent computing mempow for the MESSAGE sent to Bob's AT.
This is the final stage startResponse() and after Alice's P2SH is already broadcast.
To speed this up, the MESSAGE part is moved into its own thread allowing startResponse() to return sooner, improving the user experience.
Caveats:
If MESSAGE importAsUnconfirmed() somehow fails the the buy won't complete and Alice will have to wait for P2SH refund.
If Alice shuts down her node while MESSAGE mempow is being computed then it's possible the shutdown will be blocked until mempow is complete.
Currently only implemented in LitecoinACCTv3TradeBot as this is only proof-of-concept.
Tested with multiple buys in the same block.
2022-11-01 08:55:57 +00:00
CalDescent
055775b13d
Include a list of files in the QDN metadata.
2022-10-30 18:54:38 +00:00
CalDescent
985c195e9e
Added GIF_REPOSITORY, with custom validation function and unit tests.
2022-10-30 17:33:21 +00:00
CalDescent
0628847d14
Removed QORTAL_METADATA service tests.
2022-10-30 17:25:11 +00:00
CalDescent
4043ae1928
Added QCHAT_IMAGE service (with 500KB file size limit).
2022-10-30 17:23:46 +00:00
CalDescent
fa80c83864
Remove QORTAL_METADATA service as this uses its own protocol instead.
2022-10-30 17:07:56 +00:00
CalDescent
f739d8f5c6
Added increaseOnlineAccountsDifficultyTimestamp feature trigger to unit tests.
2022-10-28 18:06:34 +01:00
CalDescent
166425bee9
Added feature trigger timestamp (TBC) to increase online accounts mempow difficulty (also TBC).
2022-10-28 17:20:39 +01:00
CalDescent
59a804c560
Include "blocks remaining" in systray when syncing from more than 60 minutes away from a peer's chain tip.
2022-10-28 16:57:52 +01:00
CalDescent
b64c053531
Reuse the work buffer when verifying online accounts from the OnlineAccountsManager import queue.
...
This is a hopeful fix for extra memory usage since mempow activated, due to adding a lot of load to the garbage collector. It only applies to accounts verified from the import queue; the optimization hasn't been applied to block processing. But verifying online accounts when processing blocks is rare and generally would only last a short amount of time.
2022-10-28 16:54:53 +01:00
CalDescent
30cd56165a
Speed up syncing blocks in the range of 1-12 hours ago by caching the valid online accounts.
2022-10-28 16:02:25 +01:00
CalDescent
510328db47
Removed unused timestamp value.
2022-10-28 15:50:43 +01:00
CalDescent
9d74f0eec0
Added haschatreference, with possible values of true, false, or null, to allow optional filtering by the presence or absense of a chat reference.
2022-10-24 19:21:29 +01:00
CalDescent
09014d07e0
Fixed issues retrieving chatReference from the db.
2022-10-23 19:29:31 +01:00
CalDescent
f83d4bac7b
Reduced online accounts mempow difficulty to 5 on testnets.
...
This allows testnets to more easily coexist on the same machines that are running a mainnet instance, and still tests the mempow computation and verification in a non-resource-intensive way.
2022-10-23 17:01:58 +01:00
CalDescent
b3273ff01a
Removed all mempow feature trigger conditionals.
...
We no longer need all the code complexity, now that 24 hours have passed since activation. We don't validate online accounts beyond 12 hours, and the data is trimmed after 24 hours.
2022-10-23 16:47:42 +01:00
CalDescent
1dd039fb2d
Merge branch 'master' into chat-reference
2022-10-23 14:14:23 +01:00