Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Fix timer panics in the wasm light client #4561

Merged
merged 144 commits into from
Feb 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
f29a872
Make WASM browser thing compile
tomaka Nov 20, 2019
bcffb1b
Merge remote-tracking branch 'upstream/polkadot-master' into wasm-demo-3
tomaka Nov 21, 2019
f7e592e
Merge remote-tracking branch 'upstream/master' into wasm-demo-3
tomaka Nov 26, 2019
2ff5a08
Fix
tomaka Nov 26, 2019
ccdab42
updated exit-future (github repo)
expenses Nov 30, 2019
dc97828
Switch to broadcast crate
expenses Nov 30, 2019
c18f432
Migrate client/cli
expenses Dec 1, 2019
aec8ec7
Merge remote-tracking branch 'parity/master' into ashley-update-exit-…
expenses Dec 1, 2019
e7f55e3
Merge remote-tracking branch 'parity/master' into ashley-update-exit-…
expenses Dec 2, 2019
3cdde59
Merge remote-tracking branch 'tomaka/wasm-demo-3' into async-update-e…
expenses Dec 2, 2019
e32be2e
Merge remote-tracking branch 'parity/master' into ashley-update-exit-…
expenses Dec 3, 2019
fe5b409
Merge remote-tracking branch 'parity/master' into ashley-update-exit-…
expenses Dec 4, 2019
22cda22
Merge remote-tracking branch 'parity/master' into ashley-update-exit-…
expenses Dec 4, 2019
03237f4
Switch exit-future to modernize branch
expenses Dec 4, 2019
02fbad5
Merge branch 'ashley-update-exit-future' into ashley-update-exit-futu…
expenses Dec 4, 2019
a488106
Small changes
expenses Dec 4, 2019
6579d12
Switch to cargo version and fix fg tests
expenses Dec 4, 2019
8ae6cb3
Merge branch 'ashley-update-exit-future' into ashley-polkadot-wasm
expenses Dec 4, 2019
731fe09
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 4, 2019
6529de9
Merge branch 'master' of https://github.com/paritytech/substrate into…
expenses Dec 5, 2019
159f92c
fix basic-authorship
expenses Dec 5, 2019
ff1bf2e
Fix crash on grafana macro
expenses Dec 5, 2019
8238ecd
Fix grafana macro
expenses Dec 5, 2019
b8c1493
Merge branch 'master' of github.com:paritytech/substrate into ashley-…
expenses Dec 6, 2019
4d4d3b0
Switch node python version
expenses Dec 6, 2019
e3c95aa
Disable record_metrics_slice in grafana macro on wasm
expenses Dec 6, 2019
aad207b
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 6, 2019
888009a
Update client/grafana-data-source/src/lib.rs
bkchr Dec 6, 2019
a1de6f2
Merge branch 'ashley-grafana-wasm' into ashley-polkadot-wasm
expenses Dec 6, 2019
7147f9e
Merge remote-tracking branch 'parity/ashley-grafana-wasm' into ashley…
expenses Dec 6, 2019
6312665
Revert "Update client/grafana-data-source/src/lib.rs"
expenses Dec 6, 2019
87c7a81
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 9, 2019
2d225ca
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 10, 2019
de7eaa0
Add wasm support for state machine
expenses Dec 10, 2019
f510164
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 10, 2019
ce61387
Switch to my own libp2p version
expenses Dec 10, 2019
dad562c
Revert "Switch to my own libp2p version"
expenses Dec 11, 2019
d062bd5
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 11, 2019
51964b3
Revert "Add wasm support for state machine"
expenses Dec 11, 2019
17aac45
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 12, 2019
f75479a
Add sc-browser
expenses Dec 12, 2019
e73aac3
Squash
expenses Dec 15, 2019
983dbb1
Merge branch 'ashley-browser-utils' into HEAD
expenses Dec 15, 2019
2eb18e5
Merge remote-tracking branch 'parity/master' into HEAD
expenses Dec 15, 2019
e3769b4
remove sc-browser
expenses Dec 15, 2019
7d32a2e
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Dec 15, 2019
2299645
Fix keystore on wasm
expenses Dec 15, 2019
cfe8fdb
Merge branch 'ashley-browser-utils' into ashley-polkadot-wasm
expenses Dec 15, 2019
4612940
stubs for removed functions to make env compatible with old runtimes
svyatonik Dec 16, 2019
e55a790
Merge remote-tracking branch 'parity/child_tries_compat_with_old_runt…
expenses Dec 16, 2019
06f1c3a
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 16, 2019
03459d1
Add test (that doesn't work)
expenses Dec 16, 2019
ec4cb3e
Fix build scripts
expenses Dec 16, 2019
571bff9
Revert basic-authorship due to no panics
expenses Dec 16, 2019
3df4214
Revert cli/informant
expenses Dec 16, 2019
3f51d3a
Revert consensus
expenses Dec 16, 2019
9ffeac2
revert offchain
expenses Dec 16, 2019
a42413b
Update utils/browser/Cargo.toml
expenses Dec 16, 2019
ec53ba6
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Dec 16, 2019
808e01a
export console functions
expenses Dec 17, 2019
2d8f94f
Merge branch 'ashley-browser-utils' of github.com:paritytech/substrat…
expenses Dec 17, 2019
30ad8a7
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 17, 2019
910b12c
Merge remote-tracking branch 'parity/ashley-browser-utils' into ashle…
expenses Dec 17, 2019
928b5bb
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 18, 2019
bc5de9b
Add new chainspec
expenses Dec 18, 2019
41f50fb
Fix ws in chain spec
expenses Dec 18, 2019
243b9a1
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Dec 22, 2019
ddd697b
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 23, 2019
1755c69
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 27, 2019
3f1b774
revert chainspec
expenses Dec 28, 2019
f0a6a6c
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Dec 28, 2019
aa52da8
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 2, 2020
933d24d
Fix chainspec
expenses Jan 2, 2020
e40d8a2
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Jan 2, 2020
3406be5
Use an Option<PathBuf> in keystore instead of cfg flags
expenses Jan 2, 2020
182d402
Merge branch 'ashley-browser-utils' of github.com:paritytech/substrat…
expenses Jan 2, 2020
692cf9f
Merge branch 'ashley-browser-utils' into ashley-polkadot-wasm
expenses Jan 2, 2020
427052c
Remove crud
expenses Jan 2, 2020
5a4e4a6
Only use wasm-timer for instant and systemtime
expenses Jan 2, 2020
ae47297
Remove telemetry changes
expenses Jan 2, 2020
715aad1
Assuming this is ok
expenses Jan 3, 2020
2b292f0
Add a KeystoreConfig
expenses Jan 3, 2020
a4c2e3c
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Jan 3, 2020
4690cf1
Add stubs back in
expenses Jan 3, 2020
4e8b6be
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 3, 2020
7fe5701
Update libp2p
expenses Jan 3, 2020
4f04db9
Revert "Add stubs back in"
expenses Jan 3, 2020
25c8559
Remove commented js again
expenses Jan 3, 2020
19953b5
Merge branch 'ashley-browser-utils' into ashley-polkadot-wasm
expenses Jan 3, 2020
72fffb4
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Jan 6, 2020
01e6bbb
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 6, 2020
dcd0dcb
Merge branch 'ashley-browser-utils' into ashley-polkadot-wasm
expenses Jan 6, 2020
3c9c6a8
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Jan 6, 2020
48ac10f
Bump kvdb-web version
expenses Jan 6, 2020
ee17a06
Fix cli
expenses Jan 6, 2020
6c9e3df
Merge remote-tracking branch 'parity/master' into ashley-browser-utils
expenses Jan 6, 2020
1974eac
Merge branch 'ashley-browser-utils' into ashley-polkadot-wasm
expenses Jan 6, 2020
f232a55
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 6, 2020
95ca1f8
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 7, 2020
353f6e6
Switch branch on futures-timer
expenses Jan 7, 2020
3e7f82c
Fix tests
expenses Jan 7, 2020
bbfbcf2
Remove sc-client test build in check-web-wasm because there isn't a g…
expenses Jan 7, 2020
b6a46c4
Remove more things ^^
expenses Jan 7, 2020
fd1dc55
Switch branch on futures-timer back
expenses Jan 8, 2020
40e445f
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 9, 2020
d5c9c17
Put DB io stats behind a cfg flag
expenses Jan 9, 2020
3053e25
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 14, 2020
684b8fa
Fix things
expenses Jan 14, 2020
10bdcf2
Don't timeout transports on wasm
expenses Jan 14, 2020
25c0fed
Update branch of futures-timer and fix bad merge
expenses Jan 15, 2020
7f86d6a
Spawn informant
expenses Jan 15, 2020
2f2508b
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 15, 2020
a33f9ed
Fix network test
expenses Jan 15, 2020
b91a797
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 16, 2020
6d8ecff
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 20, 2020
d62d011
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 22, 2020
8b4f63d
Fix delay resets
expenses Jan 22, 2020
9ba7353
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 24, 2020
c7096ca
Changes
expenses Jan 27, 2020
fe05eae
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Jan 27, 2020
90e0051
Fix tests
expenses Jan 27, 2020
681c965
use wasm_timer for transaction pool
expenses Jan 27, 2020
c6b7060
Fixes
expenses Jan 27, 2020
9e447c6
Switch futures-timer to crates
expenses Feb 1, 2020
e6e719a
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Feb 1, 2020
7f211de
Only diagnose futures on native
expenses Feb 1, 2020
3b80560
Fix sc-network-test tests
expenses Feb 1, 2020
35a5314
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Feb 2, 2020
3243e85
Select log level in js
expenses Feb 3, 2020
69f107b
Fix syncing ;^)
expenses Feb 3, 2020
4585163
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Feb 3, 2020
9355217
Merge branch 'master' into ashley-polkadot-wasm
Demi-Marie Feb 3, 2020
b36891c
Allow disabling colours in the informant
expenses Feb 4, 2020
50cd2c1
Merge branch 'ashley-polkadot-wasm' of github.com:paritytech/substrat…
expenses Feb 4, 2020
c8ad072
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Feb 4, 2020
d9c20f7
Use OutputFormat enum for informant
expenses Feb 4, 2020
ad1dfb1
Merge remote-tracking branch 'parity/master' into HEAD
expenses Feb 7, 2020
baa4ffc
MallocSizeOf impl on transaction pool broke stuff because wasm_timer:…
expenses Feb 7, 2020
7260ef0
Update futures-diagnose
expenses Feb 7, 2020
f20e65d
Revert "MallocSizeOf impl on transaction pool broke stuff because was…
expenses Feb 7, 2020
2aa0ace
Pass whole chain spec in start_client
expenses Feb 7, 2020
2d13a74
Get Instant::now to work in transaction pool again
expenses Feb 7, 2020
02dfbf6
Merge remote-tracking branch 'parity/master' into ashley-polkadot-wasm
expenses Feb 7, 2020
5b0117d
Informant dep reordering
expenses Feb 7, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 71 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ members = [
"client/executor/wasmtime",
"client/executor/runtime-test",
"client/finality-grandpa",
"client/informant",
"client/tracing",
"client/keystore",
"client/network",
Expand Down
7 changes: 4 additions & 3 deletions bin/node/cli/browser-demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@
async function start() {
log('Loading WASM');
await init('./pkg/node_cli_bg.wasm');
log('Successfully loaded WASM');
log('Fetching chain spec');
const chain_spec_response = await fetch("https://raw.githubusercontent.com/paritytech/substrate/master/bin/node/cli/res/flaming-fir.json");
const chain_spec_text = await chain_spec_response.text();

// Build our client.
log('Starting client');
let client = await start_client(ws());
let client = await start_client(chain_spec_text, 'info', ws());
log('Client started');

client.rpcSubscribe('{"method":"chain_subscribeNewHead","params":[],"id":1,"jsonrpc":"2.0"}',
Expand Down
14 changes: 7 additions & 7 deletions bin/node/cli/src/browser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,28 @@
// You should have received a copy of the GNU General Public License
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.

use crate::ChainSpec;
use crate::chain_spec::ChainSpec;
use log::info;
use wasm_bindgen::prelude::*;
use sc_service::Configuration;
use browser_utils::{
Transport, Client,
browser_configuration, set_console_error_panic_hook, init_console_log,
};
use std::str::FromStr;

/// Starts the client.
#[wasm_bindgen]
pub async fn start_client(wasm_ext: Transport) -> Result<Client, JsValue> {
start_inner(wasm_ext)
pub async fn start_client(chain_spec: String, log_level: String, wasm_ext: Transport) -> Result<Client, JsValue> {
start_inner(chain_spec, log_level, wasm_ext)
.await
.map_err(|err| JsValue::from_str(&err.to_string()))
}

async fn start_inner(wasm_ext: Transport) -> Result<Client, Box<dyn std::error::Error>> {
async fn start_inner(chain_spec: String, log_level: String, wasm_ext: Transport) -> Result<Client, Box<dyn std::error::Error>> {
set_console_error_panic_hook();
init_console_log(log::Level::Info)?;

let chain_spec = ChainSpec::FlamingFir.load()
init_console_log(log::Level::from_str(&log_level)?)?;
let chain_spec = ChainSpec::from_json_bytes(chain_spec.as_bytes().to_vec())
.map_err(|e| format!("{:?}", e))?;

let config: Configuration<_, _> = browser_configuration(wasm_ext, chain_spec)
Expand Down
2 changes: 1 addition & 1 deletion client/authority-discovery/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ bytes = "0.4.12"
codec = { package = "parity-scale-codec", default-features = false, version = "1.0.3" }
derive_more = "0.99.2"
futures = "0.3.1"
futures-timer = "2.0"
futures-timer = "3.0.1"
libp2p = { version = "0.15.0", default-features = false, features = ["secp256k1", "libp2p-websocket"] }
log = "0.4.8"
prost = "0.6.1"
Expand Down
1 change: 1 addition & 0 deletions client/cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ tokio = { version = "0.2.9", features = [ "signal", "rt-core", "rt-threaded" ] }
futures = "0.3.1"
fdlimit = "0.1.1"
serde_json = "1.0.41"
sc-informant = { version = "0.8", path = "../informant" }
sp-panic-handler = { version = "2.0.0", path = "../../primitives/panic-handler" }
sc-client-api = { version = "2.0.0", path = "../api" }
sp-blockchain = { version = "2.0.0", path = "../../primitives/blockchain" }
Expand Down
Loading