From 688a5d9312848c73776419702765a62bf915279e Mon Sep 17 00:00:00 2001
From: Chris Sosnin <48099298+slumber@users.noreply.github.com>
Date: Fri, 22 Oct 2021 15:49:26 +0300
Subject: [PATCH] Introduce new Runtime API endpoint for fetching the
validation data (#3728)
* Introduce new Runtime API endpoint
`persisted_validation_data_with_code_hash` that will be used
by the candidate validation subsystem in order to decrease amount
of runtime API requests.
* Node-side part of new runtime API request
* Define code hash getter via macro
* Rename new endpoint to `assumed_validation_data`
* Docs for runtime API impl of new endpoint
* AssumedValidationData specialized request function
* fmt
---
node/core/runtime-api/src/cache.rs | 27 ++++++++
node/core/runtime-api/src/lib.rs | 30 +++++++++
node/core/runtime-api/src/tests.rs | 63 +++++++++++++++++++
node/subsystem-types/src/messages.rs | 7 +++
node/subsystem-util/src/lib.rs | 3 +-
primitives/src/v1/mod.rs | 8 +++
runtime/kusama/src/lib.rs | 10 +++
runtime/parachains/src/paras.rs | 3 +-
runtime/parachains/src/runtime_api_impl/v1.rs | 46 ++++++++++++--
runtime/polkadot/src/lib.rs | 10 +++
runtime/rococo/src/lib.rs | 10 +++
runtime/test-runtime/src/lib.rs | 10 +++
runtime/westend/src/lib.rs | 10 +++
13 files changed, 230 insertions(+), 7 deletions(-)
diff --git a/node/core/runtime-api/src/cache.rs b/node/core/runtime-api/src/cache.rs
index 9c3aeaa8d819..88b579402e64 100644
--- a/node/core/runtime-api/src/cache.rs
+++ b/node/core/runtime-api/src/cache.rs
@@ -33,6 +33,7 @@ const VALIDATORS_CACHE_SIZE: usize = 64 * 1024;
const VALIDATOR_GROUPS_CACHE_SIZE: usize = 64 * 1024;
const AVAILABILITY_CORES_CACHE_SIZE: usize = 64 * 1024;
const PERSISTED_VALIDATION_DATA_CACHE_SIZE: usize = 64 * 1024;
+const ASSUMED_VALIDATION_DATA_CACHE_SIZE: usize = 64 * 1024;
const CHECK_VALIDATION_OUTPUTS_CACHE_SIZE: usize = 64 * 1024;
const SESSION_INDEX_FOR_CHILD_CACHE_SIZE: usize = 64 * 1024;
const VALIDATION_CODE_CACHE_SIZE: usize = 10 * 1024 * 1024;
@@ -80,6 +81,10 @@ pub(crate) struct RequestResultCache {
(Hash, ParaId, OccupiedCoreAssumption),
ResidentSizeOf