From 025956fb9afeed10780ed13670b0171efcc28904 Mon Sep 17 00:00:00 2001 From: rouzwelt Date: Wed, 13 Nov 2024 02:04:26 +0000 Subject: [PATCH] update --- crates/js_api/src/gui/mod.rs | 17 ++------ crates/settings/src/deployer.rs | 21 ++-------- crates/settings/src/deployment.rs | 21 ++-------- crates/settings/src/gui.rs | 62 +++++++++-------------------- crates/settings/src/network.rs | 21 ++-------- crates/settings/src/order.rs | 29 +++----------- crates/settings/src/scenario.rs | 21 ++-------- crates/settings/src/token.rs | 21 ++-------- crates/subgraph/Cargo.toml | 6 ++- crates/subgraph/src/types/common.rs | 3 +- 10 files changed, 46 insertions(+), 176 deletions(-) diff --git a/crates/js_api/src/gui/mod.rs b/crates/js_api/src/gui/mod.rs index 76cb38d50..6a77a5bdf 100644 --- a/crates/js_api/src/gui/mod.rs +++ b/crates/js_api/src/gui/mod.rs @@ -2,39 +2,28 @@ use alloy::primitives::Address; use rain_orderbook_app_settings::gui::{ Gui, GuiDeployment, GuiFieldDefinition, ParseGuiConfigSourceError, }; -use rain_orderbook_bindings::impl_wasm_traits; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; use rain_orderbook_common::dotrain_order::{DotrainOrder, DotrainOrderError}; use serde::{Deserialize, Serialize}; -use serde_wasm_bindgen::{from_value, to_value}; use std::collections::HashMap; use thiserror::Error; use tsify::Tsify; -use wasm_bindgen::{ - convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, - }, - describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}, - prelude::*, -}; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Tsify)] -#[tsify(into_wasm_abi, from_wasm_abi)] pub struct TokenDeposit { token: String, amount: String, #[tsify(type = "string")] address: Address, } -impl_wasm_traits!(TokenDeposit); +impl_all_wasm_traits!(TokenDeposit); #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Tsify)] -#[tsify(into_wasm_abi, from_wasm_abi)] pub struct FieldValuePair { binding: String, value: String, } -impl_wasm_traits!(FieldValuePair); +impl_all_wasm_traits!(FieldValuePair); #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] #[wasm_bindgen] diff --git a/crates/settings/src/deployer.rs b/crates/settings/src/deployer.rs index c35670513..fb8b578ee 100644 --- a/crates/settings/src/deployer.rs +++ b/crates/settings/src/deployer.rs @@ -6,28 +6,13 @@ use thiserror::Error; use typeshare::typeshare; #[cfg(target_family = "wasm")] -use rain_orderbook_bindings::impl_wasm_traits; -#[cfg(target_family = "wasm")] -use serde_wasm_bindgen::{from_value, to_value}; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; #[cfg(target_family = "wasm")] use tsify::Tsify; -#[cfg(target_family = "wasm")] -use wasm_bindgen::convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, -}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::{JsValue, UnwrapThrowExt}; #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct Deployer { #[typeshare(typescript(type = "string"))] #[cfg_attr(target_family = "wasm", tsify(type = "string"))] @@ -46,7 +31,7 @@ impl Deployer { } } #[cfg(target_family = "wasm")] -impl_wasm_traits!(Deployer); +impl_all_wasm_traits!(Deployer); #[derive(Error, Debug, PartialEq)] pub enum ParseDeployerConfigSourceError { diff --git a/crates/settings/src/deployment.rs b/crates/settings/src/deployment.rs index 69b8efe0c..6537f93b5 100644 --- a/crates/settings/src/deployment.rs +++ b/crates/settings/src/deployment.rs @@ -5,29 +5,14 @@ use thiserror::Error; use typeshare::typeshare; #[cfg(target_family = "wasm")] -use rain_orderbook_bindings::impl_wasm_traits; -#[cfg(target_family = "wasm")] -use serde_wasm_bindgen::{from_value, to_value}; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; #[cfg(target_family = "wasm")] use tsify::Tsify; -#[cfg(target_family = "wasm")] -use wasm_bindgen::convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, -}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::{JsValue, UnwrapThrowExt}; #[typeshare] #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] #[serde(rename_all = "kebab-case")] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct Deployment { #[typeshare(typescript(type = "Scenario"))] pub scenario: Arc, @@ -35,7 +20,7 @@ pub struct Deployment { pub order: Arc, } #[cfg(target_family = "wasm")] -impl_wasm_traits!(Deployment); +impl_all_wasm_traits!(Deployment); #[derive(Error, Debug, PartialEq)] pub enum ParseDeploymentConfigSourceError { diff --git a/crates/settings/src/gui.rs b/crates/settings/src/gui.rs index 1730a7987..f0d8ace87 100644 --- a/crates/settings/src/gui.rs +++ b/crates/settings/src/gui.rs @@ -6,36 +6,22 @@ use thiserror::Error; use typeshare::typeshare; #[cfg(target_family = "wasm")] -use rain_orderbook_bindings::impl_wasm_traits; -#[cfg(target_family = "wasm")] -use serde_wasm_bindgen::{from_value, to_value}; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; #[cfg(target_family = "wasm")] use tsify::Tsify; -#[cfg(target_family = "wasm")] -use wasm_bindgen::convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, -}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::{JsValue, UnwrapThrowExt}; // Config source for Gui - #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] #[serde(rename_all = "kebab-case")] pub struct GuiPresetSource { #[serde(skip_serializing_if = "Option::is_none")] pub name: Option, pub value: String, } +#[cfg(target_family = "wasm")] +impl_all_wasm_traits!(GuiPresetSource); #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] @@ -167,23 +153,17 @@ pub enum ParseGuiConfigSourceError { #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct GuiPreset { name: Option, value: String, } +#[cfg(target_family = "wasm")] +impl_all_wasm_traits!(GuiPreset); #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct GuiDeposit { #[typeshare(typescript(type = "Token"))] #[cfg_attr(target_family = "wasm", tsify(type = "Erc20"))] @@ -192,14 +172,12 @@ pub struct GuiDeposit { #[cfg_attr(target_family = "wasm", tsify(type = "string[]"))] pub presets: Vec, } +#[cfg(target_family = "wasm")] +impl_all_wasm_traits!(GuiDeposit); #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct GuiDeployment { #[typeshare(typescript(type = "Deployment"))] pub deployment: Arc, @@ -209,14 +187,12 @@ pub struct GuiDeployment { pub deposits: Vec, pub fields: Vec, } +#[cfg(target_family = "wasm")] +impl_all_wasm_traits!(GuiDeployment); #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct GuiFieldDefinition { pub binding: String, pub name: String, @@ -224,20 +200,18 @@ pub struct GuiFieldDefinition { pub presets: Vec, } #[cfg(target_family = "wasm")] -impl_wasm_traits!(GuiFieldDefinition); +impl_all_wasm_traits!(GuiFieldDefinition); #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct Gui { pub name: String, pub description: String, pub deployments: Vec, } +#[cfg(target_family = "wasm")] +impl_all_wasm_traits!(Gui); #[cfg(test)] mod tests { diff --git a/crates/settings/src/network.rs b/crates/settings/src/network.rs index 6984968c7..d30ce18b3 100644 --- a/crates/settings/src/network.rs +++ b/crates/settings/src/network.rs @@ -6,28 +6,13 @@ use typeshare::typeshare; use url::{ParseError, Url}; #[cfg(target_family = "wasm")] -use rain_orderbook_bindings::impl_wasm_traits; -#[cfg(target_family = "wasm")] -use serde_wasm_bindgen::{from_value, to_value}; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; #[cfg(target_family = "wasm")] use tsify::Tsify; -#[cfg(target_family = "wasm")] -use wasm_bindgen::convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, -}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::{JsValue, UnwrapThrowExt}; #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] #[serde(rename_all = "kebab-case")] pub struct Network { pub name: String, @@ -54,7 +39,7 @@ impl Network { } } #[cfg(target_family = "wasm")] -impl_wasm_traits!(Network); +impl_all_wasm_traits!(Network); #[derive(Error, Debug, PartialEq)] pub enum ParseNetworkConfigSourceError { diff --git a/crates/settings/src/order.rs b/crates/settings/src/order.rs index b03b2198f..9c0a1cd09 100644 --- a/crates/settings/src/order.rs +++ b/crates/settings/src/order.rs @@ -6,28 +6,13 @@ use thiserror::Error; use typeshare::typeshare; #[cfg(target_family = "wasm")] -use rain_orderbook_bindings::impl_wasm_traits; -#[cfg(target_family = "wasm")] -use serde_wasm_bindgen::{from_value, to_value}; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; #[cfg(target_family = "wasm")] use tsify::Tsify; -#[cfg(target_family = "wasm")] -use wasm_bindgen::convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, -}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::{JsValue, UnwrapThrowExt}; #[typeshare] #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] #[serde(rename_all = "kebab-case")] pub struct OrderIO { #[typeshare(typescript(type = "Token"))] @@ -37,15 +22,11 @@ pub struct OrderIO { pub vault_id: Option, } #[cfg(target_family = "wasm")] -impl_wasm_traits!(OrderIO); +impl_all_wasm_traits!(OrderIO); #[typeshare] #[derive(Debug, Serialize, Deserialize, PartialEq)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] #[serde(rename_all = "kebab-case")] pub struct Order { #[typeshare(typescript(type = "OrderIO[]"))] @@ -62,7 +43,7 @@ pub struct Order { pub orderbook: Option>, } #[cfg(target_family = "wasm")] -impl_wasm_traits!(Order); +impl_all_wasm_traits!(Order); #[derive(Error, Debug, PartialEq)] pub enum ParseOrderConfigSourceError { diff --git a/crates/settings/src/scenario.rs b/crates/settings/src/scenario.rs index f5e32ae5a..25945411c 100644 --- a/crates/settings/src/scenario.rs +++ b/crates/settings/src/scenario.rs @@ -6,28 +6,13 @@ use thiserror::Error; use typeshare::typeshare; #[cfg(target_family = "wasm")] -use rain_orderbook_bindings::impl_wasm_traits; -#[cfg(target_family = "wasm")] -use serde_wasm_bindgen::{from_value, to_value}; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; #[cfg(target_family = "wasm")] use tsify::Tsify; -#[cfg(target_family = "wasm")] -use wasm_bindgen::convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, -}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::{JsValue, UnwrapThrowExt}; #[typeshare] #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] #[serde(rename_all = "kebab-case")] pub struct Scenario { pub name: String, @@ -41,7 +26,7 @@ pub struct Scenario { pub deployer: Arc, } #[cfg(target_family = "wasm")] -impl_wasm_traits!(Scenario); +impl_all_wasm_traits!(Scenario); #[derive(Error, Debug, PartialEq)] pub enum ParseScenarioConfigSourceError { diff --git a/crates/settings/src/token.rs b/crates/settings/src/token.rs index e10a2a885..134c1b27b 100644 --- a/crates/settings/src/token.rs +++ b/crates/settings/src/token.rs @@ -6,29 +6,14 @@ use thiserror::Error; use typeshare::typeshare; #[cfg(target_family = "wasm")] -use rain_orderbook_bindings::impl_wasm_traits; -#[cfg(target_family = "wasm")] -use serde_wasm_bindgen::{from_value, to_value}; +use rain_orderbook_bindings::{impl_all_wasm_traits, wasm_traits::prelude::*}; #[cfg(target_family = "wasm")] use tsify::Tsify; -#[cfg(target_family = "wasm")] -use wasm_bindgen::convert::{ - js_value_vector_from_abi, js_value_vector_into_abi, FromWasmAbi, IntoWasmAbi, - LongRefFromWasmAbi, RefFromWasmAbi, TryFromJsValue, VectorFromWasmAbi, VectorIntoWasmAbi, -}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::describe::{inform, WasmDescribe, WasmDescribeVector, VECTOR}; -#[cfg(target_family = "wasm")] -use wasm_bindgen::{JsValue, UnwrapThrowExt}; #[typeshare] #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] #[serde(rename_all = "kebab-case")] -#[cfg_attr( - target_family = "wasm", - derive(Tsify), - tsify(into_wasm_abi, from_wasm_abi) -)] +#[cfg_attr(target_family = "wasm", derive(Tsify))] pub struct Token { #[typeshare(typescript(type = "Network"))] pub network: Arc, @@ -40,7 +25,7 @@ pub struct Token { pub symbol: Option, } #[cfg(target_family = "wasm")] -impl_wasm_traits!(Token); +impl_all_wasm_traits!(Token); #[derive(Error, Debug, PartialEq)] pub enum ParseTokenConfigSourceError { diff --git a/crates/subgraph/Cargo.toml b/crates/subgraph/Cargo.toml index a05f15530..635d08ad9 100644 --- a/crates/subgraph/Cargo.toml +++ b/crates/subgraph/Cargo.toml @@ -18,15 +18,17 @@ serde_json = { workspace = true } alloy = { workspace = true, features = ["rand"] } rain_orderbook_bindings = { workspace = true } chrono = { workspace = true } -url = { workspace = true } +url = { workspace = true, features = ["serde"] } cynic-introspection = "3.7.3" futures = "0.3.17" + +[target.'cfg(target_family = "wasm")'.dependencies] js-sys = { version = "0.3.69" } wasm-bindgen = { version = "0.2.92" } serde-wasm-bindgen = { version = "0.6.5" } tsify = { version = "0.4.5", default-features = false, features = ["js", "wasm-bindgen"] } -[dev-dependencies] +[target.'cfg(not(target_family = "wasm"))'.dev-dependencies] insta = { workspace = true } tokio = { workspace = true, features = ["full"] } httpmock = "0.7.0" diff --git a/crates/subgraph/src/types/common.rs b/crates/subgraph/src/types/common.rs index fdff13807..28bc2d72a 100644 --- a/crates/subgraph/src/types/common.rs +++ b/crates/subgraph/src/types/common.rs @@ -369,9 +369,8 @@ pub struct AddOrder { } #[derive(cynic::Scalar, Debug, Clone, PartialEq)] -#[cfg_attr(target_family = "wasm", derive(Tsify))] +#[cfg_attr(target_family = "wasm", derive(Tsify), serde(rename = "SgBigInt"))] #[typeshare] -#[serde(rename = "SgBigInt")] pub struct BigInt(pub String); #[derive(cynic::Scalar, Debug, Clone, PartialEq)]