forked from Qortal/qortal
Converted AccountData's initialLevel to blocksMintedAdjustment. Corresponding changes to AccountLevelTransaction so that level set in genesis block is converted to blocksMintedAdjustment, via cumulativeBlocksByLevel. Ditto changes to HSQLDBAccountRepository, HSQLDBDatabaseUpdates, [HSQLDB]TransactionRepository, etc. Changes to API call POST /admin/mintingaccounts to check passed reward-share private key maps to a reward-share with minting account that still has privilege to mint. It's possible for a TRANSFER_PRIVS transaction to transfer away minting privileges from a minting account referenced by in a reward-share. Change to RewardShareTransaction to allow users to cancel a reward-share even if minting-account component no longer has minting privs. This should allow users to clean up more after a privs transfer. Re-order processing/orphaning in Block.process()/Block.orphan() to be more consistent and also to take in account changes that might have been caused by TRANSFER_PRIVS transactions which affect who might actually receive block rewards/tx fees. Founders now gain blocksMinted & levels as part of minting blocks. (Needed to make TRANSFER_PRIVS from a founder account to work). BlockMinter now has added checks to make sure that the reward-shares it might use to mint blocks still have valid minting-accounts. i.e. that the minting-account component of reward-share hasn't had minting privs transferred away by TRANSFER_PRIVS tx. Controller now rejects online-accounts from peers that no longer have minting privs (e.g. transferred away by TRANSFER_PRIVS) Corresponding, Controller no longer SENDS online-accounts that no longer have minting privs to other peers. Added some tests - more tests needed, e.g. for multiple transfers into the same account, or a test for minting post transfer for both sender & recipient.