From ebc3ac9ac0a4934b77814679f05a0b7a3c7c26b3 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 9 Mar 2021 08:27:35 -0500 Subject: [PATCH] Add tendermint-light-client-js crate (#812) * Add first working iteration of tendermint-light-client-js crate Signed-off-by: Thane Thomson * Serialize/deserialize verification verdicts Signed-off-by: Thane Thomson * Ignore NodeJS bloat Signed-off-by: Thane Thomson * Fix incorrect comment changes Signed-off-by: Thane Thomson * Update README with screenshots Signed-off-by: Thane Thomson * Fix contributors for verifier-web example Signed-off-by: Thane Thomson * Update example package details Signed-off-by: Thane Thomson * Update README with example usage Signed-off-by: Thane Thomson * Add PartialEq trait to light client Verdict to allow for comparison Signed-off-by: Thane Thomson * Add tests for JavaScript verify interface Signed-off-by: Thane Thomson * Add CHANGELOG entry Signed-off-by: Thane Thomson * Add CI job for headless browser testing Signed-off-by: Thane Thomson * Specify path to light-client-js crate for wasm-pack test Signed-off-by: Thane Thomson * Turn off clippy warning for panic hook Signed-off-by: Thane Thomson * Implement Eq trait for verification verdict and related types Signed-off-by: Thane Thomson --- .github/workflows/build.yml | 2 +- .github/workflows/test.yml | 9 + .gitignore | 6 + CHANGELOG.md | 9 +- Cargo.toml | 1 + light-client-js/Cargo.toml | 47 ++++ light-client-js/README.md | 17 ++ .../examples/verifier-web/README.md | 69 ++++++ .../examples/verifier-web/bootstrap.js | 5 + .../examples/verifier-web/index.html | 106 +++++++++ .../examples/verifier-web/index.js | 186 ++++++++++++++++ .../examples/verifier-web/package.json | 46 ++++ .../examples/verifier-web/screenshot1.png | Bin 0 -> 130855 bytes .../examples/verifier-web/screenshot2.png | Bin 0 -> 109571 bytes .../examples/verifier-web/webpack.config.js | 27 +++ light-client-js/src/lib.rs | 88 ++++++++ light-client-js/src/utils.rs | 11 + light-client-js/tests/web.rs | 209 ++++++++++++++++++ light-client/src/components/verifier.rs | 3 +- light-client/src/operations/voting_power.rs | 2 +- light-client/src/predicates/errors.rs | 2 +- tendermint/src/validator.rs | 2 +- 22 files changed, 841 insertions(+), 6 deletions(-) create mode 100644 light-client-js/Cargo.toml create mode 100644 light-client-js/README.md create mode 100644 light-client-js/examples/verifier-web/README.md create mode 100644 light-client-js/examples/verifier-web/bootstrap.js create mode 100644 light-client-js/examples/verifier-web/index.html create mode 100644 light-client-js/examples/verifier-web/index.js create mode 100644 light-client-js/examples/verifier-web/package.json create mode 100644 light-client-js/examples/verifier-web/screenshot1.png create mode 100644 light-client-js/examples/verifier-web/screenshot2.png create mode 100644 light-client-js/examples/verifier-web/webpack.config.js create mode 100644 light-client-js/src/lib.rs create mode 100644 light-client-js/src/utils.rs create mode 100644 light-client-js/tests/web.rs diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f15ff46bc..284645a01 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,7 +29,7 @@ jobs: with: command: build-all - light-client-wasm: + build-light-client-wasm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 33f7b933d..19e0916a0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,6 +69,15 @@ jobs: with: command: test-all-features args: -p tendermint-light-client + # From https://rustwasm.github.io/docs/wasm-bindgen/wasm-bindgen-test/continuous-integration.html#github-actions + tendermint-light-client-js: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install wasm-pack + run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh + - run: wasm-pack test --headless --chrome ./light-client-js/ + - run: wasm-pack test --headless --firefox ./light-client-js/ tendermint-light-node: runs-on: ubuntu-latest steps: diff --git a/.gitignore b/.gitignore index 46c3ebed2..f971349c6 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,9 @@ Cargo.lock # Proptest regressions dumps **/*.proptest-regressions + +# Light Client WASM +light-client-js/pkg/ +light-client-js/examples/verifier-web/node_modules/ +light-client-js/examples/verifier-web/dist/ +light-client-js/examples/verifier-web/package-lock.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a620ec1bc..9916945b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,18 @@ -## Unreleased +## Unreleased ### FEATURES * `[tendermint-abci]` Release minimal framework for building ABCI applications in Rust ([#794]) +* `[tendermint-light-client-js]` First release of the + `tendermint-light-client-js` crate to provide access to Tendermint Light + Client functionality from WASM. This only provides access to the `verify` + method at present, exclusively provides access to block verification. This + does not include network access or the Light Client's bisection algorithm + ([#812]) [#794]: https://github.com/informalsystems/tendermint-rs/pull/794 +[#812]: https://github.com/informalsystems/tendermint-rs/pull/812 ## v0.18.1 diff --git a/Cargo.toml b/Cargo.toml index 034bac036..9f6ff41bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,7 @@ members = [ "abci", "light-client", + "light-client-js", "light-node", "p2p", "proto", diff --git a/light-client-js/Cargo.toml b/light-client-js/Cargo.toml new file mode 100644 index 000000000..97e7a8753 --- /dev/null +++ b/light-client-js/Cargo.toml @@ -0,0 +1,47 @@ +[package] +name = "tendermint-light-client-js" +version = "0.18.1" +authors = [ + "Romain Ruetschi ", + "Thane Thomson " +] +edition = "2018" +license = "Apache-2.0" +description = """ + tendermint-light-client-js provides a lightweight, WASM-based interface to + the Tendermint Light Client's verification functionality. + """ +repository = "https://github.com/informalsystems/tendermint-rs" + +[lib] +crate-type = ["cdylib", "rlib"] + +[features] +default = ["console_error_panic_hook"] + +[dependencies] +serde = { version = "1.0", features = [ "derive" ] } +serde_json = "1.0" +tendermint = { version = "0.18.1", path = "../tendermint" } +tendermint-light-client = { version = "0.18.1", path = "../light-client", default-features = false } +wasm-bindgen = { version = "0.2.63", features = [ "serde-serialize" ] } + +# The `console_error_panic_hook` crate provides better debugging of panics by +# logging them with `console.error`. This is great for development, but requires +# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for +# code size when deploying. +console_error_panic_hook = { version = "0.1.6", optional = true } + +# `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size +# compared to the default allocator's ~10K. It is slower than the default +# allocator, however. +# +# Unfortunately, `wee_alloc` requires nightly Rust when targeting wasm for now. +wee_alloc = { version = "0.4.5", optional = true } + +[dev-dependencies] +wasm-bindgen-test = "0.3.13" + +[profile.release] +# Tell `rustc` to optimize for small code size. +opt-level = "s" diff --git a/light-client-js/README.md b/light-client-js/README.md new file mode 100644 index 000000000..09c595760 --- /dev/null +++ b/light-client-js/README.md @@ -0,0 +1,17 @@ +# Light-Client API for JavaScript + +At present this just exposes the [Tendermint Light Client]'s verification logic +via WASM. This allows simple access to verification from JavaScript: + +```javascript +import * as LightClient from 'tendermint-light-client-js'; + +// Verify an untrusted block against a trusted one, given the specified options +// and current date/time. +let verdict = LightClient.verify(untrusted, trusted, options, now); +``` + +For an example of how to use this, please see the [verifier-web example]. + +[Tendermint Light Client]: ../light-client/ +[verifier-web example]: ./examples/verifier-web/ diff --git a/light-client-js/examples/verifier-web/README.md b/light-client-js/examples/verifier-web/README.md new file mode 100644 index 000000000..a249c75f1 --- /dev/null +++ b/light-client-js/examples/verifier-web/README.md @@ -0,0 +1,69 @@ +# Web-Based Light Client Verification + +This folder contains a simple *example* web application demonstrating +Tendermint Light Client verification. + +## Requirements + +* Rust stable latest +* NodeJS (tested with v14.15.5) +* [wasm-pack] + +## Try it out + +You first need to build a few things before you can try this example out +locally. + +### Step 1: Building the WASM binary + +From the [`light-client-js` folder](../../): + +```bash +wasm-pack build +``` + +This will build our WASM binary and JavaScript/TypeScript wrappers and place +them into a `pkg` directory. + +### Step 2: Build/run the example + +From this directory (`light-client-js/examples/verifier-web`): + +```bash +# Install all dependencies +npm install + +# Build/start the example app +npm run start +``` + +This should build the example and start a server at http://localhost:8080 + +### Step 3: Input your data + +When you open up at http://localhost:8080, you should see something like the +following: + +![screenshot1](screenshot1.png) + +Copy/paste the JSON representation of a trusted block alongside that of the +untrusted block you wish to verify into the supplied editors. Configure your +desired Light Client parameters, as well as the timestamp at which you want to +check whether the untrusted block is trustworthy, and click the **Verify** +button. + +This will show you the raw JSON object received back from the verifier. + +![screenshot2](screenshot2.png) + +## Limitations + +1. This example only demonstrates *verification*, and is pretty manual right + now (you must manually copy/paste the JSON representations of untrusted and + trusted blocks, and supply options/timestamps manually). No network I/O + happens here, so bring your own I/O to fetch light blocks. +2. The WASM binary built in step 1 only works for bundled web applications + (e.g. using [webpack]). + +[wasm-pack]: https://rustwasm.github.io/docs/wasm-pack/introduction.html +[webpack]: https://webpack.js.org/ diff --git a/light-client-js/examples/verifier-web/bootstrap.js b/light-client-js/examples/verifier-web/bootstrap.js new file mode 100644 index 000000000..7934d627e --- /dev/null +++ b/light-client-js/examples/verifier-web/bootstrap.js @@ -0,0 +1,5 @@ +// A dependency graph that contains any wasm must all be imported +// asynchronously. This `bootstrap.js` file does the single async import, so +// that no one else needs to worry about it again. +import("./index.js") + .catch(e => console.error("Error importing `index.js`:", e)); diff --git a/light-client-js/examples/verifier-web/index.html b/light-client-js/examples/verifier-web/index.html new file mode 100644 index 000000000..88d5cdce5 --- /dev/null +++ b/light-client-js/examples/verifier-web/index.html @@ -0,0 +1,106 @@ + + + + + + Tendermint Light Client WASM Example + + + + +
+
+

Tendermint Light Client WASM Example

+

+ This example demonstrates how to make use of the + Tendermint Light Client + WASM build in a simple web application. +

+
+
+ +
+
+
+
+

Untrusted Block

+
+
+ +
+

Trusted Block

+
+
+
+
+
+ +
+
+

Options

+
+
+
+ +
+ +
+

Must be in the format: numerator/denominator

+
+
+ +
+
+ +
+ +
+

A.k.a. "unbonding period", in seconds

+
+
+ +
+
+ +
+ +
+

In seconds

+
+
+ +
+
+ +
+ +
+

Timestamp in RFC3339 format for which you want to verify the block

+
+
+
+
+
+ +
+
+ +
+
+ +
+
+

Verdict

+

+  
+
+ + + diff --git a/light-client-js/examples/verifier-web/index.js b/light-client-js/examples/verifier-web/index.js new file mode 100644 index 000000000..42890cf00 --- /dev/null +++ b/light-client-js/examples/verifier-web/index.js @@ -0,0 +1,186 @@ +import * as monaco from 'monaco-editor'; +import * as LightClient from 'tendermint-light-client-js'; + +let untrustedBlockEditor = monaco.editor.create(document.getElementById("untrusted-block-editor"), { + value: JSON.stringify({ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "4", + "time": "1970-01-01T00:00:04Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "C8CFFADA9808F685C4111693E1ADFDDBBEE9B9493493BEF805419F143C5B0D0A", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "4", + "round": 1, + "block_id": { + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A", + "part_set_header": { + "total": 1, + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:04Z", + "signature": "lTGBsjVI6YwIRcxQ6Lct4Q+xrtJc9h3648c42uWe4MpSgy4rUI5g71AEpG90Tbn0PRizjKgCPhokPpQoQLiqAg==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "C479DB6F37AB9757035CFBE10B687E27668EE7DF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3wf60CidQcsIO7TksXzEZsJefMUFF73k6nP1YeEo9to=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" + }, null, 2), + language: 'json', + minimap: { enabled: false } +}); + +let trustedBlockEditor = monaco.editor.create(document.getElementById("trusted-block-editor"), { + value: JSON.stringify({ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "3", + "time": "1970-01-01T00:00:03Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "3", + "round": 1, + "block_id": { + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793", + "part_set_header": { + "total": 1, + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:03Z", + "signature": "xn0eSsHYIsqUbmfAiJq1R0hqZbfuIjs5Na1c88EC1iPTuQAesKg9I7nXG4pk8d6U5fU4GysNLk5I4f7aoefOBA==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" + }, null, 2), + language: 'json', + minimap: { enabled: false } +}); + +document.getElementById('verify-btn').addEventListener('click', function() { + let untrusted = JSON.parse(untrustedBlockEditor.getValue()); + let trusted = JSON.parse(trustedBlockEditor.getValue()); + let trustThreshold = document.getElementById('trust-threshold-input').value; + let trustThresholdParts = trustThreshold.split("/"); + if (trustThresholdParts.length !== 2) { + window.alert("Expected trust threshold to be of the format \"numerator/denominator\""); + return; + } + let trustThresholdNum = parseInt(trustThresholdParts[0].trim(), 10); + let trustThresholdDen = parseInt(trustThresholdParts[1].trim(), 10); + let trustingPeriod = parseInt(document.getElementById('trusting-period-input').value, 10); + let clockDrift = parseInt(document.getElementById('clock-drift-input').value, 10); + let now = document.getElementById('now-input').value; + + let options = { + trust_threshold: [trustThresholdNum, trustThresholdDen], + trusting_period: trustingPeriod, + clock_drift: clockDrift + }; + + console.log("Untrusted block:", untrusted); + console.log("Trusted block:", trusted); + console.log("Options:", options); + console.log("Now:", now); + + let verdict = LightClient.verify(untrusted, trusted, options, now); + + document.getElementById('verdict').innerText = JSON.stringify(verdict, null, 2); + document.getElementById('verdict-section').style.visibility = 'visible'; +}); diff --git a/light-client-js/examples/verifier-web/package.json b/light-client-js/examples/verifier-web/package.json new file mode 100644 index 000000000..ee22aae9b --- /dev/null +++ b/light-client-js/examples/verifier-web/package.json @@ -0,0 +1,46 @@ +{ + "name": "tendermint-light-client-verifier-web", + "version": "0.1.0", + "description": "an example app to demonstrate Tendermint Light Client verification on the web using WASM", + "main": "index.js", + "scripts": { + "build": "webpack --config webpack.config.js", + "start": "webpack-dev-server" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/informalsystems/tendermint-rs.git" + }, + "keywords": [ + "tendermint", + "light-client", + "webassembly", + "wasm", + "rust", + "webpack" + ], + "author": "Informal Systems ", + "contributors": [ + "Romain Ruetschi ", + "Thane Thomson " + ], + "license": "(MIT OR Apache-2.0)", + "bugs": { + "url": "https://github.com/informalsystems/tendermint-rs/issues" + }, + "homepage": "https://github.com/informalsystems/tendermint-rs", + "devDependencies": { + "copy-webpack-plugin": "^5.1.2", + "css-loader": "^5.0.2", + "file-loader": "^6.2.0", + "monaco-editor-webpack-plugin": "^3.0.0", + "style-loader": "^2.0.0", + "webpack": "^4.46.0", + "webpack-cli": "^3.3.12", + "webpack-dev-server": "^3.11.2" + }, + "dependencies": { + "monaco-editor": "^0.22.3", + "tendermint-light-client-js": "file:../../pkg" + } +} diff --git a/light-client-js/examples/verifier-web/screenshot1.png b/light-client-js/examples/verifier-web/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..7aebf15cd238f590db4b2694c0b133d95e0346de GIT binary patch literal 130855 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≤FE#u~9YWJDVVhK5bH% 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 z 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 TU+$hon#G^6IiCNI^S}KYigu}o literal 0 HcmV?d00001 diff --git a/light-client-js/examples/verifier-web/screenshot2.png b/light-client-js/examples/verifier-web/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..46000b86559e3d99a1485d54062c87fec974fe31 GIT binary patch literal 109571 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 m% JsValue { + let result = deserialize_params(untrusted, trusted, options, now).map( + |(untrusted, trusted, options, now)| { + let verifier = ProdVerifier::default(); + verifier.verify(&untrusted, &trusted, &options, now) + }, + ); + JsValue::from_serde(&result).unwrap() +} + +fn deserialize_params( + untrusted: &JsValue, + trusted: &JsValue, + options: &JsValue, + now: &JsValue, +) -> Result<(LightBlock, LightBlock, Options, Time), Error> { + let untrusted = untrusted.into_serde().map_err(|e| Error::Serialization { + param: "untrusted".to_string(), + msg: e.to_string(), + })?; + + let trusted = trusted.into_serde().map_err(|e| Error::Serialization { + param: "trusted".to_string(), + msg: e.to_string(), + })?; + + let options = options + .into_serde::() + .map(Into::into) + .map_err(|e| Error::Serialization { + param: "options".to_string(), + msg: e.to_string(), + })?; + + let now = now.into_serde().map_err(|e| Error::Serialization { + param: "now".to_string(), + msg: e.to_string(), + })?; + + Ok((untrusted, trusted, options, now)) +} + +/// Errors produced by this crate. +#[derive(Serialize, Deserialize, Debug)] +#[serde(tag = "type")] +pub enum Error { + /// A serialization/deserialization error occurred. + #[serde(rename = "serialization")] + Serialization { param: String, msg: String }, +} + +// Simplified options supplied from JavaScript. +#[derive(Debug, Serialize, Deserialize)] +pub struct JsOptions { + pub trust_threshold: (u64, u64), + pub trusting_period: u64, + pub clock_drift: u64, +} + +impl From for Options { + fn from(o: JsOptions) -> Self { + let (num, den) = o.trust_threshold; + Self { + trust_threshold: TrustThreshold::new(num, den).unwrap(), + trusting_period: Duration::from_secs(o.trusting_period), + clock_drift: Duration::from_secs(o.clock_drift), + } + } +} diff --git a/light-client-js/src/utils.rs b/light-client-js/src/utils.rs new file mode 100644 index 000000000..c4be847ee --- /dev/null +++ b/light-client-js/src/utils.rs @@ -0,0 +1,11 @@ +#[allow(dead_code)] +pub fn set_panic_hook() { + // When the `console_error_panic_hook` feature is enabled, we can call the + // `set_panic_hook` function at least once during initialization, and then + // we will get better error messages if our code ever panics. + // + // For more details see + // https://github.com/rustwasm/console_error_panic_hook#readme + #[cfg(feature = "console_error_panic_hook")] + console_error_panic_hook::set_once(); +} diff --git a/light-client-js/tests/web.rs b/light-client-js/tests/web.rs new file mode 100644 index 000000000..03e36c753 --- /dev/null +++ b/light-client-js/tests/web.rs @@ -0,0 +1,209 @@ +//! Test suite for the Web and headless browsers. + +#![cfg(target_arch = "wasm32")] + +extern crate wasm_bindgen_test; +use tendermint::Time; +use tendermint_light_client::components::verifier::Verdict; +use tendermint_light_client::types::LightBlock; +use tendermint_light_client_js::{verify, Error, JsOptions}; +use wasm_bindgen::JsValue; +use wasm_bindgen_test::*; + +wasm_bindgen_test_configure!(run_in_browser); + +const UNTRUSTED_BLOCK: &str = r#"{ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "4", + "time": "1970-01-01T00:00:04Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "C8CFFADA9808F685C4111693E1ADFDDBBEE9B9493493BEF805419F143C5B0D0A", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "4", + "round": 1, + "block_id": { + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A", + "part_set_header": { + "total": 1, + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:04Z", + "signature": "lTGBsjVI6YwIRcxQ6Lct4Q+xrtJc9h3648c42uWe4MpSgy4rUI5g71AEpG90Tbn0PRizjKgCPhokPpQoQLiqAg==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "C479DB6F37AB9757035CFBE10B687E27668EE7DF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3wf60CidQcsIO7TksXzEZsJefMUFF73k6nP1YeEo9to=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" +}"#; + +const TRUSTED_BLOCK: &str = r#"{ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "3", + "time": "1970-01-01T00:00:03Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "3", + "round": 1, + "block_id": { + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793", + "part_set_header": { + "total": 1, + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:03Z", + "signature": "xn0eSsHYIsqUbmfAiJq1R0hqZbfuIjs5Na1c88EC1iPTuQAesKg9I7nXG4pk8d6U5fU4GysNLk5I4f7aoefOBA==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" +}"#; + +#[wasm_bindgen_test] +fn successful_verification() { + let (untrusted_block, trusted_block) = test_blocks(); + let options = test_options(); + // Choose a "now" value within the trusting period + let now = + JsValue::from_serde(&Time::parse_from_rfc3339("1970-01-07T00:00:00Z").unwrap()).unwrap(); + let js_result = verify(&untrusted_block, &trusted_block, &options, &now); + console_log!("js_result = {:?}", js_result); + let verdict = JsValue::into_serde::>(&js_result) + .unwrap() + .unwrap(); + assert_eq!(verdict, Verdict::Success); +} + +#[wasm_bindgen_test] +fn failed_verification_outside_trusting_period() { + let (untrusted_block, trusted_block) = test_blocks(); + let options = test_options(); + // Choose a "now" value outside the trusting period + let now = + JsValue::from_serde(&Time::parse_from_rfc3339("1970-01-16T00:00:00Z").unwrap()).unwrap(); + let js_result = verify(&untrusted_block, &trusted_block, &options, &now); + console_log!("js_result = {:?}", js_result); + // The result is Ok because we successfully obtained a verdict, even if the + // verdict isn't Verdict::Success. + let verdict = JsValue::into_serde::>(&js_result) + .unwrap() + .unwrap(); + match verdict { + Verdict::Success | Verdict::NotEnoughTrust(_) => panic!("unexpected verdict"), + _ => {} + } +} + +fn test_blocks() -> (JsValue, JsValue) { + let untrusted_block = + JsValue::from_serde(&serde_json::from_str::(UNTRUSTED_BLOCK).unwrap()).unwrap(); + let trusted_block = + JsValue::from_serde(&serde_json::from_str::(TRUSTED_BLOCK).unwrap()).unwrap(); + (untrusted_block, trusted_block) +} + +fn test_options() -> JsValue { + JsValue::from_serde(&JsOptions { + trust_threshold: (1, 3), + trusting_period: 1209600, // 2 weeks + clock_drift: 5, // 5 seconds + }) + .unwrap() +} diff --git a/light-client/src/components/verifier.rs b/light-client/src/components/verifier.rs index b25177dac..fb37b1c81 100644 --- a/light-client/src/components/verifier.rs +++ b/light-client/src/components/verifier.rs @@ -11,10 +11,11 @@ use crate::{ types::{LightBlock, Time}, }; use preds::{errors::VerificationError, ProdPredicates, VerificationPredicates}; +use serde::{Deserialize, Serialize}; /// Represents the result of the verification performed by the /// verifier component. -#[derive(Debug)] +#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)] pub enum Verdict { /// Verification succeeded, the block is valid. Success, diff --git a/light-client/src/operations/voting_power.rs b/light-client/src/operations/voting_power.rs index 2bcd40955..1e46d1b5f 100644 --- a/light-client/src/operations/voting_power.rs +++ b/light-client/src/operations/voting_power.rs @@ -16,7 +16,7 @@ use tendermint::trust_threshold::TrustThreshold as _; use tendermint::vote::{SignedVote, ValidatorIndex, Vote}; /// Tally for the voting power computed by the `VotingPowerCalculator` -#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] +#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize, Eq)] pub struct VotingPowerTally { /// Total voting power pub total: u64, diff --git a/light-client/src/predicates/errors.rs b/light-client/src/predicates/errors.rs index 569f3d157..99c02fb34 100644 --- a/light-client/src/predicates/errors.rs +++ b/light-client/src/predicates/errors.rs @@ -10,7 +10,7 @@ use crate::types::{Hash, Height, Time, Validator, ValidatorAddress}; /// The various errors which can be raised by the verifier component, /// when validating or verifying a light block. -#[derive(Debug, Clone, Error, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, Error, PartialEq, Serialize, Deserialize, Eq)] pub enum VerificationError { /// The header is from the future #[error("header from the future: header_time={header_time} now={now}")] diff --git a/tendermint/src/validator.rs b/tendermint/src/validator.rs index 9201ccdf8..62bc04a6a 100644 --- a/tendermint/src/validator.rs +++ b/tendermint/src/validator.rs @@ -143,7 +143,7 @@ impl Set { /// Validator information // Todo: Remove address and make it into a function that generates it on the fly from pub_key. -#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize, Eq)] pub struct Info { /// Validator account address pub address: account::Id,