HomePhabricator

add sigChecks value to script cache

Description

add sigChecks value to script cache

Summary:
Currently the script cache is purely setlike, however for sigChecks we will need
to remember a transaction's sigChecks count in cache for a few reasons:

  • enforcement of a block-level limit means that ConnectBlock needs this info, and since it relies on script cache for speedup, the data must be available in cache.
  • when resurrecting txns back into the mempool (after a reorg), we use the script cache but again we need to get the sigchecks count back once again, in order to save it in the mempool structures. (block template construction needs sigchecks count, to satisfy the block level consensus rule)

This turns the script cache into a map with a slightly shorter key (256 -> 224 bits)
and an int attached for tracking sigchecks.

(this uses the new cuckoocache map feature from D4621, D4643, D4641 )

Test Plan: ninja check

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Maniphest Tasks: T704

Differential Revision: https://reviews.bitcoinabc.org/D4834

Details

Provenance
Mark Lundeberg <markblundeberg@users.noreply.github.com>Authored on Jan 4 2020, 13:16
markblundebergPushed on Feb 1 2020, 08:09
Reviewer
Restricted Project
Differential Revision
D4834: add sigChecks value to script cache
Parents
rABC4927f0605c0b: [CMAKE] Make Qt protobuf an object library
Branches
Unknown
Tags
Unknown