*WIP
This commit is contained in:
parent
64eddcaa33
commit
18742dcd1c
|
@ -1,6 +1,4 @@
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use std::sync::Arc;
|
|
||||||
use wasm_bindgen::JsValue;
|
|
||||||
|
|
||||||
use crate::types::{ChainConfig, Forks};
|
use crate::types::{ChainConfig, Forks};
|
||||||
use crate::utils::bytes_serialize;
|
use crate::utils::bytes_serialize;
|
||||||
|
|
|
@ -2,9 +2,7 @@ use figment::{
|
||||||
providers::{Format, Serialized, Toml},
|
providers::{Format, Serialized, Toml},
|
||||||
Figment,
|
Figment,
|
||||||
};
|
};
|
||||||
use serde::de::Error;
|
|
||||||
use serde::{Deserialize, Deserializer};
|
use serde::{Deserialize, Deserializer};
|
||||||
use std::sync::Arc;
|
|
||||||
use std::{path::PathBuf, process::exit};
|
use std::{path::PathBuf, process::exit};
|
||||||
use wasm_bindgen::JsValue;
|
use wasm_bindgen::JsValue;
|
||||||
|
|
||||||
|
@ -44,8 +42,6 @@ impl<'de> Deserialize<'de> for JsonString {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct JsValueWrapper(JsValue);
|
|
||||||
|
|
||||||
impl Config {
|
impl Config {
|
||||||
pub fn from_file(config_path: &PathBuf, network: &str, cli_config: &CliConfig) -> Self {
|
pub fn from_file(config_path: &PathBuf, network: &str, cli_config: &CliConfig) -> Self {
|
||||||
let base_config = match network {
|
let base_config = match network {
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
use common::utils::hex_str_to_bytes;
|
use common::utils::hex_str_to_bytes;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::sync::Arc;
|
|
||||||
use strum::{Display, EnumIter};
|
use strum::{Display, EnumIter};
|
||||||
use wasm_bindgen::JsValue;
|
|
||||||
|
|
||||||
use crate::base::BaseConfig;
|
use crate::base::BaseConfig;
|
||||||
use crate::types::{ChainConfig, Fork, Forks};
|
use crate::types::{ChainConfig, Fork, Forks};
|
||||||
|
|
|
@ -2,7 +2,6 @@ pub mod nimbus_rpc;
|
||||||
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use eyre::Result;
|
use eyre::Result;
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
use crate::types::{BeaconBlock, Bootstrap, FinalityUpdate, OptimisticUpdate, Update};
|
use crate::types::{BeaconBlock, Bootstrap, FinalityUpdate, OptimisticUpdate, Update};
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,17 @@
|
||||||
use std::cmp;
|
use std::cmp;
|
||||||
use std::collections::HashMap;
|
|
||||||
use std::fmt::{Display, Formatter, Result as FmtResult};
|
use std::fmt::{Display, Formatter, Result as FmtResult};
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use eyre::{Result, WrapErr};
|
use eyre::Result;
|
||||||
use js_sys::{Function, Map, Promise};
|
use js_sys::Promise;
|
||||||
use serde::de::DeserializeOwned;
|
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use serde_json::from_str as from_json_str;
|
use wasm_bindgen::JsValue;
|
||||||
use serde_wasm_bindgen::to_value;
|
|
||||||
use wasm_bindgen::closure::Closure;
|
|
||||||
use wasm_bindgen::{JsCast, JsValue};
|
|
||||||
|
|
||||||
use wasm_bindgen::prelude::wasm_bindgen;
|
use wasm_bindgen::prelude::wasm_bindgen;
|
||||||
use wasm_bindgen_futures::JsFuture;
|
use wasm_bindgen_futures::JsFuture;
|
||||||
|
|
||||||
use crate::constants::MAX_REQUEST_LIGHT_CLIENT_UPDATES;
|
use crate::constants::MAX_REQUEST_LIGHT_CLIENT_UPDATES;
|
||||||
use crate::types::*;
|
use crate::types::*;
|
||||||
use web_sys;
|
|
||||||
|
|
||||||
use super::ConsensusRpc;
|
use super::ConsensusRpc;
|
||||||
|
|
||||||
|
@ -179,11 +172,9 @@ impl NimbusRpc {
|
||||||
js_params.set(&JsValue::from_str("method"), &JsValue::from_str("GET"));
|
js_params.set(&JsValue::from_str("method"), &JsValue::from_str("GET"));
|
||||||
js_params.set(&JsValue::from_str("path"), &JsValue::from_str(&path));
|
js_params.set(&JsValue::from_str("path"), &JsValue::from_str(&path));
|
||||||
|
|
||||||
let result = unsafe {
|
let js_future = JsFuture::from(consensus_rpc_handler(JsValue::from(js_params)));
|
||||||
let js_future = JsFuture::from(consensus_rpc_handler(JsValue::from(js_params)));
|
let result = js_future.await?;
|
||||||
let result = js_future.await?;
|
|
||||||
result
|
|
||||||
};
|
|
||||||
let json = result.as_string().unwrap();
|
let json = result.as_string().unwrap();
|
||||||
let response: T = serde_json::from_str(&json).map_err(|e| RpcError::new(e.to_string()))?;
|
let response: T = serde_json::from_str(&json).map_err(|e| RpcError::new(e.to_string()))?;
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,9 @@
|
||||||
use std::error::Error;
|
use std::error::Error;
|
||||||
use std::fmt::{Debug, Display, Formatter};
|
use std::fmt::{Debug, Display, Formatter};
|
||||||
use std::str::FromStr;
|
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use ethers::prelude::{Address, Http};
|
use ethers::prelude::Address;
|
||||||
use ethers::providers::{
|
use ethers::providers::{JsonRpcClient, Middleware, Provider, ProviderError};
|
||||||
HttpRateLimitRetryPolicy, JsonRpcClient, Middleware, Provider, ProviderError, RetryClient,
|
|
||||||
};
|
|
||||||
use ethers::types::transaction::eip2718::TypedTransaction;
|
use ethers::types::transaction::eip2718::TypedTransaction;
|
||||||
use ethers::types::transaction::eip2930::AccessList;
|
use ethers::types::transaction::eip2930::AccessList;
|
||||||
use ethers::types::{
|
use ethers::types::{
|
||||||
|
@ -18,15 +14,14 @@ use eyre::Result;
|
||||||
use serde::de::DeserializeOwned;
|
use serde::de::DeserializeOwned;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use serde_json::to_value;
|
use serde_json::to_value;
|
||||||
use wasm_bindgen::closure::Closure;
|
use wasm_bindgen::JsValue;
|
||||||
use wasm_bindgen::{JsCast, JsValue};
|
|
||||||
|
|
||||||
use crate::types::CallOpts;
|
use crate::types::CallOpts;
|
||||||
use common::errors::RpcError;
|
use common::errors::RpcError;
|
||||||
|
|
||||||
use super::ExecutionRpc;
|
use super::ExecutionRpc;
|
||||||
|
|
||||||
use js_sys::{Function, Promise};
|
use js_sys::Promise;
|
||||||
use wasm_bindgen::prelude::wasm_bindgen;
|
use wasm_bindgen::prelude::wasm_bindgen;
|
||||||
use wasm_bindgen_futures::JsFuture;
|
use wasm_bindgen_futures::JsFuture;
|
||||||
|
|
||||||
|
@ -109,11 +104,8 @@ impl JsonRpcClient for LumeProvider {
|
||||||
let json_str = serde_json::to_string(&js_params).unwrap();
|
let json_str = serde_json::to_string(&js_params).unwrap();
|
||||||
let js_value = JsValue::from_str(&json_str);
|
let js_value = JsValue::from_str(&json_str);
|
||||||
|
|
||||||
let result = unsafe {
|
let js_future = JsFuture::from(consensus_rpc_handler(js_value));
|
||||||
let js_future = JsFuture::from(consensus_rpc_handler(js_value));
|
let result = js_future.await?;
|
||||||
let result = js_future.await?;
|
|
||||||
result
|
|
||||||
};
|
|
||||||
|
|
||||||
let json = result.as_string().unwrap();
|
let json = result.as_string().unwrap();
|
||||||
let response: R =
|
let response: R =
|
||||||
|
@ -126,7 +118,7 @@ impl JsonRpcClient for LumeProvider {
|
||||||
#[async_trait(?Send)]
|
#[async_trait(?Send)]
|
||||||
impl ExecutionRpc for HttpRpc {
|
impl ExecutionRpc for HttpRpc {
|
||||||
fn new() -> Result<Self> {
|
fn new() -> Result<Self> {
|
||||||
let mut client = LumeProvider::new();
|
let client = LumeProvider::new();
|
||||||
let provider = Provider::new(client);
|
let provider = Provider::new(client);
|
||||||
|
|
||||||
Ok(HttpRpc { provider })
|
Ok(HttpRpc { provider })
|
||||||
|
|
|
@ -2,7 +2,6 @@ extern crate console_error_panic_hook;
|
||||||
extern crate web_sys;
|
extern crate web_sys;
|
||||||
|
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
use common::types::BlockTag;
|
use common::types::BlockTag;
|
||||||
use ethers::types::{Address, Filter, H256};
|
use ethers::types::{Address, Filter, H256};
|
||||||
|
|
Loading…
Reference in New Issue