From 29d8c3d7a0a9272dd1782ca3625d9f9d13e0df8d Mon Sep 17 00:00:00 2001 From: Kariy Date: Mon, 30 Oct 2023 17:21:42 +0900 Subject: [PATCH 1/2] update torii client --- .../{rust => crate}/.cargo/config.toml | 0 .../torii-client/{rust => crate}/Cargo.lock | 16 ++-- .../torii-client/{rust => crate}/Cargo.toml | 0 .../torii-client/{rust => crate}/README.md | 0 .../torii-client/{rust => crate}/build.sh | 2 +- .../{rust => crate}/rust-toolchain.toml | 0 .../torii-client/{rust => crate}/src/lib.rs | 82 +++++++++++-------- .../torii-client/{rust => crate}/src/types.rs | 15 ++++ .../torii-client/{rust => crate}/src/utils.rs | 58 +++++++------ packages/torii-client/package.json | 16 +++- 10 files changed, 119 insertions(+), 70 deletions(-) rename packages/torii-client/{rust => crate}/.cargo/config.toml (100%) rename packages/torii-client/{rust => crate}/Cargo.lock (99%) rename packages/torii-client/{rust => crate}/Cargo.toml (100%) rename packages/torii-client/{rust => crate}/README.md (100%) rename packages/torii-client/{rust => crate}/build.sh (62%) rename packages/torii-client/{rust => crate}/rust-toolchain.toml (100%) rename packages/torii-client/{rust => crate}/src/lib.rs (59%) rename packages/torii-client/{rust => crate}/src/types.rs (52%) rename packages/torii-client/{rust => crate}/src/utils.rs (79%) diff --git a/packages/torii-client/rust/.cargo/config.toml b/packages/torii-client/crate/.cargo/config.toml similarity index 100% rename from packages/torii-client/rust/.cargo/config.toml rename to packages/torii-client/crate/.cargo/config.toml diff --git a/packages/torii-client/rust/Cargo.lock b/packages/torii-client/crate/Cargo.lock similarity index 99% rename from packages/torii-client/rust/Cargo.lock rename to packages/torii-client/crate/Cargo.lock index 22c9a433..388af24c 100644 --- a/packages/torii-client/rust/Cargo.lock +++ b/packages/torii-client/crate/Cargo.lock @@ -1183,8 +1183,8 @@ dependencies = [ [[package]] name = "dojo-types" -version = "0.3.1" -source = "git+https://github.com/dojoengine/dojo?branch=main#10188401a0cf88afca30956c32e0db6e7c616b08" +version = "0.3.2" +source = "git+https://github.com/dojoengine/dojo?branch=main#544e6667138b9d6c698a65bee1bc995a11655b4b" dependencies = [ "crypto-bigint", "hex", @@ -1199,8 +1199,8 @@ dependencies = [ [[package]] name = "dojo-world" -version = "0.3.1" -source = "git+https://github.com/dojoengine/dojo?branch=main#10188401a0cf88afca30956c32e0db6e7c616b08" +version = "0.3.2" +source = "git+https://github.com/dojoengine/dojo?branch=main#544e6667138b9d6c698a65bee1bc995a11655b4b" dependencies = [ "anyhow", "async-trait", @@ -3962,8 +3962,8 @@ dependencies = [ [[package]] name = "torii-client" -version = "0.3.1" -source = "git+https://github.com/dojoengine/dojo?branch=main#10188401a0cf88afca30956c32e0db6e7c616b08" +version = "0.3.2" +source = "git+https://github.com/dojoengine/dojo?branch=main#544e6667138b9d6c698a65bee1bc995a11655b4b" dependencies = [ "async-trait", "crypto-bigint", @@ -4015,8 +4015,8 @@ dependencies = [ [[package]] name = "torii-grpc" -version = "0.3.1" -source = "git+https://github.com/dojoengine/dojo?branch=main#10188401a0cf88afca30956c32e0db6e7c616b08" +version = "0.3.2" +source = "git+https://github.com/dojoengine/dojo?branch=main#544e6667138b9d6c698a65bee1bc995a11655b4b" dependencies = [ "bytes", "dojo-types", diff --git a/packages/torii-client/rust/Cargo.toml b/packages/torii-client/crate/Cargo.toml similarity index 100% rename from packages/torii-client/rust/Cargo.toml rename to packages/torii-client/crate/Cargo.toml diff --git a/packages/torii-client/rust/README.md b/packages/torii-client/crate/README.md similarity index 100% rename from packages/torii-client/rust/README.md rename to packages/torii-client/crate/README.md diff --git a/packages/torii-client/rust/build.sh b/packages/torii-client/crate/build.sh similarity index 62% rename from packages/torii-client/rust/build.sh rename to packages/torii-client/crate/build.sh index 407f673a..60719b05 100755 --- a/packages/torii-client/rust/build.sh +++ b/packages/torii-client/crate/build.sh @@ -4,4 +4,4 @@ set -ex # This example requires to *not* create ES modules, therefore we pass the flag # `--target no-modules` -wasm-pack build --out-dir ../wasm --release --features console-error-panic +wasm-pack build --out-dir ../pkg --release --features console-error-panic diff --git a/packages/torii-client/rust/rust-toolchain.toml b/packages/torii-client/crate/rust-toolchain.toml similarity index 100% rename from packages/torii-client/rust/rust-toolchain.toml rename to packages/torii-client/crate/rust-toolchain.toml diff --git a/packages/torii-client/rust/src/lib.rs b/packages/torii-client/crate/src/lib.rs similarity index 59% rename from packages/torii-client/rust/src/lib.rs rename to packages/torii-client/crate/src/lib.rs index 593ec7d7..f33b1202 100644 --- a/packages/torii-client/rust/src/lib.rs +++ b/packages/torii-client/crate/src/lib.rs @@ -2,10 +2,11 @@ use std::str::FromStr; +use dojo_types::schema::EntityModel; use futures::StreamExt; use starknet::core::types::FieldElement; use starknet::core::utils::cairo_short_string_to_felt; -use types::ClientConfig; +use types::{ClientConfig, IEntityModel}; use wasm_bindgen::prelude::*; mod types; @@ -14,7 +15,6 @@ mod utils; use utils::parse_ty_as_json_str; type JsFieldElement = JsValue; -type JsEntityModel = JsValue; #[wasm_bindgen] extern "C" { @@ -32,9 +32,9 @@ pub struct Client { #[wasm_bindgen] impl Client { - /// Retrieves the model value of an entity. + /// Retrieves the model value of an entity. Will fetch from remote if the requested entity is not one of the entities that are being synced. #[wasm_bindgen(js_name = getModelValue)] - pub fn get_model_value( + pub async fn get_model_value( &self, model: &str, keys: Vec, @@ -46,19 +46,26 @@ impl Client { .into_iter() .map(serde_wasm_bindgen::from_value::) .collect::, _>>() - .map_err(|err| { - JsValue::from_str(format!("failed to parse entity keys: {err}").as_str()) - })?; + .map_err(|err| JsValue::from(format!("failed to parse entity keys: {err}")))?; + + match self + .inner + .entity(&EntityModel { + keys, + model: model.to_string(), + }) + .await + { + Ok(Some(ty)) => Ok(js_sys::JSON::parse(&parse_ty_as_json_str(&ty).to_string())?), + Ok(None) => Ok(JsValue::NULL), - match self.inner.entity(model, &keys) { - Some(ty) => Ok(serde_wasm_bindgen::to_value(&parse_ty_as_json_str(&ty))?), - None => Ok(JsValue::NULL), + Err(err) => Err(JsValue::from(format!("failed to get entity: {err}"))), } } /// Register new entities to be synced. #[wasm_bindgen(js_name = addEntitiesToSync)] - pub async fn add_entities_to_sync(&self, entities: Vec) -> Result<(), JsValue> { + pub async fn add_entities_to_sync(&self, entities: Vec) -> Result<(), JsValue> { log("adding entities to sync..."); #[cfg(feature = "console-error-panic")] @@ -66,20 +73,20 @@ impl Client { let entities = entities .into_iter() - .map(serde_wasm_bindgen::from_value::) + .map(|e| serde_wasm_bindgen::from_value(e.into())) .collect::, _>>()?; self.inner .add_entities_to_sync(entities) .await - .map_err(|err| JsValue::from_str(&err.to_string())) + .map_err(|err| JsValue::from(err.to_string())) } /// Remove the entities from being synced. #[wasm_bindgen(js_name = removeEntitiesToSync)] pub async fn remove_entities_to_sync( &self, - entities: Vec, + entities: Vec, ) -> Result<(), JsValue> { log("removing entities to sync..."); @@ -88,28 +95,33 @@ impl Client { let entities = entities .into_iter() - .map(serde_wasm_bindgen::from_value::) + .map(|e| serde_wasm_bindgen::from_value(e.into())) .collect::, _>>()?; self.inner .remove_entities_to_sync(entities) .await - .map_err(|err| JsValue::from_str(&err.to_string())) + .map_err(|err| JsValue::from(err.to_string())) } - /// Register a callback to be called every time the specified entity change. - #[wasm_bindgen(js_name = onEntityChange)] - pub fn on_entity_change( + /// Register a callback to be called every time the specified synced entity's value changes. + #[wasm_bindgen(js_name = onSyncEntityChange)] + pub fn on_sync_entity_change( &self, - entity: JsEntityModel, + entity: IEntityModel, callback: js_sys::Function, ) -> Result<(), JsValue> { #[cfg(feature = "console-error-panic")] console_error_panic_hook::set_once(); - let entity = serde_wasm_bindgen::from_value::(entity)?; + let entity = + serde_wasm_bindgen::from_value::(entity.into())?; let model = cairo_short_string_to_felt(&entity.model).expect("invalid model name"); - let mut rcv = self.inner.storage().add_listener(model, &entity.keys).unwrap(); + let mut rcv = self + .inner + .storage() + .add_listener(model, &entity.keys) + .unwrap(); wasm_bindgen_futures::spawn_local(async move { while rcv.next().await.is_some() { @@ -123,34 +135,38 @@ impl Client { /// Create the a client with the given configurations. #[wasm_bindgen(js_name = createClient)] +#[allow(non_snake_case)] pub async fn create_client( - initial_entities_to_sync: Vec, + initialEntitiesToSync: Vec, config: ClientConfig, ) -> Result { #[cfg(feature = "console-error-panic")] console_error_panic_hook::set_once(); - let ClientConfig { rpc_url, torii_url, world_address } = config; + let ClientConfig { + rpc_url, + torii_url, + world_address, + } = config; - let entities = initial_entities_to_sync + let entities = initialEntitiesToSync .into_iter() - .map(serde_wasm_bindgen::from_value::) + .map(|e| serde_wasm_bindgen::from_value(e.into())) .collect::, _>>()?; - let world_address = FieldElement::from_str(&world_address).map_err(|err| { - JsValue::from_str(format!("failed to parse world address: {err}").as_str()) - })?; + let world_address = FieldElement::from_str(&world_address) + .map_err(|err| JsValue::from(format!("failed to parse world address: {err}")))?; let client = torii_client::client::ClientBuilder::new() .set_entities_to_sync(entities) .build(torii_url, rpc_url, world_address) .await - .map_err(|err| JsValue::from_str(format!("failed to build client: {err}").as_str()))?; + .map_err(|err| JsValue::from(format!("failed to build client: {err}")))?; wasm_bindgen_futures::spawn_local(client.start_subscription().await.map_err(|err| { - JsValue::from_str( - format!("failed to start torii client subscription service: {err}").as_str(), - ) + JsValue::from(format!( + "failed to start torii client subscription service: {err}" + )) })?); Ok(Client { inner: client }) diff --git a/packages/torii-client/rust/src/types.rs b/packages/torii-client/crate/src/types.rs similarity index 52% rename from packages/torii-client/rust/src/types.rs rename to packages/torii-client/crate/src/types.rs index 2e38fc8c..4871113f 100644 --- a/packages/torii-client/rust/src/types.rs +++ b/packages/torii-client/crate/src/types.rs @@ -1,5 +1,20 @@ use serde::{Deserialize, Serialize}; use tsify::Tsify; +use wasm_bindgen::prelude::wasm_bindgen; + +#[wasm_bindgen(typescript_custom_section)] +pub const ENTITY_MODEL_STR: &'static str = r#" +export interface EntityModel { + model: string; + keys: string[]; +} +"#; + +#[wasm_bindgen] +extern "C" { + #[wasm_bindgen(typescript_type = "EntityModel")] + pub type IEntityModel; +} #[derive(Tsify, Serialize, Deserialize)] #[tsify(into_wasm_abi, from_wasm_abi)] diff --git a/packages/torii-client/rust/src/utils.rs b/packages/torii-client/crate/src/utils.rs similarity index 79% rename from packages/torii-client/rust/src/utils.rs rename to packages/torii-client/crate/src/utils.rs index 88d592ac..7f8fc317 100644 --- a/packages/torii-client/rust/src/utils.rs +++ b/packages/torii-client/crate/src/utils.rs @@ -2,32 +2,28 @@ use dojo_types::primitive::Primitive; use dojo_types::schema::Ty; use serde_json::Value; -pub fn parse_ty_as_json_str(ty: &Ty) -> String { - fn parse_ty_as_json_str_impl(ty: &Ty) -> Value { - match ty { - Ty::Primitive(primitive) => primitive_value_json(*primitive), +pub fn parse_ty_as_json_str(ty: &Ty) -> Value { + match ty { + Ty::Primitive(primitive) => primitive_value_json(*primitive), - Ty::Struct(struct_ty) => struct_ty - .children - .iter() - .map(|child| (child.name.to_owned(), parse_ty_as_json_str_impl(&child.ty))) - .collect::>() - .into(), + Ty::Struct(struct_ty) => struct_ty + .children + .iter() + .map(|child| (child.name.to_owned(), parse_ty_as_json_str(&child.ty))) + .collect::>() + .into(), - Ty::Enum(enum_ty) => { - if let Some(option) = enum_ty.option { - let option = &enum_ty.options[option as usize]; - Value::String(option.name.to_owned()) - } else { - Value::Null - } + Ty::Enum(enum_ty) => { + if let Some(option) = enum_ty.option { + let option = &enum_ty.options[option as usize]; + Value::String(option.name.to_owned()) + } else { + Value::Null } - - Ty::Tuple(_) => unimplemented!("tuple not supported"), } - } - parse_ty_as_json_str_impl(ty).to_string() + Ty::Tuple(_) => unimplemented!("tuple not supported"), + } } fn primitive_value_json(primitive: Primitive) -> Value { @@ -84,8 +80,14 @@ mod test { name: "PlayerKind".into(), option: Some(1), options: vec![ - EnumOption { name: "Good".into(), ty: Ty::Tuple(vec![]) }, - EnumOption { name: "Bad".into(), ty: Ty::Tuple(vec![]) }, + EnumOption { + name: "Good".into(), + ty: Ty::Tuple(vec![]), + }, + EnumOption { + name: "Bad".into(), + ty: Ty::Tuple(vec![]), + }, ], }), }, @@ -148,8 +150,14 @@ mod test { name: "PlayerKind".into(), option: Some(1), options: vec![ - EnumOption { name: "Good".into(), ty: Ty::Tuple(vec![]) }, - EnumOption { name: "Bad".into(), ty: Ty::Tuple(vec![]) }, + EnumOption { + name: "Good".into(), + ty: Ty::Tuple(vec![]), + }, + EnumOption { + name: "Bad".into(), + ty: Ty::Tuple(vec![]), + }, ], }), }, diff --git a/packages/torii-client/package.json b/packages/torii-client/package.json index 23e238fa..d77fa515 100644 --- a/packages/torii-client/package.json +++ b/packages/torii-client/package.json @@ -5,7 +5,7 @@ "main": "dist/index.js", "type": "module", "scripts": { - "build-wasm": "cd rust && ./build.sh", + "build-wasm": "cd crate && ./build.sh", "build": "npm run build-wasm && tsc" }, "exports": { @@ -18,7 +18,17 @@ "author": "", "license": "MIT", "dependencies": { - "typescript": "^5.0.3", - "torii-client-wasm": "link:dojo-packages/packages/torii-client/wasm" + "starknet": "^5.19.5", + "torii-client-wasm": "link:dojo-packages/packages/torii-client/pkg", + "typescript": "^5.0.3" + }, + "devDependencies": { + "@types/jest": "^29.5.0", + "@types/mocha": "^10.0.1", + "bun-types": "^1.0.1", + "fetch-mock": "^9.11.0", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "tsup": "^7.2.0" } } From f24dd2010c75961f0fb8cf5edd839f7a2c7a7402 Mon Sep 17 00:00:00 2001 From: Kariy Date: Mon, 30 Oct 2023 17:22:18 +0900 Subject: [PATCH 2/2] update --- bun.lockb | Bin 291775 -> 295816 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2877f7261d8165c8affc7fdb00773bc4fa8372ec..233c7ba56f86d0ec51eb2a8e519f57cace0750b7 100755 GIT binary patch delta 69548 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 ~{5S$tWWtL#P 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 Dn%UK1