From 4e406e059e1fb5f9f91e22e197e9fc9b076dbd9f Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 9 May 2021 13:41:43 +0200 Subject: document test vector for #6855 --- design-documents/018-contract-json.rst | 36 +++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'design-documents') diff --git a/design-documents/018-contract-json.rst b/design-documents/018-contract-json.rst index 4208febc..2162d6ed 100644 --- a/design-documents/018-contract-json.rst +++ b/design-documents/018-contract-json.rst @@ -102,7 +102,7 @@ member of the parent object. }, } - => + => { ...props, @@ -146,6 +146,40 @@ resulting bytes are terminated with a single 0-byte and then hashed with SHA512. +Test vector +----------- + +The follwing input contains top-level and nested forgettable +fields, as well as booleans, integers, strings and objects +as well as non-forgettable fields. It is thus suitable as +a minimal interoperability test: + +.. code-block:: json + + { + "k1": 1, + "_forgettable": { + "k1": "SALT" + }, + "k2": { + "n1": true, + "_forgettable": { + "n1": "salt" + } + }, + "k3": { + "n1": "string" + } + } + +Hashing the above contract results in the following Crockford base32 encoded +hash +``287VXK8T6PXKD05W8Y94QJNEFCMRXBC9S7KNKTWGH2G2J2D7RYKPSHNH1HG9NT1K2HRHGC67W6QM6GEC4BSN1DPNEBCS0AVDT2DBP5G''. + +Note that typically the salt values must be chosen at random, only for this test we use static salt values. + + + Discussion / Q&A ================ -- cgit v1.2.3