pblock->hashMerkleRoot = pblock->BuildMerkleTree();
- if (!pblock->SignBlock(*pwalletMain))
- throw JSONRPCError(-100, "Unable to sign block, wallet locked?");
+ if (!fTestNet && pblock->GetBlockTime() < CHAINCHECKS_SWITCH_TIME)
+ {
+ if (!pblock->SignBlock(*pwalletMain))
+ throw JSONRPCError(-100, "Unable to sign block, wallet locked?");
+ }
return CheckWork(pblock, *pwalletMain, reservekey);
}
pblock->vtx[0].vin[0].scriptSig = mapNewBlock[pdata->hashMerkleRoot].second;
pblock->hashMerkleRoot = pblock->BuildMerkleTree();
- if (!pblock->SignBlock(*pwalletMain))
- throw JSONRPCError(-100, "Unable to sign block, wallet locked?");
+ if (!fTestNet && pblock->GetBlockTime() < CHAINCHECKS_SWITCH_TIME)
+ {
+ if (!pblock->SignBlock(*pwalletMain))
+ throw JSONRPCError(-100, "Unable to sign block, wallet locked?");
+ }
return CheckWork(pblock, *pwalletMain, reservekey);
}
throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block decode failed");
}
- if (!block.SignBlock(*pwalletMain))
- throw JSONRPCError(-100, "Unable to sign block, wallet locked?");
+ if (!fTestNet && block.GetBlockTime() < CHAINCHECKS_SWITCH_TIME)
+ {
+ if (!block.SignBlock(*pwalletMain))
+ throw JSONRPCError(-100, "Unable to sign block, wallet locked?");
+ }
bool fAccepted = ProcessBlock(NULL, &block);
if (!fAccepted)