mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-13 08:38:15 +00:00
Increased nPowTargetTimespan to 10 seconds for RegTest.
Checked fPowNoRetargeting in pow.cpp.
This commit is contained in:
parent
0553624587
commit
3cf8093553
@ -260,8 +260,8 @@ public:
|
||||
consensus.BIP65Height = 1351; // BIP65 activated on regtest (Used in rpc activation tests)
|
||||
consensus.BIP66Height = 1251; // BIP66 activated on regtest (Used in rpc activation tests)
|
||||
consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
consensus.nPowTargetTimespan = 1; // 1 second
|
||||
consensus.nPowTargetSpacing = 1; // 1 second
|
||||
consensus.nPowTargetTimespan = 10; // 10 second
|
||||
consensus.nPowTargetSpacing = 10; // 10 second
|
||||
consensus.fPowAllowMinDifficultyBlocks = true;
|
||||
consensus.fPowNoRetargeting = true;
|
||||
consensus.nRuleChangeActivationThreshold = 108; // 75% for testchains
|
||||
|
@ -15,6 +15,9 @@
|
||||
// Copy and modified from CalculateDogecoinNextWorkRequired (dogecoin.cpp)
|
||||
unsigned int CalculateDigishieldNextWorkRequired(const CBlockIndex* pindexLast, int64_t nFirstBlockTime, const Consensus::Params& params)
|
||||
{
|
||||
if (params.fPowNoRetargeting)
|
||||
return pindexLast->nBits;
|
||||
|
||||
const int64_t retargetTimespan = params.nPowTargetTimespan;
|
||||
const int64_t nActualTimespan = pindexLast->GetBlockTime() - nFirstBlockTime;
|
||||
int64_t nModulatedTimespan = nActualTimespan;
|
||||
|
@ -825,7 +825,7 @@ class FullBlockTest(ComparisonTestFramework):
|
||||
# tx with output value > input value out of range
|
||||
tip(57)
|
||||
b59 = block(59)
|
||||
tx = create_and_sign_tx(out[17].tx, out[17].n, 51*COIN)
|
||||
tx = create_and_sign_tx(out[17].tx, out[17].n, 510*COIN)
|
||||
b59 = update_block(59, [tx])
|
||||
yield rejected(RejectResult(16, b'bad-txns-in-belowout'))
|
||||
|
||||
@ -844,13 +844,14 @@ class FullBlockTest(ComparisonTestFramework):
|
||||
# not-fully-spent transaction in the same chain. To test, make identical coinbases;
|
||||
# the second one should be rejected.
|
||||
#
|
||||
tip(60)
|
||||
b61 = block(61, spend=out[18])
|
||||
b61.vtx[0].vin[0].scriptSig = b60.vtx[0].vin[0].scriptSig #equalize the coinbases
|
||||
b61.vtx[0].rehash()
|
||||
b61 = update_block(61, [])
|
||||
assert_equal(b60.vtx[0].serialize(), b61.vtx[0].serialize())
|
||||
yield rejected(RejectResult(16, b'bad-txns-BIP30'))
|
||||
# Kevacoin - BIP34 is activated since beginning, no need for BIP30, test case skipped.
|
||||
#tip(60)
|
||||
#b61 = block(61, spend=out[18])
|
||||
#b61.vtx[0].vin[0].scriptSig = b60.vtx[0].vin[0].scriptSig #equalize the coinbases
|
||||
#b61.vtx[0].rehash()
|
||||
#b61 = update_block(61, [])
|
||||
#assert_equal(b60.vtx[0].serialize(), b61.vtx[0].serialize())
|
||||
#yield rejected(RejectResult(16, b'bad-txns-BIP30'))
|
||||
|
||||
|
||||
# Test tx.isFinal is properly rejected (not an exhaustive tx.isFinal test, that should be in data-driven transaction tests)
|
||||
|
@ -60,7 +60,7 @@ class RESTTest (BitcoinTestFramework):
|
||||
self.nodes[2].generate(100)
|
||||
self.sync_all()
|
||||
|
||||
assert_equal(self.nodes[0].getbalance(), 50)
|
||||
assert_equal(self.nodes[0].getbalance(), 500)
|
||||
|
||||
txid = self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.1)
|
||||
self.sync_all()
|
||||
|
@ -118,7 +118,7 @@ class InvalidBlockRequestTest(ComparisonTestFramework):
|
||||
block3 = create_block(self.tip, create_coinbase(height), self.block_time)
|
||||
block3.nVersion = 0x20000000
|
||||
self.block_time += 1
|
||||
block3.vtx[0].vout[0].nValue = 100 * COIN # Too high!
|
||||
block3.vtx[0].vout[0].nValue = 1000 * COIN # Too high!
|
||||
block3.vtx[0].sha256=None
|
||||
block3.vtx[0].calc_sha256()
|
||||
block3.hashMerkleRoot = block3.calc_merkle_root()
|
||||
|
@ -89,7 +89,7 @@ def create_coinbase(height, pubkey = None):
|
||||
coinbase.vin.append(CTxIn(COutPoint(0, 0xffffffff),
|
||||
ser_string(serialize_script_num(height)), 0xffffffff))
|
||||
coinbaseoutput = CTxOut()
|
||||
coinbaseoutput.nValue = 50 * COIN
|
||||
coinbaseoutput.nValue = 500 * COIN
|
||||
halvings = int(height/150) # regtest
|
||||
coinbaseoutput.nValue >>= halvings
|
||||
if (pubkey != None):
|
||||
|
@ -345,25 +345,25 @@ class P2PInterface(P2PConnection):
|
||||
|
||||
# Connection helper methods
|
||||
|
||||
def wait_for_disconnect(self, timeout=60):
|
||||
def wait_for_disconnect(self, timeout=360):
|
||||
test_function = lambda: self.state != "connected"
|
||||
wait_until(test_function, timeout=timeout, lock=mininode_lock)
|
||||
|
||||
# Message receiving helper methods
|
||||
|
||||
def wait_for_block(self, blockhash, timeout=60):
|
||||
def wait_for_block(self, blockhash, timeout=360):
|
||||
test_function = lambda: self.last_message.get("block") and self.last_message["block"].block.rehash() == blockhash
|
||||
wait_until(test_function, timeout=timeout, lock=mininode_lock)
|
||||
|
||||
def wait_for_getdata(self, timeout=60):
|
||||
def wait_for_getdata(self, timeout=360):
|
||||
test_function = lambda: self.last_message.get("getdata")
|
||||
wait_until(test_function, timeout=timeout, lock=mininode_lock)
|
||||
|
||||
def wait_for_getheaders(self, timeout=60):
|
||||
def wait_for_getheaders(self, timeout=360):
|
||||
test_function = lambda: self.last_message.get("getheaders")
|
||||
wait_until(test_function, timeout=timeout, lock=mininode_lock)
|
||||
|
||||
def wait_for_inv(self, expected_inv, timeout=60):
|
||||
def wait_for_inv(self, expected_inv, timeout=360):
|
||||
"""Waits for an INV message and checks that the first inv object in the message was as expected."""
|
||||
if len(expected_inv) > 1:
|
||||
raise NotImplementedError("wait_for_inv() will only verify the first inv object")
|
||||
@ -372,7 +372,7 @@ class P2PInterface(P2PConnection):
|
||||
self.last_message["inv"].inv[0].hash == expected_inv[0].hash
|
||||
wait_until(test_function, timeout=timeout, lock=mininode_lock)
|
||||
|
||||
def wait_for_verack(self, timeout=60):
|
||||
def wait_for_verack(self, timeout=360):
|
||||
test_function = lambda: self.message_count["verack"]
|
||||
wait_until(test_function, timeout=timeout, lock=mininode_lock)
|
||||
|
||||
@ -383,7 +383,7 @@ class P2PInterface(P2PConnection):
|
||||
self.sync_with_ping()
|
||||
|
||||
# Sync up with the node
|
||||
def sync_with_ping(self, timeout=60):
|
||||
def sync_with_ping(self, timeout=360):
|
||||
self.send_message(msg_ping(nonce=self.ping_counter))
|
||||
test_function = lambda: self.last_message.get("pong") and self.last_message["pong"].nonce == self.ping_counter
|
||||
wait_until(test_function, timeout=timeout, lock=mininode_lock)
|
||||
|
@ -202,7 +202,7 @@ def satoshi_round(amount):
|
||||
|
||||
def wait_until(predicate, *, attempts=float('inf'), timeout=float('inf'), lock=None):
|
||||
if attempts == float('inf') and timeout == float('inf'):
|
||||
timeout = 60
|
||||
timeout = 600
|
||||
attempt = 0
|
||||
timeout += time.time()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user