From 01a62af2243aeb9882b8d69ca3231790b4ec34cc Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 13:02:31 +0200 Subject: [PATCH 01/34] update --- bun.lockb | Bin 217203 -> 231840 bytes examples/react-app/.env | 2 +- examples/react-app/bun.lockb | Bin 242878 -> 268653 bytes examples/react-app/package.json | 4 +- .../react-app/src/dojo/createSystemCalls.ts | 5 +- examples/react-app/src/dojo/manifest.json | 1092 +++++++++++++++++ examples/react-app/src/dojo/setupNetwork.ts | 11 +- packages/core/src/provider/RPCProvider.ts | 11 +- packages/react/package.json | 7 +- packages/react/tsconfig.json | 2 +- 10 files changed, 1116 insertions(+), 18 deletions(-) create mode 100644 examples/react-app/src/dojo/manifest.json diff --git a/bun.lockb b/bun.lockb index abcedd04fb81a9fcf2ba9c10098dd2567593cd86..edcc97e4705924171a6c30decb7a282018295523 100755 GIT binary patch delta 20522 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 Sd)5`&m9BCJwyC$g{J#L5wTTh{ delta 13174 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 diff --git a/examples/react-app/.env b/examples/react-app/.env index 2e2ce2a8..070a4666 100644 --- a/examples/react-app/.env +++ b/examples/react-app/.env @@ -2,6 +2,6 @@ VITE_PUBLIC_ETH_CONTRACT_ADDRESS=0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c74 VITE_PUBLIC_ACCOUNT_CLASS_HASH=0x04d07e40e93398ed3c76981e72dd1fd22557a78ce36c0515f679e27f0bb5bc5f VITE_PUBLIC_MASTER_ADDRESS=0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973 VITE_PUBLIC_MASTER_PRIVATE_KEY=0x1800000000300000180000000000030000000000003006001800006600 -VITE_PUBLIC_WORLD_ADDRESS=0x223b959926c92e10a5de78a76871fa40cefafbdce789137843df7c7b30e3e0 +VITE_PUBLIC_WORLD_ADDRESS=0x2430f23de0cd9a957e1beb7aa8ef2db2af872cc7bb3058b9be833111d5518f5 VITE_PUBLIC_NODE_URL=http://localhost:5050 VITE_PUBLIC_TORII=http://localhost:8080 \ No newline at end of file diff --git a/examples/react-app/bun.lockb b/examples/react-app/bun.lockb index 13370dad07918fccc6fc78ecd6d2413ac99f7a21..8aa05ca73f2478b5a2e2a5871dc4f88f86e32ce7 100755 GIT binary patch delta 72345 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%0D}4eO&OR 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 J<>FhL{{u=L^AP|5 delta 54647 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 Uws_T{pP`r`5<7Gv(fy$R17l+7e*gdg diff --git a/examples/react-app/package.json b/examples/react-app/package.json index 72c804de..71ac6b05 100644 --- a/examples/react-app/package.json +++ b/examples/react-app/package.json @@ -14,8 +14,8 @@ "@dojoengine/core": "link:dojo-packages/packages/core", "@dojoengine/create-burner": "link:dojo-packages/packages/create-burner", "@dojoengine/utils": "link:dojo-packages/packages/utils", - "@dojoengine/react": "^0.0.3", - "@latticexyz/recs": "^1.43.0", + "@latticexyz/react": "^2.0.0-next.8", + "@latticexyz/recs": "^2.0.0-next.8", "@latticexyz/utils": "^1.43.0", "ethers": "^5.7.2", "graphql": "^16.7.1", diff --git a/examples/react-app/src/dojo/createSystemCalls.ts b/examples/react-app/src/dojo/createSystemCalls.ts index a63022d8..01bab548 100644 --- a/examples/react-app/src/dojo/createSystemCalls.ts +++ b/examples/react-app/src/dojo/createSystemCalls.ts @@ -14,6 +14,7 @@ export function createSystemCalls( ) { const spawn = async (signer: Account) => { + const entityId = parseInt(signer.address) as EntityIndex; const positionId = uuid(); @@ -29,7 +30,7 @@ export function createSystemCalls( }); try { - const tx = await execute(signer, "spawn", []); + const tx = await execute(signer, "player_actions", 'spawn', []); console.log(tx) const receipt = await signer.waitForTransaction(tx.transaction_hash, { retryInterval: 100 }) @@ -62,7 +63,7 @@ export function createSystemCalls( }); try { - const tx = await execute(signer, "move", [direction]); + const tx = await execute(signer, "player_actions", "move", [direction]); console.log(tx) const receipt = await signer.waitForTransaction(tx.transaction_hash, { retryInterval: 100 }) diff --git a/examples/react-app/src/dojo/manifest.json b/examples/react-app/src/dojo/manifest.json new file mode 100644 index 00000000..fbe348c0 --- /dev/null +++ b/examples/react-app/src/dojo/manifest.json @@ -0,0 +1,1092 @@ +{ + "world": { + "name": "world", + "address": null, + "class_hash": "0x370195d9fa250c4844f750f68ca77adf86c7f3293cc1cbac5c65d3404e2b2af", + "abi": [ + { + "type": "impl", + "name": "World", + "interface_name": "dojo::world::IWorld" + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::>" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::IWorld", + "items": [ + { + "type": "function", + "name": "component", + "inputs": [ + { + "name": "name", + "type": "core::felt252" + } + ], + "outputs": [ + { + "type": "core::starknet::class_hash::ClassHash" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "register_component", + "inputs": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "uuid", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u32" + } + ], + "state_mutability": "external" + }, + { + "type": "function", + "name": "emit", + "inputs": [ + { + "name": "keys", + "type": "core::array::Array::" + }, + { + "name": "values", + "type": "core::array::Span::" + } + ], + "outputs": [], + "state_mutability": "view" + }, + { + "type": "function", + "name": "entity", + "inputs": [ + { + "name": "component", + "type": "core::felt252" + }, + { + "name": "keys", + "type": "core::array::Span::" + }, + { + "name": "offset", + "type": "core::integer::u8" + }, + { + "name": "length", + "type": "core::integer::u32" + }, + { + "name": "layout", + "type": "core::array::Span::" + } + ], + "outputs": [ + { + "type": "core::array::Span::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "set_entity", + "inputs": [ + { + "name": "component", + "type": "core::felt252" + }, + { + "name": "keys", + "type": "core::array::Span::" + }, + { + "name": "offset", + "type": "core::integer::u8" + }, + { + "name": "values", + "type": "core::array::Span::" + }, + { + "name": "layout", + "type": "core::array::Span::" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "entities", + "inputs": [ + { + "name": "component", + "type": "core::felt252" + }, + { + "name": "index", + "type": "core::felt252" + }, + { + "name": "length", + "type": "core::integer::u32" + }, + { + "name": "layout", + "type": "core::array::Span::" + } + ], + "outputs": [ + { + "type": "(core::array::Span::, core::array::Span::>)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "set_executor", + "inputs": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "executor", + "inputs": [], + "outputs": [ + { + "type": "core::starknet::contract_address::ContractAddress" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "delete_entity", + "inputs": [ + { + "name": "component", + "type": "core::felt252" + }, + { + "name": "keys", + "type": "core::array::Span::" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "is_owner", + "inputs": [ + { + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "target", + "type": "core::felt252" + } + ], + "outputs": [ + { + "type": "core::bool" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "grant_owner", + "inputs": [ + { + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "target", + "type": "core::felt252" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "revoke_owner", + "inputs": [ + { + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "target", + "type": "core::felt252" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "is_writer", + "inputs": [ + { + "name": "component", + "type": "core::felt252" + }, + { + "name": "system", + "type": "core::starknet::contract_address::ContractAddress" + } + ], + "outputs": [ + { + "type": "core::bool" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "grant_writer", + "inputs": [ + { + "name": "component", + "type": "core::felt252" + }, + { + "name": "system", + "type": "core::starknet::contract_address::ContractAddress" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "revoke_writer", + "inputs": [ + { + "name": "component", + "type": "core::felt252" + }, + { + "name": "system", + "type": "core::starknet::contract_address::ContractAddress" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "constructor", + "name": "constructor", + "inputs": [ + { + "name": "executor", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "event", + "name": "dojo::world::world::WorldSpawned", + "kind": "struct", + "members": [ + { + "name": "address", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + }, + { + "name": "caller", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::world::world::ComponentRegistered", + "kind": "struct", + "members": [ + { + "name": "name", + "type": "core::felt252", + "kind": "data" + }, + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::world::world::SystemRegistered", + "kind": "struct", + "members": [ + { + "name": "name", + "type": "core::felt252", + "kind": "data" + }, + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::world::world::StoreSetRecord", + "kind": "struct", + "members": [ + { + "name": "table", + "type": "core::felt252", + "kind": "data" + }, + { + "name": "keys", + "type": "core::array::Span::", + "kind": "data" + }, + { + "name": "offset", + "type": "core::integer::u8", + "kind": "data" + }, + { + "name": "values", + "type": "core::array::Span::", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::world::world::StoreDelRecord", + "kind": "struct", + "members": [ + { + "name": "table", + "type": "core::felt252", + "kind": "data" + }, + { + "name": "keys", + "type": "core::array::Span::", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::world::world::Event", + "kind": "enum", + "variants": [ + { + "name": "WorldSpawned", + "type": "dojo::world::world::WorldSpawned", + "kind": "nested" + }, + { + "name": "ComponentRegistered", + "type": "dojo::world::world::ComponentRegistered", + "kind": "nested" + }, + { + "name": "SystemRegistered", + "type": "dojo::world::world::SystemRegistered", + "kind": "nested" + }, + { + "name": "StoreSetRecord", + "type": "dojo::world::world::StoreSetRecord", + "kind": "nested" + }, + { + "name": "StoreDelRecord", + "type": "dojo::world::world::StoreDelRecord", + "kind": "nested" + } + ] + } + ] + }, + "executor": { + "name": "executor", + "address": null, + "class_hash": "0x2b35dd4816731188ed1ad16caa73bde76075c9d9cb8cbfa3e447d3ab9b1ab33", + "abi": [ + { + "type": "impl", + "name": "Executor", + "interface_name": "dojo::executor::IExecutor" + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "dojo::executor::IExecutor", + "items": [ + { + "type": "function", + "name": "call", + "inputs": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash" + }, + { + "name": "entrypoint", + "type": "core::felt252" + }, + { + "name": "calldata", + "type": "core::array::Span::" + } + ], + "outputs": [ + { + "type": "core::array::Span::" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "dojo::executor::executor::Event", + "kind": "enum", + "variants": [] + } + ] + }, + "systems": [], + "contracts": [ + { + "name": "player_actions", + "address": "0x2ea8f5fb0bbba62e32dfa87cf1019c15345bd24b0d88be549e5a3f67693cd0e", + "class_hash": "0x48465b92d0b49ae15999132b88c619b84a0ac7877f92e134a2fef77d387035e", + "abi": [ + { + "type": "impl", + "name": "PlayerActionsImpl", + "interface_name": "dojo_examples::systems::with_decorator::IPlayerActions" + }, + { + "type": "struct", + "name": "dojo::world::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "enum", + "name": "dojo_examples::components::Direction", + "variants": [ + { + "name": "None", + "type": "()" + }, + { + "name": "Left", + "type": "()" + }, + { + "name": "Right", + "type": "()" + }, + { + "name": "Up", + "type": "()" + }, + { + "name": "Down", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo_examples::systems::with_decorator::IPlayerActions", + "items": [ + { + "type": "function", + "name": "spawn", + "inputs": [ + { + "name": "world", + "type": "dojo::world::IWorldDispatcher" + } + ], + "outputs": [], + "state_mutability": "view" + }, + { + "type": "function", + "name": "move", + "inputs": [ + { + "name": "world", + "type": "dojo::world::IWorldDispatcher" + }, + { + "name": "direction", + "type": "dojo_examples::components::Direction" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "event", + "name": "dojo_examples::systems::with_decorator::player_actions::Moved", + "kind": "struct", + "members": [ + { + "name": "player", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + }, + { + "name": "direction", + "type": "dojo_examples::components::Direction", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo_examples::systems::with_decorator::player_actions::Event", + "kind": "enum", + "variants": [ + { + "name": "Moved", + "type": "dojo_examples::systems::with_decorator::player_actions::Moved", + "kind": "nested" + } + ] + } + ] + }, + { + "name": "player_actions_external", + "address": null, + "class_hash": "0x17a570b3ae75ace7bad6da4581f55356dc3325fa2b454913372f6976d8d5b40", + "abi": [ + { + "type": "impl", + "name": "PlayerActionsImpl", + "interface_name": "dojo_examples::systems::raw_contract::IPlayerActions" + }, + { + "type": "struct", + "name": "dojo::world::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "enum", + "name": "dojo_examples::components::Direction", + "variants": [ + { + "name": "None", + "type": "()" + }, + { + "name": "Left", + "type": "()" + }, + { + "name": "Right", + "type": "()" + }, + { + "name": "Up", + "type": "()" + }, + { + "name": "Down", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo_examples::systems::raw_contract::IPlayerActions", + "items": [ + { + "type": "function", + "name": "spawn", + "inputs": [ + { + "name": "world", + "type": "dojo::world::IWorldDispatcher" + } + ], + "outputs": [], + "state_mutability": "view" + }, + { + "type": "function", + "name": "move", + "inputs": [ + { + "name": "world", + "type": "dojo::world::IWorldDispatcher" + }, + { + "name": "direction", + "type": "dojo_examples::components::Direction" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "dojo_examples::systems::raw_contract::player_actions_external::Moved", + "kind": "struct", + "members": [ + { + "name": "player", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + }, + { + "name": "direction", + "type": "dojo_examples::components::Direction", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo_examples::systems::raw_contract::player_actions_external::Event", + "kind": "enum", + "variants": [ + { + "name": "Moved", + "type": "dojo_examples::systems::raw_contract::player_actions_external::Moved", + "kind": "nested" + } + ] + } + ] + } + ], + "components": [ + { + "name": "Moves", + "members": [ + { + "name": "player", + "type": "ContractAddress", + "key": true + }, + { + "name": "remaining", + "type": "u8", + "key": false + }, + { + "name": "last_direction", + "type": "Direction", + "key": false + } + ], + "class_hash": "0x3682ef3ef44d8db8c8bfe72533e2e3b17e7b80efd6550b365deed7b4b3f8597", + "abi": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "size", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u32" + } + ], + "state_mutability": "view" + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "core::array::Span::" + } + ], + "state_mutability": "view" + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::>" + } + ] + }, + { + "type": "struct", + "name": "dojo::database::schema::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::>" + } + ] + }, + { + "type": "struct", + "name": "dojo::database::schema::EnumMember", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "values", + "type": "core::array::Span::>" + } + ] + }, + { + "type": "enum", + "name": "dojo::database::schema::Ty", + "variants": [ + { + "name": "Simple", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::database::schema::Struct" + }, + { + "name": "Enum", + "type": "dojo::database::schema::EnumMember" + } + ] + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::database::schema::Ty" + } + ], + "state_mutability": "view" + }, + { + "type": "event", + "name": "dojo_examples::components::moves::Event", + "kind": "enum", + "variants": [] + } + ] + }, + { + "name": "Position", + "members": [ + { + "name": "player", + "type": "ContractAddress", + "key": true + }, + { + "name": "vec", + "type": "Vec2", + "key": false + } + ], + "class_hash": "0x69889772f44397619cd8965660e1c8e80ba5f0c917ba40df29b2ffa5b440745", + "abi": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "size", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u32" + } + ], + "state_mutability": "view" + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "core::array::Span::" + } + ], + "state_mutability": "view" + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::>" + } + ] + }, + { + "type": "struct", + "name": "dojo::database::schema::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::>" + } + ] + }, + { + "type": "struct", + "name": "dojo::database::schema::EnumMember", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "values", + "type": "core::array::Span::>" + } + ] + }, + { + "type": "enum", + "name": "dojo::database::schema::Ty", + "variants": [ + { + "name": "Simple", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::database::schema::Struct" + }, + { + "name": "Enum", + "type": "dojo::database::schema::EnumMember" + } + ] + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::database::schema::Ty" + } + ], + "state_mutability": "view" + }, + { + "type": "event", + "name": "dojo_examples::components::position::Event", + "kind": "enum", + "variants": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/react-app/src/dojo/setupNetwork.ts b/examples/react-app/src/dojo/setupNetwork.ts index d8c103df..8a5cdf96 100644 --- a/examples/react-app/src/dojo/setupNetwork.ts +++ b/examples/react-app/src/dojo/setupNetwork.ts @@ -1,12 +1,17 @@ import { defineContractComponents } from "./contractComponents"; import { world } from "./world"; import { RPCProvider, Query, } from "@dojoengine/core"; -import { Account, num } from "starknet"; +import { Account, TypedContract, num } from "starknet"; import { GraphQLClient } from 'graphql-request'; import { getSdk } from '../generated/graphql'; +import manifest from "./manifest.json"; export type SetupNetworkResult = Awaited>; +const getContractByName = (name: string) => { + return manifest.contracts.find((contract) => contract.name === name); +} + export async function setupNetwork() { // Extract environment variables for better readability. const { VITE_PUBLIC_WORLD_ADDRESS, VITE_PUBLIC_NODE_URL, VITE_PUBLIC_TORII } = import.meta.env; @@ -29,8 +34,8 @@ export async function setupNetwork() { graphSdk: createGraphSdk(), // Execute function. - execute: async (signer: Account, system: string, call_data: num.BigNumberish[]) => { - return provider.execute(signer, system, call_data); + execute: async (signer: Account, contract: string, system: string, call_data: num.BigNumberish[]) => { + return provider.execute(signer, getContractByName(contract)?.address || "", system, call_data); }, // Entity query function. diff --git a/packages/core/src/provider/RPCProvider.ts b/packages/core/src/provider/RPCProvider.ts index 6cdd1638..bf1dd10c 100644 --- a/packages/core/src/provider/RPCProvider.ts +++ b/packages/core/src/provider/RPCProvider.ts @@ -81,19 +81,20 @@ export class RPCProvider extends Provider { * Executes a function with the given parameters. * * @param {Account} account - The account to use. - * @param {string} system - The system name to execute. + * @param {string} contract - The contract to execute. + * @param {string} call - The function to call. * @param {num.BigNumberish[]} call_data - The call data for the function. * @returns {Promise} - A promise that resolves to the response of the function execution. */ - public async execute(account: Account, system: string, call_data: num.BigNumberish[]): Promise { + public async execute(account: Account, contract: string, call: string, call_data: num.BigNumberish[]): Promise { try { const nonce = await account?.getNonce() return await account?.execute( { - contractAddress: this.getWorldAddress()!, - entrypoint: WorldEntryPoints.execute, - calldata: [shortString.encodeShortString(system), call_data.length, ...call_data] + contractAddress: contract, + entrypoint: call, + calldata: call_data.length > 0 ? [this.getWorldAddress()!, call_data.length, ...call_data] : [this.getWorldAddress()!] }, undefined, { diff --git a/packages/react/package.json b/packages/react/package.json index eaffc30c..2d0a14c2 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/react", - "version": "0.0.2", + "version": "0.0.4", "description": "Dojo React", "source": "src/index.ts", "main": "dist/index.js", @@ -8,11 +8,10 @@ "build": "tsc", "test": "echo \"Error: no test specified\" && exit 1" }, - "author": "pondering democritus", + "author": "loaf", "license": "MIT", "peerDependencies": { - "react": "^17.0 || ^18.0", - "starknet": "next" + "react": "^17.0 || ^18.0" }, "devDependencies": { "@types/events": "^3.0.0", diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json index d204a86e..379e16c3 100644 --- a/packages/react/tsconfig.json +++ b/packages/react/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "jsx": "react", "moduleResolution": "bundler", - "target": "ES2020", + "target": "esnext", "module": "ESNext", "declaration": true, "outDir": "./dist", From 3800b1ebf2411745485254eff0a5f24dc365f1de Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 13:18:26 +0200 Subject: [PATCH 02/34] fix calldata length --- packages/core/src/provider/RPCProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/provider/RPCProvider.ts b/packages/core/src/provider/RPCProvider.ts index bf1dd10c..dfe10d5b 100644 --- a/packages/core/src/provider/RPCProvider.ts +++ b/packages/core/src/provider/RPCProvider.ts @@ -94,7 +94,7 @@ export class RPCProvider extends Provider { { contractAddress: contract, entrypoint: call, - calldata: call_data.length > 0 ? [this.getWorldAddress()!, call_data.length, ...call_data] : [this.getWorldAddress()!] + calldata: call_data.length > 0 ? [this.getWorldAddress()!, ...call_data] : [this.getWorldAddress()!] }, undefined, { From 8b1ed0604785d3822690032156f57120f3e33039 Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 13:20:06 +0200 Subject: [PATCH 03/34] fix calldata length --- examples/react-app/src/dojo/createSystemCalls.ts | 2 +- packages/core/src/provider/RPCProvider.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/react-app/src/dojo/createSystemCalls.ts b/examples/react-app/src/dojo/createSystemCalls.ts index 01bab548..19ea9d49 100644 --- a/examples/react-app/src/dojo/createSystemCalls.ts +++ b/examples/react-app/src/dojo/createSystemCalls.ts @@ -20,7 +20,7 @@ export function createSystemCalls( const positionId = uuid(); Position.addOverride(positionId, { entity: entityId, - value: { x: 1000, y: 1000 }, + value: { x: 10, y: 10 }, }); const movesId = uuid(); diff --git a/packages/core/src/provider/RPCProvider.ts b/packages/core/src/provider/RPCProvider.ts index dfe10d5b..5412d747 100644 --- a/packages/core/src/provider/RPCProvider.ts +++ b/packages/core/src/provider/RPCProvider.ts @@ -94,7 +94,7 @@ export class RPCProvider extends Provider { { contractAddress: contract, entrypoint: call, - calldata: call_data.length > 0 ? [this.getWorldAddress()!, ...call_data] : [this.getWorldAddress()!] + calldata: [this.getWorldAddress()!, ...call_data] }, undefined, { From c9fd41ba454d5ef2ebcba06e19f79ee864e5fd18 Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 22:13:54 +0200 Subject: [PATCH 04/34] v0.0.19 --- packages/create-burner/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index cc370a77..1d4a6d68 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.18", + "version": "0.0.19", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", @@ -25,10 +25,12 @@ "bun-types": "^1.0.1", "jest": "^29.5.0", "ts-jest": "^29.1.0", + "tsup": "^7.2.0", "typescript": "^5.0.3" }, "dependencies": { "@starknet-react/core": "^1.0.3", + "encoding": "^0.1.13", "get-starknet-core": "^3.2.0", "js-cookie": "^3.0.5", "starknet": "^5.14.1" From bae4cf5079bc4574d40e77bf573fc1157662b718 Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 22:19:19 +0200 Subject: [PATCH 05/34] add in tsup, fix builds --- bun.lockb | Bin 231840 -> 264977 bytes packages/core/package.json | 3 ++- packages/core/tsup.config.ts | 11 +++++++++++ packages/create-burner/tsup.config.ts | 11 +++++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 packages/core/tsup.config.ts create mode 100644 packages/create-burner/tsup.config.ts diff --git a/bun.lockb b/bun.lockb index edcc97e4705924171a6c30decb7a282018295523..b494f456a590a8c7b1bf73883ff309cc3f59f9ca 100755 GIT binary patch delta 48079 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 diff --git a/packages/core/package.json b/packages/core/package.json index fc64b12c..5d8efe10 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -19,9 +19,10 @@ "jest": "^29.5.0", "starknet": "^5.19.5", "ts-jest": "^29.1.0", + "tsup": "^7.2.0", "typescript": "^5.0.3" }, "bin": { "create-components": "./dist/bin/generateComponents.cjs" } -} +} \ No newline at end of file diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts new file mode 100644 index 00000000..3020dd97 --- /dev/null +++ b/packages/core/tsup.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + target: "esnext", + format: ["cjs"], + dts: false, + sourcemap: true, + clean: true, + minify: true, +}); \ No newline at end of file diff --git a/packages/create-burner/tsup.config.ts b/packages/create-burner/tsup.config.ts new file mode 100644 index 00000000..3020dd97 --- /dev/null +++ b/packages/create-burner/tsup.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + target: "esnext", + format: ["cjs"], + dts: false, + sourcemap: true, + clean: true, + minify: true, +}); \ No newline at end of file From 910e52c485beb645615586e07e38fdcb0dcbc381 Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 22:29:39 +0200 Subject: [PATCH 06/34] v0.0.20 --- packages/create-burner/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index 1d4a6d68..5b8ee08c 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.19", + "version": "0.0.20", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", From d81642c14ecbcf868a328eea39861c80ecb08d9c Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 22:30:14 +0200 Subject: [PATCH 07/34] v0.0.21 --- packages/create-burner/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index 5b8ee08c..60886be4 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.20", + "version": "0.0.21", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", From 63affd67b787ffc71b465716b2a917ffc67d8061 Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 22:39:51 +0200 Subject: [PATCH 08/34] v0.0.22 --- packages/create-burner/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index 60886be4..1060fffd 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,11 +1,11 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.21", + "version": "0.0.22", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", "scripts": { - "build": "tsc", + "build": "tsup", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Loaf", From 63a83722870d9aa14b7f532c9f99580fbff915f0 Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 22:41:51 +0200 Subject: [PATCH 09/34] v0.0.23 --- packages/create-burner/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index 1060fffd..aa2cf4f9 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.22", + "version": "0.0.23", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", From e7303ddd277527abc22af0bbc527f424e969ccdc Mon Sep 17 00:00:00 2001 From: democritus Date: Wed, 27 Sep 2023 22:45:36 +0200 Subject: [PATCH 10/34] v0.0.24 --- packages/create-burner/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index aa2cf4f9..cb274a65 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.23", + "version": "0.0.24", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", From 3066fc085c781b345e82fdd64c38c0f5e21139a9 Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 09:21:41 +0200 Subject: [PATCH 11/34] v0.0.25 --- packages/create-burner/package.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index cb274a65..cb37bec8 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,11 +1,12 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.24", + "version": "0.0.25", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", + "type": "module", "scripts": { - "build": "tsup", + "build": "tsup --dts-resolve", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Loaf", @@ -13,6 +14,9 @@ "peerDependencies": { "react": "^17.0 || ^18.0" }, + "exports": { + ".": "./dist/index.js" + }, "devDependencies": { "@babel/core": "^7.21.4", "@babel/preset-env": "^7.21.4", From b5efcfc40d1a4ab7037e661fffffee1169f08a8c Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 09:21:57 +0200 Subject: [PATCH 12/34] update burner --- packages/create-burner/.npmignore | 3 ++- packages/create-burner/tsconfig.json | 4 +++- packages/create-burner/tsup.config.ts | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/create-burner/.npmignore b/packages/create-burner/.npmignore index c6082568..078562ec 100644 --- a/packages/create-burner/.npmignore +++ b/packages/create-burner/.npmignore @@ -2,4 +2,5 @@ !dist/** !package.json -!readme.md \ No newline at end of file +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/create-burner/tsconfig.json b/packages/create-burner/tsconfig.json index 7a5d4d30..86473bc3 100644 --- a/packages/create-burner/tsconfig.json +++ b/packages/create-burner/tsconfig.json @@ -4,6 +4,8 @@ "module": "ESNext", "moduleResolution": "node", "esModuleInterop": true, + "isolatedModules": true, + "forceConsistentCasingInFileNames": true, "jsx": "react-jsx", "lib": [ "esnext", @@ -18,7 +20,7 @@ "skipLibCheck": true, "strict": true, "strictNullChecks": true, - "target": "es2021", + "target": "esnext", "types": [ "jest", "node", diff --git a/packages/create-burner/tsup.config.ts b/packages/create-burner/tsup.config.ts index 3020dd97..de62415f 100644 --- a/packages/create-burner/tsup.config.ts +++ b/packages/create-burner/tsup.config.ts @@ -3,7 +3,7 @@ import { defineConfig } from "tsup"; export default defineConfig({ entry: ["src/index.ts"], target: "esnext", - format: ["cjs"], + format: ["esm"], dts: false, sourcemap: true, clean: true, From 80b8394c7f98ed92bc51a67c747029fb05d0bd80 Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 10:31:23 +0200 Subject: [PATCH 13/34] update to core --- packages/core/package.json | 1 + packages/core/tsup.config.ts | 11 ----------- 2 files changed, 1 insertion(+), 11 deletions(-) delete mode 100644 packages/core/tsup.config.ts diff --git a/packages/core/package.json b/packages/core/package.json index 5d8efe10..2d88ac6a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -2,6 +2,7 @@ "name": "@dojoengine/core", "version": "0.0.20", "description": "Dojo engine core providers and types", + "type": "module", "scripts": { "build": "tsc", "postbuild": "cp -R bin/ dist/", diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts deleted file mode 100644 index 3020dd97..00000000 --- a/packages/core/tsup.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: ["cjs"], - dts: false, - sourcemap: true, - clean: true, - minify: true, -}); \ No newline at end of file From 14b266e6b1f1b2681e4183b6e271b373ecd466c2 Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 10:32:00 +0200 Subject: [PATCH 14/34] update core --- examples/react-app/bun.lockb | Bin 268653 -> 249148 bytes examples/react-app/package.json | 2 +- examples/react-app/src/App.tsx | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/react-app/bun.lockb b/examples/react-app/bun.lockb index 8aa05ca73f2478b5a2e2a5871dc4f88f86e32ce7..024d9db1375a330d5bb4669da0dc78a580787b2e 100755 GIT binary patch delta 50125 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 delta 63174 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 Date: Thu, 28 Sep 2023 10:34:59 +0200 Subject: [PATCH 15/34] remove react --- package.json | 1 - packages/react/.gitignore | 2 - packages/react/package.json | 36 ----------------- packages/react/src/index.ts | 3 -- packages/react/src/useComponentValue.ts | 50 ------------------------ packages/react/src/useEntityQuery.ts | 39 ------------------ packages/react/src/useObservableValue.ts | 19 --------- packages/react/src/utils/useDeepMemo.ts | 17 -------- packages/react/tsconfig.json | 20 ---------- 9 files changed, 187 deletions(-) delete mode 100644 packages/react/.gitignore delete mode 100644 packages/react/package.json delete mode 100644 packages/react/src/index.ts delete mode 100644 packages/react/src/useComponentValue.ts delete mode 100644 packages/react/src/useEntityQuery.ts delete mode 100644 packages/react/src/useObservableValue.ts delete mode 100644 packages/react/src/utils/useDeepMemo.ts delete mode 100644 packages/react/tsconfig.json diff --git a/package.json b/package.json index ea4e45f4..bebd96b5 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,6 @@ "workspaces": [ "packages/create-burner", "packages/core", - "packages/react", "packages/utils" ] } \ No newline at end of file diff --git a/packages/react/.gitignore b/packages/react/.gitignore deleted file mode 100644 index 76add878..00000000 --- a/packages/react/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -dist \ No newline at end of file diff --git a/packages/react/package.json b/packages/react/package.json deleted file mode 100644 index 2d0a14c2..00000000 --- a/packages/react/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "@dojoengine/react", - "version": "0.0.4", - "description": "Dojo React", - "source": "src/index.ts", - "main": "dist/index.js", - "scripts": { - "build": "tsc", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "loaf", - "license": "MIT", - "peerDependencies": { - "react": "^17.0 || ^18.0" - }, - "devDependencies": { - "@types/events": "^3.0.0", - "@types/jest": "^29.5.0", - "@types/react": "^18.0.33", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.3", - "@babel/core": "^7.21.4", - "@babel/preset-env": "^7.21.4", - "@latticexyz/recs": "^1.43.0", - "bun-types": "^1.0.1", - "@types/bn.js": "^5.1.1", - "@types/elliptic": "^6.4.14", - "@types/node": "^18.15.11", - "@types/react-dom": "^18.0.11", - "elliptic": "^6.5.4", - "mobx": "^6.9.0", - "rxjs": "^7.8.1", - "type-fest": "^3.11.1" - } -} \ No newline at end of file diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts deleted file mode 100644 index 3b3566e8..00000000 --- a/packages/react/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./useComponentValue"; -export * from "./useEntityQuery"; -export * from "./useObservableValue"; \ No newline at end of file diff --git a/packages/react/src/useComponentValue.ts b/packages/react/src/useComponentValue.ts deleted file mode 100644 index 90bb46fd..00000000 --- a/packages/react/src/useComponentValue.ts +++ /dev/null @@ -1,50 +0,0 @@ -// HACK IMPORT FROM https://github.com/latticexyz/mud - ty Lattice! - -import { - Component, - ComponentValue, - defineQuery, - EntityIndex, - getComponentValue, - Has, - isComponentUpdate, - Metadata, - Schema, -} from "@latticexyz/recs"; -import { useEffect, useState } from "react"; - -export function useComponentValue( - component: Component, - entity: EntityIndex | undefined, - defaultValue: ComponentValue -): ComponentValue; - -export function useComponentValue( - component: Component, - entity: EntityIndex | undefined -): ComponentValue | undefined; - -export function useComponentValue( - component: Component, - entity: EntityIndex | undefined, - defaultValue?: ComponentValue -) { - const [value, setValue] = useState(entity != null ? getComponentValue(component, entity) : undefined); - - useEffect(() => { - // component or entity changed, update state to latest value - setValue(entity != null ? getComponentValue(component, entity) : undefined); - if (entity == null) return; - - const queryResult = defineQuery([Has(component)], { runOnInit: false }); - const subscription = queryResult.update$.subscribe((update: any) => { - if (isComponentUpdate(update, component) && update.entity === entity) { - const [nextValue] = update.value; - setValue(nextValue); - } - }); - return () => subscription.unsubscribe(); - }, [component, entity]); - - return value ?? defaultValue; -} \ No newline at end of file diff --git a/packages/react/src/useEntityQuery.ts b/packages/react/src/useEntityQuery.ts deleted file mode 100644 index 0d966cb0..00000000 --- a/packages/react/src/useEntityQuery.ts +++ /dev/null @@ -1,39 +0,0 @@ -// HACK IMPORT FROM https://github.com/latticexyz/mud - ty Lattice! - -import { defineQuery, QueryFragment } from "@latticexyz/recs"; -import { useEffect, useMemo, useState } from "react"; -import { useDeepMemo } from "./utils/useDeepMemo"; -import isEqual from "fast-deep-equal"; -import { distinctUntilChanged, map } from "rxjs"; - -// This does a little more rendering than is necessary when arguments change, -// but at least it's giving correct results now. Will optimize later! - -/** - * Returns all matching entities for a given entity query, - * and triggers a re-render as new query results come in. - * - * @param fragments Query fragments to match against, executed from left to right. - * @param options.updateOnValueChange False - re-renders only on entity array changes. True (default) - also on component value changes. - * @returns Set of entities matching the query fragments. - */ -export function useEntityQuery(fragments: QueryFragment[], options?: { updateOnValueChange?: boolean }) { - const updateOnValueChange = options?.updateOnValueChange ?? true; - - const stableFragments = useDeepMemo(fragments); - const query = useMemo(() => defineQuery(stableFragments, { runOnInit: true }), [stableFragments]); - const [entities, setEntities] = useState([...query.matching]); - - useEffect(() => { - setEntities([...query.matching]); - let observable = query.update$.pipe(map(() => [...query.matching])); - if (!updateOnValueChange) { - // re-render only on entity array changes - observable = observable.pipe(distinctUntilChanged((a, b) => isEqual(a, b))); - } - const subscription = observable.subscribe((entities) => setEntities(entities)); - return () => subscription.unsubscribe(); - }, [query, updateOnValueChange]); - - return entities; -} \ No newline at end of file diff --git a/packages/react/src/useObservableValue.ts b/packages/react/src/useObservableValue.ts deleted file mode 100644 index 247d1c0e..00000000 --- a/packages/react/src/useObservableValue.ts +++ /dev/null @@ -1,19 +0,0 @@ -// HACK IMPORT FROM https://github.com/latticexyz/mud - ty Lattice! - -import { useEffect, useState } from "react"; -import { Observable } from "rxjs"; - -export function useObservableValue(observable: Observable, defaultValue: T): T; - -export function useObservableValue(observable: Observable): T | undefined; - -export function useObservableValue(observable: Observable, defaultValue?: T) { - const [value, setValue] = useState(defaultValue); - - useEffect(() => { - const subscription = observable.subscribe(setValue); - return () => subscription.unsubscribe(); - }, [observable]); - - return value; -} \ No newline at end of file diff --git a/packages/react/src/utils/useDeepMemo.ts b/packages/react/src/utils/useDeepMemo.ts deleted file mode 100644 index 4a72c9bd..00000000 --- a/packages/react/src/utils/useDeepMemo.ts +++ /dev/null @@ -1,17 +0,0 @@ -// HACK IMPORT FROM https://github.com/latticexyz/mud - ty Lattice! - -import { useEffect, useState } from "react"; -import isEqual from "fast-deep-equal"; - -export const useDeepMemo = (currentValue: T): T => { - const [stableValue, setStableValue] = useState(currentValue); - - useEffect(() => { - if (!isEqual(currentValue, stableValue)) { - setStableValue(currentValue); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [currentValue]); - - return stableValue; -}; \ No newline at end of file diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json deleted file mode 100644 index 379e16c3..00000000 --- a/packages/react/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "jsx": "react", - "moduleResolution": "bundler", - "target": "esnext", - "module": "ESNext", - "declaration": true, - "outDir": "./dist", - "strict": true, - "esModuleInterop": true - }, - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "node_modules", - "dist", - "**/*.test.ts" - ] -} \ No newline at end of file From 29d8ba4980ee733bd55536bf28b3b0cb0f3f291f Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 11:55:10 +0200 Subject: [PATCH 16/34] minor adjust to core --- packages/core/tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 45451298..c2879667 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -7,9 +7,9 @@ "sourceMap": true, "noImplicitAny": true, "noUnusedLocals": true, - "moduleResolution": "bundler", + "moduleResolution": "node", // "noUnusedParameters": true, - // "resolveJsonModule": true, + "resolveJsonModule": true, "skipLibCheck": true, "strict": true, "strictNullChecks": true, From d3b6e63a36adc1c4c2de78f632d06e570c7cb808 Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:02:18 +0200 Subject: [PATCH 17/34] v0.0.21 --- packages/core/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 2d88ac6a..0684ed4e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/core", - "version": "0.0.20", + "version": "0.0.21", "description": "Dojo engine core providers and types", "type": "module", "scripts": { @@ -26,4 +26,4 @@ "bin": { "create-components": "./dist/bin/generateComponents.cjs" } -} \ No newline at end of file +} From 54e88adb859bb58cbf2aec9f8c834c85c80255c0 Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:02:28 +0200 Subject: [PATCH 18/34] v0.0.22 --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 0684ed4e..69165a4a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/core", - "version": "0.0.21", + "version": "0.0.22", "description": "Dojo engine core providers and types", "type": "module", "scripts": { From 01028da258e15e26fd7332f7a02f0c90c5aa67cc Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:02:45 +0200 Subject: [PATCH 19/34] v0.0.23 --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 69165a4a..bbc85889 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/core", - "version": "0.0.22", + "version": "0.0.23", "description": "Dojo engine core providers and types", "type": "module", "scripts": { From 19c8170bcc5444af0a02c538f6dc2d8007f3cbb5 Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:02:57 +0200 Subject: [PATCH 20/34] v0.0.24 --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index bbc85889..7a02b6c8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/core", - "version": "0.0.23", + "version": "0.0.24", "description": "Dojo engine core providers and types", "type": "module", "scripts": { From 4bc2517ceb7498ee4a325856e52d0c526094850b Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:03:11 +0200 Subject: [PATCH 21/34] v0.0.26 --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 7a02b6c8..1760a599 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/core", - "version": "0.0.24", + "version": "0.0.26", "description": "Dojo engine core providers and types", "type": "module", "scripts": { From eb26acfe4cb804cb74c285e41874a1856f5bb20d Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:28:18 +0200 Subject: [PATCH 22/34] v0.0.27 --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 1760a599..15337cd2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/core", - "version": "0.0.26", + "version": "0.0.27", "description": "Dojo engine core providers and types", "type": "module", "scripts": { From 726623e898bafe9570d3732863bd642f0d413f1f Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:41:12 +0200 Subject: [PATCH 23/34] add ci --- .github/actions/release.yaml | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/actions/release.yaml diff --git a/.github/actions/release.yaml b/.github/actions/release.yaml new file mode 100644 index 00000000..80ed701c --- /dev/null +++ b/.github/actions/release.yaml @@ -0,0 +1,53 @@ +name: Build and NPM Release + +on: + workflow_dispatch: + +jobs: + build-and-release: + runs-on: ubuntu-latest + + strategy: + matrix: + package: ['packages/core', 'packages/create-burner', 'packages/utils'] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + run: | + cd ${{ matrix.package }} + npm ci + + - name: Bump version + run: | + cd ${{ matrix.package }} + npm version patch -m "Bump version to %s" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Build + run: | + cd ${{ matrix.package }} + npm run build + + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + directory: ${{ matrix.package }} + force: true + + - name: NPM Publish + run: | + cd ${{ matrix.package }} + npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file From f77433552be17b1770ce56abb13a0da47ba79edb Mon Sep 17 00:00:00 2001 From: democritus Date: Thu, 28 Sep 2023 12:48:54 +0200 Subject: [PATCH 24/34] update secret name --- .github/actions/release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/release.yaml b/.github/actions/release.yaml index 80ed701c..34fbcc7e 100644 --- a/.github/actions/release.yaml +++ b/.github/actions/release.yaml @@ -31,7 +31,7 @@ jobs: cd ${{ matrix.package }} npm version patch -m "Bump version to %s" env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GIT_TOKEN }} - name: Build run: | @@ -41,7 +41,7 @@ jobs: - name: Push changes uses: ad-m/github-push-action@master with: - github_token: ${{ secrets.GITHUB_TOKEN }} + github_token: ${{ secrets.GIT_TOKEN }} directory: ${{ matrix.package }} force: true From a273eb209fea91b4d368846402f73b4af315313e Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 11:00:09 +0200 Subject: [PATCH 25/34] move core to tsup and fix build --- packages/core/package.json | 16 ++++++++++++---- packages/core/src/index.ts | 2 +- packages/core/src/provider/index.ts | 2 +- packages/core/tsup.config.ts | 11 +++++++++++ 4 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 packages/core/tsup.config.ts diff --git a/packages/core/package.json b/packages/core/package.json index 15337cd2..5b63fd00 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -4,13 +4,22 @@ "description": "Dojo engine core providers and types", "type": "module", "scripts": { - "build": "tsc", + "build": "tsup", "postbuild": "cp -R bin/ dist/", "test": "jest" }, + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, "author": "Loaf", "license": "MIT", - "main": "dist/index.js", + "main": "./dist/index.js", + "dependencies": { + "starknet": "^5.19.5" + }, "devDependencies": { "@types/elliptic": "^6.4.14", "@types/jest": "^29.5.0", @@ -18,7 +27,6 @@ "bun-types": "^1.0.1", "fetch-mock": "^9.11.0", "jest": "^29.5.0", - "starknet": "^5.19.5", "ts-jest": "^29.1.0", "tsup": "^7.2.0", "typescript": "^5.0.3" @@ -26,4 +34,4 @@ "bin": { "create-components": "./dist/bin/generateComponents.cjs" } -} +} \ No newline at end of file diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index c5e46f3f..ef25e150 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,3 +1,3 @@ -export { RPCProvider } from './provider'; +export * from './provider'; export * from './utils' export * from './types'; diff --git a/packages/core/src/provider/index.ts b/packages/core/src/provider/index.ts index ad860361..aabb0666 100644 --- a/packages/core/src/provider/index.ts +++ b/packages/core/src/provider/index.ts @@ -1 +1 @@ -export { RPCProvider } from "./RPCProvider"; \ No newline at end of file +export * from "./RPCProvider"; \ No newline at end of file diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts new file mode 100644 index 00000000..6778ea9b --- /dev/null +++ b/packages/core/tsup.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + target: "esnext", + format: ["esm"], + dts: true, + sourcemap: true, + clean: true, + // minify: true, +}); \ No newline at end of file From 47ee4a8a7fb638fa05aed17be29d01438d1d18f4 Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 11:08:32 +0200 Subject: [PATCH 26/34] update utils bundler --- packages/core/tsup.config.ts | 2 +- packages/utils/package.json | 18 +++++++++++++----- packages/utils/tsup.config.ts | 11 +++++++++++ 3 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 packages/utils/tsup.config.ts diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts index 6778ea9b..5c7776f7 100644 --- a/packages/core/tsup.config.ts +++ b/packages/core/tsup.config.ts @@ -7,5 +7,5 @@ export default defineConfig({ dts: true, sourcemap: true, clean: true, - // minify: true, + minify: true, }); \ No newline at end of file diff --git a/packages/utils/package.json b/packages/utils/package.json index 246f8f00..c23e858c 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -2,26 +2,34 @@ "name": "@dojoengine/utils", "version": "0.0.2", "description": "Helpful Dojo Utils", + "type": "module", "scripts": { - "build": "tsc", + "build": "tsup", "test": "jest" }, + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, "author": "Loaf", "license": "MIT", "main": "dist/index.js", "devDependencies": { - "@latticexyz/recs": "^1.43.0", "@types/elliptic": "^6.4.14", "@types/jest": "^29.5.0", "@types/mocha": "^10.0.1", "bun-types": "^1.0.1", "fetch-mock": "^9.11.0", "jest": "^29.5.0", - "starknet": "^5.19.5", "ts-jest": "^29.1.0", "typescript": "^5.0.3" }, "dependencies": { - "micro-starknet": "^0.2.3" + "@latticexyz/recs": "^1.43.0", + "micro-starknet": "^0.2.3", + "@latticexyz/utils": "^1.43.0", + "starknet": "^5.19.5" } -} +} \ No newline at end of file diff --git a/packages/utils/tsup.config.ts b/packages/utils/tsup.config.ts new file mode 100644 index 00000000..5c7776f7 --- /dev/null +++ b/packages/utils/tsup.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + target: "esnext", + format: ["esm"], + dts: true, + sourcemap: true, + clean: true, + minify: true, +}); \ No newline at end of file From e41755df998414abf367d890dddad303c5a5c6f7 Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 11:31:37 +0200 Subject: [PATCH 27/34] improve structure of tsup --- packages/core/tsup.config.ts | 9 ++------- packages/create-burner/package.json | 7 +++++-- packages/create-burner/tsup.config.ts | 9 ++------- packages/utils/tsup.config.ts | 9 ++------- tsup.config.ts | 11 +++++++++++ 5 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 tsup.config.ts diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts index 5c7776f7..cacf8699 100644 --- a/packages/core/tsup.config.ts +++ b/packages/core/tsup.config.ts @@ -1,11 +1,6 @@ import { defineConfig } from "tsup"; +import { tsupConfig } from '../../tsup.config' export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: ["esm"], - dts: true, - sourcemap: true, - clean: true, - minify: true, + ...tsupConfig }); \ No newline at end of file diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index cb37bec8..8e70c09b 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -15,7 +15,10 @@ "react": "^17.0 || ^18.0" }, "exports": { - ".": "./dist/index.js" + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } }, "devDependencies": { "@babel/core": "^7.21.4", @@ -39,4 +42,4 @@ "js-cookie": "^3.0.5", "starknet": "^5.14.1" } -} +} \ No newline at end of file diff --git a/packages/create-burner/tsup.config.ts b/packages/create-burner/tsup.config.ts index de62415f..cacf8699 100644 --- a/packages/create-burner/tsup.config.ts +++ b/packages/create-burner/tsup.config.ts @@ -1,11 +1,6 @@ import { defineConfig } from "tsup"; +import { tsupConfig } from '../../tsup.config' export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: ["esm"], - dts: false, - sourcemap: true, - clean: true, - minify: true, + ...tsupConfig }); \ No newline at end of file diff --git a/packages/utils/tsup.config.ts b/packages/utils/tsup.config.ts index 5c7776f7..cacf8699 100644 --- a/packages/utils/tsup.config.ts +++ b/packages/utils/tsup.config.ts @@ -1,11 +1,6 @@ import { defineConfig } from "tsup"; +import { tsupConfig } from '../../tsup.config' export default defineConfig({ - entry: ["src/index.ts"], - target: "esnext", - format: ["esm"], - dts: true, - sourcemap: true, - clean: true, - minify: true, + ...tsupConfig }); \ No newline at end of file diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 00000000..e416b83c --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,11 @@ +import type { Options } from 'tsup' + +export const tsupConfig: Options = { + entry: ["src/index.ts"], + target: "esnext", + format: ["esm"], + dts: true, + sourcemap: true, + clean: true, + minify: true, +} \ No newline at end of file From 87e1bc876d44a4e6f32ce980ebc07dcddb2ddd71 Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 11:59:43 +0200 Subject: [PATCH 28/34] fix create burner --- bun.lockb | Bin 264977 -> 263545 bytes packages/create-burner/tsup.config.ts | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index b494f456a590a8c7b1bf73883ff309cc3f59f9ca..70115372f05c50ae7368567fb01cd5dc1cd8929c 100755 GIT binary patch delta 81727 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

XjfOj=yICkN-Cfd^E@DAF$FD(~ z)^762TqE&O@xuQ6+SJ-za&k1GdmAo+eq-Fw#!b$MCX`})Pjstfq$kWGG+LqXS5bEx zrv`CpnChQ;m(UD%JCSl3u>*bf450yH;YRJ; zpFbPIwK}+2r$i$II>aZ}vg1-C*J0VPYt3Z~tFu40sxZ%j2@xZtwS+75NvV+su;??U zM>YfO%Z_gHY0*eyMn8kZ7MOFeGw6g|aIUZSxrP8y2)k=-*#v%>QX)-sV`I@*(qv?_Ugo28z zR##vJ*=P(ti^aO!Bt23jBd8J0(>gUVilvq~bY+cP0MX*Z9*Y`3jCCd!yRqh}k-FW2 zT5*k8k(Ou%Yc?Ca_p#*WZ`;Bxy1QAK(a2&p+(FlAu0Pk^-3Bbf+NB2ew{4MAuv8g; zA&p##6*wr(U05odzrshVb9IvyYz)uFQpXhbbH5Txesn0itY@%-^+T7|@3Df}#M+XO zcADe#_b2uuLOuM@2ZVy*m~nc1W@tIS`gAwztY~5}HdKR2{KqyL1Fok4+hl}UJv zP#br9ZtKEa%Y(JG6Cr=pCtMs4McyW)REqhvPp7|_mBAp5%*3)bWUxGr)!m;xrPz@5 z^w;` z2Lbe-Hq%^ByD`r){7cM(giiFY#0mX^3bH=-NlV1gIAEvG0L9R(VJ0&JR$!&N+uOD- ze706xU8lwq@>?Uao{&ZiD=yhY&*1{=UpFr$r1TP$L}Wdd#++a0$TwIT@xj}j6Z!|| zf<4n%ELEMD_0keCSmvy$KJM>stIKvRJ1904yzlxhZDmBs{tJNXv zMl6$T;u9IMSC>s>5XFFV&H zx1is-SU;BRUMyBBiy0bLuw<>VS{yoeE>`D5)@rOD%W?qg$Ff9+7d#ikI#k<)2eFve z=eJHQh$GEL6ii@ZK`Y^5EVfzWS|^TV-X1DJU#vs*NVpb@jmAVj(vR6y8l~)(j&Gev zAmfnlDy$#d{BtaJC)Nh_M>9tbSu?PHY@Zjf4%IqbW{jJ4K{RsJm|#WZJ>>DJk$14T z9%$xsC2DeR{MxHw*dHsHL|UpBVQFr#j88}lovXJDk&0u3A-F+^kqMVQwBV-F~t3@RND&HbA3sS~36$qX@P3L$?y@ z?T5nSwfox6*&&45`;IHdyIE7C3GV~?`=Ij#f$*XUZt}Ef#>Bv45$4iy z)6*tBu)!T;Fmfw5-Uo~ps#MjQjNH<(cm9qsaWJmJ?c&m<`E6Z zorlTO-Q*R~$n8Km1ii3py1N9}e8!=!p>d~So#aQ+o?s&ubGLqar0C4}l|<8}3s%rB zEXE1buxQJ>TZd-4S+_+K9-8Iv25w7FaAx~&un2V~)Ya`rXg(qK3WQ!c#H!AT$IBrU zoV}G$;PC|^mKi)wyg1J05IWUoTL=YbYhMyiWdxzX_dY^Fdfyyk9WIS~%qPSfKvI5< z5EpSmHRr~ChZ71?UL9xQ&}DA&-O)(r%i_)94=t>YLDMtVU&cB)u$UZG=ef!EL?hkj z1yO>x6xYmim)sK#@0jOqLsgjXCeMn7`^pgP~Z_NZbLP!w>IM%?+!q304ZMPHLK^IELAC}uHHwI%Ht0_w{)~6a(nsD#U@l(}r;ZYM#wJuCxm>>IlLT9_%7q%|E+;J}QQMnb4 zbDoa~jPlWUgmT^Om!*f#yVXrz5KY*8t3PpgcU|JPAkFk}{%!6yPBp!q;<-ytPEWX- z5btG)bmdCN$#Sc}J|z^SdG;NSbH0CeE1@yUC*1W;-A_um>rSPqi$<-x_|VGTz92o} z213K!Dwnk`e0Mz68HC3BCl3&s)p|O6v-jBq6pCELhyM12k!jHzs?VE%~`!_>|u5+9|e&{hmGyQ~5dMw@( z_dn(?SsG2Kvpy(W>%taDuUGYPKJ=twMIHasIbMS!3_k{5^{TBCc9iURGqWe*QP{P9 z%4a{}w+dt7B|>Y(!t*z{S=UArlJHMrf;V^j*D4$Tvv zlM!i(;~xce0;C3_bnE$Nf1+c4<_$OzLK<3xKcZFm#)vd?+E1ssX|96)QBZ63Il=e| zd_w9UKZ0Mjl|h@}w69g;wq{GqZfCZ%D%2hk?`U=>v<_(%Bt!WtLU%+>)dSJ-dvsyq zorx%;Ohm`wv^sncqV#hS*%J`u+iMapItpr)>_S8}o{H!wsFmR~pB`R^-H}gLtE5!8 zM*79O)MESEUHfDOzuhl`D%KTtwxHG+yWRNVv?|XMyQGTRZIcoWefort`LD1qIGj)Ge8_xLo>N@uUx(rVl#STER2S_O*L( zQ?*zzXtvRUT4(?-(gS%>JLRC&aYF@7t9T>KmR7t`W*5}*JJ-0h>~SF)N)34)KKh8Llgz#QX$M5}<8;3qvd6buvs0hnicfoa$DLerk<#ip+^z0~xz zrk9z%0j-X?$LxF2Iu7aB&jEG`BCInmt>9y(*Bh5s@Nv^m7?)Pf{%5wdf=`-VP^*Pw z&u~Ib`J6?39<2oQfxC`^T3xlpxU_;>&6ZYho7vJz=MA$9YGu4L;4wcS@Sa7Kmg8=- zr4`&`c0sLp9~zfd@FUZEO@A!NQBce8Q+QYt^>YH6#ot;)X|>4rW*5{#Kk(w8QYt#o zvO{S36*ev{yQtaH8ob5PLP@eU{z?;2(^fz$p^By}p>;?rSeX~atASR$nu4aas}S{0t{FFbxAaF}BWTxyPU(ehoOmtW9I$g}eWwJLBm zTm@Nb`WlNTt(LqlW+#@}32B|U!T62F3u+~JlktLDbLAo9zgNe8Z^VBnUd%7CCe!0q z<0njSu$mOqYMCdE7u0Hzjd1n-({}#%=+kxKJBE%@0#(q;pc-0zT3a1xS_#*~R@x0s zH?i~5I^W!QDq8++?7Xzn)&FtoD5(97*NJwbpjLs}8JCvb9<7WzneKvC!Y7;VX8IJ< zr=bEG3!_Erzq>F0-F^A*?n|(m{CD@|zq>EGO0ehD{_kg6*Ny+~ zz7)J0qs?r=yDn-m*}AU$clYHt?%Mo!_r-Be)JWkdsPzWuzq>Em-2Q+6?u+h{X$bsn zcVFB-uRY_{P7h^-3pw7{^w62^#w|(SD*_3QSF<%>($*wzW@|uE$9qwr-nJyKMH@iG z@usx_YyrG0P~7pFMFF#4Px2Noix6SJrp_1;L*E8MSSbMQbyRF{H zbQf(;a+ki55i0BM!Rqp6lG}ZIMyR~IczdS1AL}4i1-I*)neOtplH8SVW`rua2e5kY zNOJqVl@Y4!u6QfcP28E}Chf=wS8=>uD!}TUNnWS6l&G5HUEVfyX1KcJeIQ-K@!Fq= zuIYG7q>pvH&!uZQ-pTFIwH@zzv^(jYBrl;o3DkAG9_<13-c53E+MN-u?|8S$-hw@4 zOGdbX_@#L@hd+2t!_2a~7mqr2TH_1K&DlS%_B!{X3cI)M zy7o19`}-ARlXp-1QTKmM*?$M)CXB%qu=|%9B@|cksHpxf_w724obad&+Z}5eOq$TmR+0g`}C%-T-{O&Ip3Gm2c-V36f0ffwYO|L`nJ|h z7nfdH``f#EoiSnVwp+fQJA2LRJ1)BMo?|{~dyV(bwtce)5Dd$nU?qL72oB$b9Yyaox1Jet=hHn~8V2HBN0_XZudK&7O+x($6!xw}_{SE}Xsn<8cpDsFhC$FOew zKZ=ff@RWz#y?ZKlf4yOT=clI5-@fI+3Uh{yuiv}T8QbqaaQ(W^*FAqh=O(XQ(YjET z2aj>Cdh^!h`yP7k@-w1uFBr7{sc(xGTX^e=Vfh=@HrK}q@g7Naya%%wOv^t=@~WK0 z=xgP8!_ETq{xHeg4B&tLCU0f9f5a1OTQfp!-1s#_xlfZl}*PLV50<&#B)J)aZ+h(0F(87t{~yAl5{; z>zA1em$Ue-{4ygn**)-Orq?@!*>7J)=zMp@zDzGMjG6RRMrexL=c`O_wam4cF*ovc zrZ=<@=E$!zLQ~x}m=z0SR@t8sn(pTA&-6CR+>ANXt#lyMo0Nb#Pgmb(eFUJ=Zc zZ!$u2+{xc$dRt^}$GpU?|81r>yC~+|Z!)nFldFx9bm?-tyv@D}TrcEp`uJ_AU`h zTG)>Pd)2}fA?lkHO7fCI*h{@WA;4;ZwF1|AkuYHBQGk(Qz%p-*K*f@PDunj4?0FQZV1S%#2 zsvHG)+{--*uu)*Mzy_~UNx-DafGH&bPkNgK>Ky|}DFxW%O)dr4BCuWHX|H~1!0al3 zxupS{y{!UiRRL|v0G{*alnG^qp7(Z2z2LPf%jrecIK8wir(g2+2z03q=w1%+inq8N zV86gYf!DmQ^eQ%iRH+3i6!M1Ef@~DoERqoNl50aIHHA#6 z4JjJ(o)W3o43bg@5(#3$rfe8^jJ9Av-9L6Hg}@8kxM<*AUB4Iq_5 z-Zvt>(;)pCLMn&6TN^?WTS1aiAXP$MRtjXb$XbzVA+J~?$j}oYBO5_#&^{s+(;-zF z(}c%*xs7SUjRKnmYI~KM04B8tOlbnB>unOK*9MT%6j0xr+!U}yV7ovAuYNPY>?mMv zGeC;BRUoY`piOf?V{cA#rcD!Xr&Lp~)$yoi-U6xS-X5vry>=~7Exg4jZ+|;n54ONH z)$7_4u)IBBWlKOS?|?w>4uF2CfOKy~Dj=~VASn&d#_N*?SS_$tpsg2a1sK{1FtQb( zowr7y;z@uiCjdHlxhDWN3TzhWTMF(Es)X~aJo0SGhh*K4ZQ6FJ-zx}0A0EP=5_(} z^0o@>7iiNJkm=3o%FFWZfV~2JyjCXzdY=MVdNSZFZ;wFYsetYjE7Z?hEWgzPT))^l zcwM^zhMopk*$t5G9T2E^I-p;7z(8+Bcfdx0q*DMnUY}C{lX?Kw3JmcgrvmEr1dKct zkn61x*dkEnG{A5#_cXxlGXR?fMtYS_2c-1^OgSAe+S??sTOg$e;9PHV55S@`0ow)g zy!t%>T`~c4djiILTLtzDv^fJX(VKGyV0mxAUV+J8t6qTKeE>^)0nYdK2qb0!x}OP{ z;w?TCuv*}tK+Nl!2^e}7U}Yv?s&_!3V&6~+uW#>Ax6pKNMQ^~yzQjoCLyVbTpFV&| z{QzqPW_gh;K)tg8BeMW=JiZQy_7Lba6>y2SU@BntIe>ivbG>%c0BQXJH%$Y~^F9;U zEzoN^V1c)6I$%*YAYlf;^-iAw=rRCspTI&dG!w92AZI4P^X?W{J`hm;BEVuV`yxQ^ zL4XYcS9zsp0TOcn<7crdEDd?Nkbv;irfF4+d|&umqKO_ zgX|Mo8S>iCg`^FK+%y+*XUO|pWVcAK%OH1$yz4K6EE)kxm5YPje} zX&LEtTr;E}qg}2*ujh&({Wz^6{RG#Gh3E~miS+-tT1Y=hi(HA`$hAUx6YU}W6jurl z{WPs1{S4O$>CLpoBJ{IdC8VFDCD7jP3Dlt1VruXLEwLD~Xd)zG3FIYOVhN_`-WZpv!bXi(J4yZ)z@Jzrec!Uwci50hZ4IEF12>Dsi*dFVP}FH5>Ets-47>=ip7U7t3QJ}&G%DBXY-xd7cT z>wxb6NuJby-XeTEwV93tA!u*)Q_0 zNGdIn4_UqhvM?XgD(scMn)l-UYZZ;@5!e&=oHJavppUi(y8cBL`^PfYM^{5~M&;=H z)Suwiaw*5j2mOr24hR257W>T-{G>BneqBo+vE}p0Cy({}71l3qwNU&2U-&OF7?i2q^}Kcmu!-|=w7;=kS$XQ0Eg82>iG|BU4SX2gFeUhGI^Z24;a`-P_Yhid%O z3X}hlZ2o~U8#G6%75w)9-J|vI?~>S&ZT=ClV9p+?=J&7vN22+Ia_(s8Dy`G;BXCh#B5B>$Hy!X)@JHC7wOe|&Ah=|8@a_`@vrSDgO_Uw;w! z!=?TkGFF$6Z_NMwy1&$ff2lCkKmIP{h_r&*|A=I4`Ns6~fxp)L8tGo&;76uzLv!0J zAM|&z*x#MtA54$-{|9ULi-l3EPR!;V3Hj$wB@n-#>%)JM#g0_QmTxR*hCfkb|1xI3 zWf;GUaX6;I`pfV0Y5%zMuSfic;;H|SNXC|L?3bJ7AFAxB&fT#D6GW>_}y7`3C#H!#2%7RO5JsgIg-hKiyM_L-kYqw#dK2 zVg&}sznZb-Oa1@l8vnGyu_N33qpAnr7ex zYGGpjkH-ETHTiReq5koANk^m=)c!{#W6L+D-|Rhd&Cf37h&I1&RUOIZ&yD@d&9C(% z{tFGW{T1iG!I%F3qaTm_#Tx&#(Bz;0wd4gR;H z=I=(=U|rC|q)i^^wkfo$t5^N%&}lz=amVzi;BmI;&-j1l|7oiKUp5JkA(t#3s(8GH z7GGSR>8LlL9P#fV*Oy3iGN$h&R~(r<-Qpkm zK60g{uVBzO+vxbjn38WBu$ccv<%+0(x7Sxs>-Y?ypgw(j(AXE|tS^3k*w~lG^sShs z5gq%Cu`hM{_=IoXG^RJw{f&JM^S@GCCC)~$oddim)1#09#`MMK%8$2s&KRpnA%Nm@ zuh=PPOkapDrh*)8ECHsL;`u_Sg0V!4r*BkFjv0&q`SZVy`Z;6zCUqsqZ6N1)VjvXr4POKHhOtWKTobn4ShBHWVQ(7K z*T*a4TF6_*jxkmnw!>HzV|8FVR;pSAV7>Ul~g^)*AM;u{2})YS;b7S{aMN4j4PZSXuRhUtSHQH z|C0^!z=e}&5#v9Sa0)D9teeF<6;{kxcVnl)iW@t{7@vPTC5)YFtOqQ~*lAjS)zm$a zqYUcT7{ty%N*e27tQV}5v7W}xgq1d?Uv7}EzE!u3v0lb{!^#>v(^wzXznsBLAb(C4 za!${E41w|IUznaUmJ3jD0P>8n5f*PC?0I9OU}}Xy$jin?8_R*cVr&dd-%+h!Z+2ca zINlN*0^4eAqB#$Ry>4uh#mj}gVeCAZg2RyQ#-_kj^Wn%2V^hs{gvQ@`3?0+aD)mU@ ze}r|NpJ9wU^Zu7uqnw$>MibUl)iwPhV`B(ws_K}9R`6UTYHSW#d5lFgef{x&u|b}a z^rxT_yac9wfS$AOf`|49E=)e-k#5Eo8k+#?Zp?!zlZlABKzoTrFzpNUbi@~e-H49cEy42$--Bp_afh+<3F|xEmC#)b=q5K`9e@vbjVAaqSjLjpw z2v!|k&DeaxSHfzb>l#}?_zGA}bYo+e6TV#ic`SicgD&Cuuv+N0#;zcI8LT$Cv$2JQ zb0~Bjw0=KDg}xHGlz4T~`VAE^57GC|>o^BSrJY5{epo$pEZZV3#@Gj}kIpr=gz#tP ze6BfP1^WV~-ABg=hyc3p!z9e8V=UNPXwZ0A)sBv~3 z@)oQS+B4^6gtx)81G?7O^@R0x{W@-eQF-SE?Qq1fR0;% zYMPsoSIzl$n40hwh-vAYQ01=BWbpQWcY z<{o2TS-hAQnLB_dpuab`ituf)baWB=LmA(TtbnyfA7$)5!Z*X(p!JSN@$N@%ghkO+ zjXgkk8LTb3jj=+)bw&>{_88%*urBD) z#?}+Q5Y`nv(b(gJ&x4(ejv0G`@FZ9UdX}*b8h-y4?{b4XWMFSOnZian2XhMkGtVeAFM9buVh-tffyh%aI^1NKJi zO@^FbLQ-IT(Aw9l#xEm{jcH%6vG58~ALbuu#d{TLKsXB>LMz^DNL|8bp|#0X9$U!Y zsfy7TLmNxMt%$Dq{m|OqX%KEhbj=q_HugGUUGv3`fhprR5cRK)D#o@GuEosKp}Z9D zO+?c&Tm4_n;9G?ETg2)xWxNCV##l{@w-ctRs^eIgg1e9~Euy22#e18uemiRbS~XYY z-a&>KQ%m~45%Vr^4{#8=i8;SVcq=8yK{tiT`F&)Eu~rsuH*6P7#|bb6_aJW@Yi;ZU z*huow5jEcr$=|4lucViZp@c zqB~i<&j=sy$D{pEvWTAp^^;`7&|P3f&|e^JEWuOE`Ab;Tm}ZOmb04D1wR}%A_7&j{ z7VmUpU&Asio~EDwJ3;$_PXb4vds@T;gexMWkTYPa$v4Ptn+$AbZ_(h zj>Cl>?0v<&47EFiM3Z12ds_q;OJ*eDLjRo3)8}+N`o`5bPw_SbVh5X&e=XX@=#g|AzzRlK{{Z13Dv(6~WdN6B}&_7RA=vt%m(R_=+^zKMZOR=s$PH~{#9tln{=MpfzJrbJ+(^yD?sedOS zvn|1+6wlZkm}*xNrrIjr0*hA)rVH6*8EJEdW($lo~+xxylr0qU|UrYjt#|MRN) z>Cg)Z>*^?0ju-u`=oG@9vGUm2$c3;)#*W5TQ!AgvFlAf;TP-aXyUJiifSOv6>$0Co zCF}vnRM<7flChQGG}yJ~TNzskiY+sC47Sn}yTN>`U~7O+hiQ+18FQ-gssv{MZ!+g< z*h*0B7Gu@1m7th5A_ScpyvTPZ;rQ=F)x?&sn0_-#H9i(wzGB+!5Oiws(na&{B8)pN zVr`(D#qKs%2V2f!tIWABwlbat)7DFw)Wepq*!{-pW6M`;wfP>0E#KL&H8G3W03c_< zhm1AEmb2Jeb56mQ^BmYC7OxSue8tuoYm6;lvGwNL1Y5or!ydPIv8Dhy3vMvj3|r1( zPnvUcY&l;7+i3BQ$Cj^{emzUA&;nb&V%jwm^ncG+zLyf-Z1MElzWBy`_?*Espqv%) z1#@nNE$6wg7cJfi*veS!Wn<~s@)dj4d|PA7_cGXP7OxGqe8skE|F2R<0df|6-JIKE z%XuE`4RbybTh3x{8f%9wU$GtL+a6oK^IDqprVl7JS#7J7LRt0qi}C zcoMdp#daI(j4fZW56oA7lFMNqTD-2<@)g@_>||{D#sohx=L~?HUD&4Eo`NmkD`0vbsa8D|TfSmn8#@hKzG4To{t|Xh=S9v734db|dtl31>^oyUvE?lG zJ&d6Lo6qvSlJE}}uNSs_#dPyQg*g*jzG8)71f5LH|CTs;7=?jF(Y-mN1Q!u5Zq9wM zm7rLXu`FyQD5g)$2s&r+BHzV?OIf_W*zy%CW2_&xd>3oEEoaVW1JsW?%3H*9VCu&u zunI6;VEV(9$yJ1_nXlG;Wg=GHn3is3B38rLKy3M54XX)@sc8lQ=cTZ^7EkwzY_!I2K#Z z%V2FSULLlb#o8Gghb>>R4(2-^TbtGEVI7T4fT^`_fOQg6|4#&rBjSyOPqK)UV0o~c zV4Y#=_sK97=4QgDT0HFml(E=p#NsZyBb@*ViyH0<}3xsS#Y*FUxO{@dtr0T`C4o_i(O*u zI&Arh%{AX;*z(mb`Z9}mJ+^$s<{P^KySwI};N|9gBT&xw!(5Aa6Skbi78<)5TN#Ua z=6egad>?=Vh`!_H!Y8A%~^1*IX_~~>tK(V^P}c0w$9i(^A%ffzK@yjW3b09-g@&D+hFW* z&42Z$;FIS31h)EVJ#3>z+<>jIAoi58|6$8l>>2ZY5?j8H!!}#Ijo9)Pd(PM`@;V9QzTO=B-&%UNs(jG*%pFY?_;c&EjC8C$+$ZyS3BTfSoNn(wQc|8m|0 ze9t1jhAn5Y-Nv?H%USFLbKZ(A-=|<7TD)!8@)g@_>~(DUihW|fZ(z&!Y4UeIwTRmR za(){2xv@8~;Seh7OMv%=zPPAd|xA6-{O6XEnl$)#=gV$_kV&Z=6nz+ z=Pj^C7V&#*Ig2$h_5-#u7Hej{>U@2;{1&V^j6WxYt@Pd|e1iFgVM-4cb6OiL1XO~G z7=;mZ3Y+tLgxgxY1alT^XRL_%ighsGqOh9_0XRAu)1!APm9??_RiH$d3J))g{9H+D6wIAJ~C zryX@Ed~dOMjbPgBiY+%5YYfy*v@~#q!6q<$mZRfVV|u<%V<8i{4TkA7<3(dZY^Aa0 zFpUMVJIz;*_kB!yXT$C?)&fR)y#E8Ilsd}CVGHd(~3gjHj)r;X{^KxHhp*_<;7%UP@6vlg!#Vfl(Z zZ%iLd$ye+}^VJ7a*TJ+(zEqU{*GShVQ%X?FoX;k#jKw}P zb`If2#y*E>_V<^j5sDVOsmM32VjG+Hw#UQ_Bs&(4c96{vL>O2J*5Vt&G%1QiFKW z)=Df4(}I*k_$6aSU`lT=Olyi3p`yly5Y|$y0h(xRsGk2+Kb-=M08##DcIqdw;>Ly% zRyTWBLrR0!&R= z&e*wxD;XECsRcwi7x1FO=wuy> zn5YirxbY(I&7t8&u|!5v1Sy6TM@k?`$Wcg1q!dyb>Bs=l|A^>uoGwUL<>WeMuPJjx?_&Zz=Y5vhbE zBbAY3kSa(uvY4E-~P{`o@xYw;@b8lvZAwj%o92>mOB{`Eos z>Y#sZcuUX7>>#ic(Z43>UlHCx^sff*A@3tRNaO#ffc`T;{|TTc|MjH59_;@F(K9uA zP+t$`>p^@Tym$1R{a47>h@P*}^E7%cUXQ`+v3EV@uE*Mc@c&1G^(2IZkwQpeBmpUc z6h#t|2vQ6wj_9fHB;+WhBvJ|~jg&#kBIS^ykqSsfq!O}`%r+rUA$^c6o2-Gz1&ZIKNW@FC=3WG(Ut@+h(nc})Gkp1@7W&B!gta%2T^D{>ohJF*hF z1Gy8q3%MJ)2U&&Oi`<9Yk34{^M%Ew?A{SBsU4`SC(I@8 zW!?+J!qs9IQ-0kiK3?vG)6lJu6OeSIHBt|$kLc09nn*1~AJ2V-e1>dC^jWYz=6wly z5YfXbjgb1tImGXe^hVAkuMFfg+PZ2X+Cz_1O$C(U##=9eOuAi5xJY>G%}6wbYuoH6S)YPg-k&%L^Kaa5HI!+3EzuM!_QT8Hny9T*LVrkQ zM6{dgikysS7v=Ao&^?er#2tdnCc%5q7r?at%SYP42BU`{MT>9}2_Xk5#PzUi5IqE; zXGvmfc+p4l-ym0WLZAOELas!vKrTn-BbOmL#JLo`AFbyC^sK=b$oq(%g3!|uZz0=| z=aAZjP{^SW{9r7^pfSwt+m%v@fJ&2y?xeZx?+>G3aEJKzeS0alLJxO&r zG9Q_X%tS6mW*}3M3z74XNytFtY$OZGM0z1TkW-QFNQU~qD}l~PN2D2&f;2|zA;%#N zkh(}!*xEg71FMbjFbXsV8H=nz z^a0i?L^m#`lE?X)|K}0NMt-f7Dx?ZE;CIC9`5WD&w0_Ks{y*IG`Z2;kd|q?*NERUW zOAE}u)B>?zT;cwm0%-pK$u4NYKx_Gj2HRn}TK&I=MD$$HzfX)%OC z=+T@}$mqYJKu(ic?fyG{Qbx;2^fqKMauxDFnC^JW z|5EJNFz2K7Kd6d74Lu$C`C@m9o*B`VPoD+rvtKoF2P9sYWD=^3+z-<&SDo)kCi?KA z2aFjg2eaf4-mc|QO)CW zxN)F!e}r4y*iUMIxCH)LM*sg($^Y4mEnoHj&)<6e-5LMdK#cv~%sygq`S>>$7|kSA zCjK7sccdNr#pc%zX#8(v_&YKCykcQNll%;2%s+{r^Y%?Cqzvs(rC<;^o@d7Q}usA zr-C(mg>%0&Hgrx2N!Mh*a4b>>X@E3DDkH}rRgr3l;wGU>A>wfsOT>t0^f8e>Mf5bo zFD0D9xkgB1%$=P%+6N5yOPKtjz}E6h2Z z-*`Ij4`*QV~t5hKN#Wfar4}J$#@KJ{VFCABH$gd;i%ao`>@s>f(=oyo5UK+*hOQn z*g|ZvBqnMUNwGw+Cz_~1qe+a$==Z+6JKQUB)%^a?^Z7h)W_Qk+GiT16nK?5%mlVdc z6F}Z7KzX1X9kM7Mc$Dr2lm{OMfiyms0k~g~@7y<-fyzK7zze7d zcmfpwe#EK@yk&szHBi6y=Xk2)#Rp)@FJ69t@z*_HNc@d_3({bK9~c7xeu^VwU8J>* z=Q>E6!Fm^vb_Tc);ASTj;OA~Ot{v((nUOIUX#;>}_QrcVq?M62L`uQTBQNvY0Q?Tl z7LcbKQdSTOGy-T*mT7{tF~Bl!11#4XXazI{S^&w-@gIIlX$jDrZGkX=#7@9F06#!- z<4FPGKu3Ty3MP&DT>&c81z=+;K{3+VI7u&y=j+HLUnxA7;0Fn6lmYw;3F)!B0V*0xn-0N4955c> zSf!bd1GcS8!aKDtscWs>uy?`p1msciDF7884U7O10Dgvv2k0Zi0a}VYqkxeBt(?rt zWJP1~OjEHkGA06J02g2!Kn2N5)2A5E()?6}WoW4ggEko{qP>i`9v23T2sQ5WoUpJ}?hh2rLEYbV~p!XEmNz0V{!2 zU&d)*Z`~tHW?}NZ53l>+kmY=DnMn}Fez&R~JX6^JG1Y&>mX{#rwFB6yEP#D|5x4-*XXuC- z03DCseG2FSoB&P&-vBKCBfwE|4)_6JSy^rb`=5os1u}u}fbW4bz**ot&;_6Xw)8jP zHgE^HWIS_ZTn4TH*MO_QufQ+BE#M~b6L16g86Y3u`8*f(YyC^1cL8?66W|ZvA#e}K z27U+b0}p_|fIoppz~8`QAa^&=TGC4S9CRy%BJVly44|bL*d#mPKV1A(z!CTtuQVH5 zOw-c*g^*8SoG=Olq;vdZ{Azz;gL8;1!+bs$LrNJO&dj4MMnSwm&mq|qfIO`K$gnL; zMn*WYGFnK|*(wjv7<#z_48`P}F$J_~0Lv!;te`aLZ0SURGFYCKlZW)@&y$}&KaK}a zFw)5wPD#_TAf2#0@;GDh`4fP{hx`=)KCdwHyztI2jQKK;bT&YC1!cYkdKDlW&wr3O z9;ky1K2sUl+Oc@1GF<_=-ZRGQhIe{DO`8F*%c>!NC{kN1u)jwGba1womAe33MOlv4 zDpUgnHIoVdc}mITQOK)>EFXX)s3uZhz|TMk(qO;>)CQUWV6$5 zjX)o7jQ9FLBcL9@c2I>86hkEw0V-M-L@G;xoq$C^L*%hA1vNn07U>6o0GJm9u%}i4 zw*lsnegSw7{4{Q5q%8o-*7A(}Hf%7x`*9(Em-Ae~*70!UuAmX(o@iboi<$w*0qa>-ijWXm{g*_z%g05C?$t7Qd{p8{U# zWNaBL;yyJ4`D`5zOJ&7Vk;krB13U%(0Tu&Y_IydEoCF&*zz zmJUW<$-_Lp&jK_b!Fv}VcX_^35n6~&p2hxW!HWPrmKC!#Yz4Jv-=6|#z7qfo+FRhr z&u(OyZvn1vlr3d)Ss)L6>N)bcEF@Dfh0t#3EmLZ)peNG)*4kQCL^#HL9;0{Cq()9FH*`IV$n%mw~&q_#Vw|W9u;4g<%T7nJM zx&V3J9RD=8v;vu`Y6KKON@0zVM-P7=$nA`BG}zAAG2mla>695LPlp@;a9Ge$X0X4rXp-Pr(bQjA(f8%U#DN`%=8tl|2c+PXST?3tKWH3|y`vH011E&GD_A{jPg>}GM;1eJl`Kyqo0s>e7usjuFN{g&O z-g2N9o);nIe6kSfQXqL5{<9cZVr2XZ;xE80fI;q0zztv}=(c^$$z=`lRs*bv|I+ci z8`ubJ0M-LNz_$zOR$!BnM`z!R=PeF6f!L0RZ9p18#vQ;;;8SsCiPAoKA0GDtdw_E& zHyEItZvo0UkM~TZ)Q2nXcX&Pn&{*uTi@*ioN1!&kgFblx*aL*%oxiON0*>MRE5IAi z6@hXlDc7{EizA^^|(oPa_A&j=O30eFUX z{tG+>o&b-5zkx@bYyZN-pTHl$E#PNh6z~&p1GoxY0p_7C93MM@Yk23gG#owgI`W<) zWj^UF!{@!myDU#bbDh1Z(c$aA;DMQBeu(E^0m=LT&%Xorfo$Loa2xmyxC`6^$U}j) za%`Wa>^xJBH4^@T5Gp`Hc`-gW=p4Nh@GN<#up{#L&K{=>TiR;8uL25ymLK2^d)AeT zJT@|!1;`{Bq!Ls_3bqwW;S@j@llgQx`OFIVycdw&a|qA$3CVL9@5VEJ8)JRZGHp$_ z1vJ^3m3ZdF&G*qrDL}q+4z+!k70HxiL_W)uV`nbcT57opkQLdc9C5M$Q+`5`blFuL znYKKVZrc!<$CQf$`Pp@8?0?xu>>o1FgsDiml8{k$1E&Goie$cRo~(!~3!nMvMpnjp z_!)=qs{ksJ%vO*fnK|d!3bfY>@<=}VgT+R<-2OqnDd6GCH3{HKH4wmRRaRS$Y?rK7 zDT@sgo5>UrC*w;_nI~M`v&i+O%rc6!q1;yXb*U#5qvvMI&#@v1H)U*gW7jLT?Ho9xIw*d= z0hAV>5HW0EY;=O}?si2=Hhs{$Fi63^{%E0g(p?ndwjAj5+t}tS)+i3+{87kH-!#)& zpR8=Qz2>2PC7FDGDthg(Xy%_Hf+r_P)l|b>~Iwi=VtvI+& zDN~le3uMcGy42z8nBU6vhL8YXe+n5WTsA1KqQH8kLhwj%v8o2|W%f&&`hI0{feCE< zl@dGoZohXsU#fqo87Q@NbsLEu>rp`$Ft9tyd0ne?sF2qlFj({+T`FdQ!9lObQ!|f! z<~VVQ%sa*Qjf!i2%^q68G7eotjSZ;hX#s6Ro)S5lYH?;IMQCM_F*(O#3qYNc#f2tQ>KmxP$Uf z(Bf|_#l}9hQl=FW%TZQ2SXg*oP)dnYHo4{fSIx;W1~q(3jc*&@bhrenzb{+^yHtbXbH)8Z)>(&1&?3k;#5V+6 zh|zJ;{f0!D_IF$I@LGrd6`UO!Ho#~L^7R`W6B{!)CO%=&rFoxrm~zt(WjLaO5iVgk zamMI%?!u6z%^XH+{ciE?2$NL>NmKCdUXMeb|9%US9~uRh7&&BEzmdZt;yOB&3~pWW zQh!aHW<-BOT-mdUeqBcg)pXPw6~wbIF}=7NrmS`r7mBL^=A9Tethm#jeS0Q)7I>mK z`1xvmwNhTW;vzDb`J0RQWwjEZjC2&{HE_pA5W@lVU}*WL zNjp3?xN5T`bx}%)aB#SmE1`4jdR+d(?3Cr7IXe_7A(GZ8o*2)|)+lAn{lLI>c563t zy3d1;kJ1En(9j^$BWSW6mByA3ch@KZmigeMdo5p8V#KxsF{Pay5|Kk+w=d&j36Ys! zbrpTLD~^gGaDJxhAyU^W9)`cm8r+q;CB*%;Ic;}W9+ePr|G);d*D1Bb?N>i=Q1tL& z@UpHACQR?Or|k(efwLY4W!;i`<5t~CtdY?3;Z&om(DSl!f0h(Ie}zS#l@zm?7IqbW z8=*oE*9DstcT5?NepLd?noH>uU4>=J)u0l)Zb1%QE5x_9Nt;v3D5Xk^lN(W7FQ$}m z6FqmMe|#}uIA+F{s2}iY`k?O(&EUt)-9$T7poF`L0h>@zxQV5BH;={)!3pNyWg*Em zJJzb9I8^5V!avB&WC^LcAwl>(SIUafw=qfS(}%l~R7PyQ4bE~Ugx}vtgJAB>HYMR3 zKWxSf-^xSuyMwxAxegv8ZVUK&dI<9lq`FPqm7yLY^E1pmDNu|PdHw2B`W|oZ@ex{M zxXN@;=!co*+fDkoLUyK=qPuZUSLU~%TZD&bycP0SdWfZWk;3MEFF}t@9^&?0q-a_B z-;lqntoUmy9PcQ6tQ@4*`*2lOK*h(0DP3Rpu7iRhkdk<@g7e8JAC6zHESP!DnMLny zkP%%@jM}CIpd&YJgSW4P99I;WxpGJ6f5)EgtQGL%RDd453dX#a0)O8+oO;>{pEOu` zN(JG0NGUCPrzvJ-eFc$}29;s*v^1FLh^Ovw4IUoae!@9;0OW`03s%93ddTD0Euhn> z{2MvW7+GLGdAFi?hO*`?aBzHG>AwBl%UjMb0f%AUUn>f~bTr0xG?|}(ozZ}kv&FBL z)5I(*dmbL*Ax>_$4mfimFTJV>#k($ydE2{@EE{N&eP7yZ!DEcP`^PYDD|?A>`h&$w zIG=^0_Whuxmsn0t+3Ov>M9oWh@8c!z?tq!z_Y$5vVW#7#pZ+rG`R?WaxR;7W{fyLL zWINL?D6J}qSd^uAXd_3~ky%O1yoY>r;Mtw1!`4W-2aB?@vT(i+*O!I2R2GMJDeh&T zR@VD%sC(wk8S^jTTb8C!0CxRaguscr7)P}IPLftP#=cVTEphce^pg2D=3M z$h}>kk2xj#J;)UAEyn#HUCcZY(w!l__>K8*dHHp{WbIYM79#93s}m}=E@rrvGS^$A zeh(8EQ_d?~ZK=2L%cr_xLJ2Y%y{TEzya8HpY5iKWdZaF&b(RS}9&WVs>@a-P{x$m`YQ&e6Zx=p^ig28De#2 z2$0|-(jeWu8XRwd85}v5XT)vjx-5!4r{%u2B zuMcxLL*S0#2f^u6OT2$jX{I!)CDINmoy?cv3XIIE99`S7YT5T4Wr<*uzI?fxAA~G30PEuUc1}q>OsTd%FA4tjtX8 z^7S6|4>Yx^yWpr25WW)(4E5tbX!UH@n#xIFFjn2%)jK;J059hz)v)rCQt7unChs4J zGRB#MjpYIxh`6s2Eu+Mm|!vD(h8%Q*sq;rkS!N!+f~h2#pEil7z?=Q{}`iVXQ){E7~NK^sU8c} zDqb+M!knGAH4Ect35WMh7hF+F<-^`qDiPUCTs@A;WGqqQ1eTM8X2SP`jRv`E)q^j0 z)}D3(vCo}m;u+IZ%|+NZP@ruKeI826-)l*O>1!B_8HYxQYE!@=t1|~S&^ISz_jgRG zcX%pS2S&FTa#<}!200(K6jyIRW}#O4;8cGNd3&|#R|e*ccF`!$R>FMJ$|>5NR6Hz$ zz)o+gpj_|WAv-(HPyy`QK;cT){a|*!rI&y6289tmY?80FSPntvlC5>GK0YIYk(NGfZVmlga-i33fH86M~GOE!*^v#4`GGdi`;`Nz07pUJs9Lt10-**sC!DPPH zLAS-kwCK~->$K;R!VwN@-RU6wzEuLu6*}sZ#*#%RJcbVbtgvBEuALrY+_yA?(qn-P%aFv`kg{AUO-pYE*h z*FHIO%=_Vv?`lz9c5gt=23m$jvZM@=YT$F7Gg?(8Vz^iM&|%9^((vlUE+U&TX6}ea zw&ZoX$r{#n)yGZqLKpsB-|8&aSfd6h=>?m-YG1-ld^;tin@D*M#aeU|S!a;u4yoks z%GQvEGQ#&VEG%QQ_T9whvv3PzgCMQUgO{9EOMjAOT6Pyn=ioy21KNMPi!^W;Ga#aq zcf~XZHD`Mw{LVuK`1gGWge(K!)hB=sRedY%UfiP$jAI0nMm(%>GPo&j1UI4WJGXy( z#@x@r8G_wCLN_dyTC8nUZ2l24OQTC0d{xl9W5KU?Yn(Wg(>TL_glc*O!6V)fE#^R; zWnvFqlX7#~#73pg9cevLSquv075TV%Czna*TUseUzAKhXd8cq>%qb4q+-06jU+B*~ zW`FU{1trM*q^CYJtb9LY_t%dTpIe8DAcR2pVn#R^1lE-kiOPL&IuiuzC^cJ(T;7In* zgkIst^2kp+Cz7WJx%R!rp}pDufuLLgje#Qmx`esXcBEMT=&g54__#s)v$pTtY`7Af z?l~w7lDvPvd@tVZemW@p`gGaTsA z{@bJU2zb;-2?t8veKNypcd0AZ?7yzV?)qu0y9m9Z1X=7i)y`QH*1|W43<4PW@uc3) z2|5C!oUjci==*Q|4=3o9p}RoNvaHSFi~5UUzo4D^$-H)Me&`qU5&9&KeWb?-?xM)A zm|E-)6FFDpaRxs7FNk~L3|uZEG8la0b7$B5wx+<@bLl%619_i4>%2IFJb4H8%LV$? za}K3X_YhAV(ePXbkO8;tNi$kjMx4HjgWO!l&31+%#bZ5Bc>slszOXa>+BVa61is19 zE6d7eYtybfPhI1(QK>%QTo?SIINCW5V`0pxpOaf!0CVTKe6R?HXOVkw731Vp_FfL3 zF=d%cVIkyUMDs7AqE1zPI1Gc!_!OJV0dpkiD~ooNsyUr8_FrK}>2Lqxgj8#`R8}PZ zjydK(oRV7mT1G;$C-oT5)sv>n`%sjW_!kaE?Zrmqlufhk_y6fU^o9QBaj5gZ=+)Pc z0DY;;>3_{s|No9c8~%xTFz?9G);cd7g?|1gI#b3?yQ+!HoN|mIZ$5wnPObv09{;ds z`NduQ#)|NfvTTNf^ov&?hr$WMlw9%|DRYVw)gQg-p(ojS=*g!3Z)(a?#=bLWN;i(R zWMKW8qlFx2kgb=K+zY1)IkR=-e>^eJhO$0sXeS1#PY}4sUNUATn=Pr$aublV8_hKs zauk(=Pu~_<+i!TenEn(VAsyKmp)V{RGN_fq!l>wtcZvFJqL(h?U@Vq$l`&jGky^f9 z0V%@#%AKILa>ypznM_~U|5;je(*w+&KmU6tae5IR9UIR7X2U|R1=5tpnjlj0Bm9@m ze8WAW*1<-ZSB&ugvNx2=XfC(XXLqAZU%n%NO^I!cBZ{c1y=@bx34Pn7#}of~*)~2C zzWJ_+HA)4IL1H^ky?*-EH%+>_GMKT`jWW7Z65C zs=H+%IC+5SFss0B^S$YHFl2EC$*=nfhKvEDl}3BMz19nqApHu|ggB9fvgX;~;K%UJ z`}&<8^xW}?R#v;whO2na_`YQ3U-IRiboO6sQumfqCphO^3ON@iZr8;b3@+=Hucx|; z*-q%iygy61TVC}^O8?&3J#qDcKTBQS3Kj4v3Ohp6AHKqu$K1xritsC{I?C@-O8HtM zi9{TU;474CeiqQr#pRc%y085bRl0nD-C6-^_@Et0n2-3X2L*Wh&)il%+ zZHlV3b9A=V)%H2BZ%jFb@@lA5<<%d7u(kE$nHZIxJVH3(@|ST;=jusM`hKLosl7G! z`({ngL_DybK^co(^04TLs07^qnSJa0EF?4-X>L(1<~9;K?djIY%3BntU+-w+r$&k#3l-`eloM}AvVQvCf_gFyYVl)t%C~IuL?dZ8iC(zd%d5R&d$3w5e9>sV*~hmv+}p2H zeNTn8Sa|E;9w;>8OEpftuQ*&m4*OzEqJB){vu$I=4)v$;o(?_>*75ZZn4Ksp zTi{DaMu~0~wYm~MN=&k-p60e=^wZ9r&B|9@|6MY_iW;|vBgcqC7EC5{!J!%1z21|U zsh#?}I*dRL?^i7yBmSVQ5o3gBi0bYn^H(N`&=57lye&!l((^k`h+C2yDFCKKl5O}&gHF|W27VA+l?rfpMQo={B!~(jo9;3FGVVsIj7S9hl^LS<$AB8fF2jHJ)&CBiJNuQ>XqZcNzLt- zu=&U|0W-1rd~3byj(&4{_qaY`L#?tgn`hRA>=)`V!X)4 zyE$}%F6pCw^S1B5aQq4+@thG3^UeejS09ohCx{R0vxI)3PMocenCKdc(S%ORu3eZ^ z;6|WUOk0ZjPZUKOz%VZhrd)jJHC3IYH+O1*YRljLWXC#9dCg?;lf=vhSm+u}*1KVA z*1o$H<7;|=!?<0ePSMSMtU$PE@yp;Nj`$9TxgfyL6==_^cvQv>QXDm^(o>ir9U=gR4?Hj z=SKG!tZ14 zNAW4YAKx9-%=gP9muiYZ zC~Gc07oHAIr|R8%x}5UiSJDvt<^&_aGFPNhdUtSC2glgoCzbtn!qAU34(&S8L{Q!W zrR#5Vrl}p*FOr%Cn>Nf9*_58=WhH#H3^Ey)m6WDFq8KhMDaO?#WwnopD}{GE7m+Nd zQ72BtQ}zsgSSfVjo@Q2k^Sq*@wdC1cQKU4qsWMM*YZL#G%jRWP=w#J5Y@TQg4$D|@ zu&w=rdK9SR(2QeVvvsg(9Vot_RQ##XFE@jta(W@ybY`BI$+Aztf$MfDhbG2-bo9zq z-mo#sdd=6R?(5Oy}{c*o?B~HQ=ZMj`{07Qulaz)v%U5u|Qm<^lWf=f}_%? z>rGq^iYO~bF`@mjF3E-fgPPrIz!rSFcUC9w_5}?qU z9e#{B6ml}ys#)+sA(Bwme9I`i?O8(UE-o=etYw`RiZn`ZxKR63WhsYmluzB-cFY+o zM_*6^A-!L7j~+)a;0Hj4&HVl6E)>sLc0V}i30p4X|47xx^m7hJ@J&$I6HiS(8z0|o z`Mab9o17Mjurl!7+Ka@q0HhI%L<-(56Bp@zxAkH7xmgX@+1P(0D42Ru&aS_8ApO+r zL@CSPKWmZ5VA*_&bqm%0s^vSaHhvS4!{O%*3i~}@({KF7uQ)YJQi4tG77McnER+b2 z^56)Lm^C@_>{53t$HK)T92}PY;HU%}1q| zidd9YLY9hYWii`guff|_b}y9q`~9(0+-GgMcMr}E9?Nun?9I~_lQB<=E@o^qQXdAW#sUp({#@&@FT9ns~tL2+kig6W?@3c~EEe}&xU8!GE z8q_@H!j6D8yb0o`|6Iue3YXrDuLBx>eKAz;IK=PxQwuA_QcWLrx>#ZkGg`u5Z1TF10s? zzg>&HbSK_ye~8LP$Z5d1CoY!zVi}bczBF-J?C(=vUIj4+;g`tTwD|H=_FpFgsgi!Q zX)|8TpB>bvxF6i+RWYyG=wa3PQe zd*j$vJL}bcb6{A{Vz2HxCi`1Hsg>*j(+)I<%ZgdlLemPT6V-D*ml+C_+QkP%$l3^>dz6P?s^O zcJN7uQN^BVxyqb^VsEHgK6238`We)*4|hEMBD}-eB)mJpZZ{Gp#5nhBeQ^rjOX7Xa zz#bpG)$tnRwWvrHAd^W1H`TjyfWU4t(BNGLBnd&A|o2j9`jR!>}B*a8Tj~bm=YglwtyzTq&gqT6`gJYtG4e>D!X~ne; zs##P`RVx&U9TGVxx>nTiVI!jB)0?NNsw(=nQuB%Yt<*;1w{W#;I$j^D;(2qmQF`A` z)O$+d_l8A8MfV>*$ftk2XunonA*yu*Z}wWXvS`v=O%g5Esa~RRbG4dS6r+|ESDLE@ z#HQwIC$ZrJyne7pEfT7!RLiH9mip*_QNlOjy+q^J>^^aWhQAjR>oXXCE~4L%k+E^Z zhKw5R(=R$YZe(<1pbtw4m#M0`qaA)ownOp3k7anV5p@lSi0wBhIx=Edd}K^)t(-Sa zaLb(6c*wH8`0!WvwOKkgdWcU%{OH)I_#wlGMMXo^xZ&>&is?Vv=Y36{{vw>Gs^vU# z2yC%rq9!3CVwPI5l>BKu$nw$0UkvT8RuUT?<5%M=d#YY#aw-H@&a+Q|uSGOzp;mO0 zzxD@JKEkd6BCVBLkv8`dv-+Te&h1f0iIy$U`>j8L?=)X<%gor+s+?f0s06?#A3 zCu+!$ficly%wDxh`rHTVe7E#F`_;J)!rRHQf_QHh>Ps1=7D(Uwxq3WMv~+Sj@&5qX CWFH{_ delta 82201 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 Date: Fri, 29 Sep 2023 14:14:55 +0200 Subject: [PATCH 29/34] v0.0.26 --- packages/create-burner/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index 8e70c09b..166e0342 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.25", + "version": "0.0.26", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", @@ -12,7 +12,8 @@ "author": "Loaf", "license": "MIT", "peerDependencies": { - "react": "^17.0 || ^18.0" + "react": "^18.2.0", + "starknet": "^5.19.0" }, "exports": { ".": { @@ -39,7 +40,6 @@ "@starknet-react/core": "^1.0.3", "encoding": "^0.1.13", "get-starknet-core": "^3.2.0", - "js-cookie": "^3.0.5", - "starknet": "^5.14.1" + "js-cookie": "^3.0.5" } -} \ No newline at end of file +} From 904e263bb962486efff7940280f5626be9bfea6b Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 14:15:03 +0200 Subject: [PATCH 30/34] v0.0.27 --- packages/create-burner/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index 166e0342..5c6b896c 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.26", + "version": "0.0.27", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", From 91176b2cf84e4d3fccdf7cd53fc3970050301432 Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 14:15:20 +0200 Subject: [PATCH 31/34] v0.0.28 --- packages/create-burner/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-burner/package.json b/packages/create-burner/package.json index 5c6b896c..1a9408ec 100644 --- a/packages/create-burner/package.json +++ b/packages/create-burner/package.json @@ -1,6 +1,6 @@ { "name": "@dojoengine/create-burner", - "version": "0.0.27", + "version": "0.0.28", "description": "Useful hooks and functions to create a Starknet burner wallet", "source": "src/index.ts", "main": "dist/index.js", From 2aa6a36dfa1b384cca9e740b7e1a3f100ed9a318 Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 14:29:01 +0200 Subject: [PATCH 32/34] burner --- bun.lockb | Bin 263545 -> 263545 bytes packages/create-burner/tsup.config.ts | 1 + readme.md | 3 +++ 3 files changed, 4 insertions(+) diff --git a/bun.lockb b/bun.lockb index 70115372f05c50ae7368567fb01cd5dc1cd8929c..950abfd380ec8042bfafd457a379f2d5a01a3fc6 100755 GIT binary patch delta 847 zcmey_CGfLLV8aC-$DEO762)m?8vXqnF!?tY%b)#AQBp&!psQP3?ban z_#RNXNFdDzG=t$me;+Rs0|U?yFo=ZmfpQQ4=5L;+B9z2=4yecqsE2v-Mon{04xppG zz`T!o=8Qp;HQVhurvk-nK&DRKXkyO!7RYk|@|Y%XG&5(^ZGPFl{bf62yih&JLI=$^ zc_4?1vO(;jqgWViEZ#0Vn^AqHs4EM^L$86p19^}ch~2hFnlL>!)C9@70kH=Vdjhc+ z5PJi$4-f|daWD{v0CDK{)HJ4Q!|8XXGx==SnZfj@lr_%KLeFUWMjK{fb_2#ZQ$0h= z>5S&g!qXl2n7J4OrhD@-8#5+OujgadRxSj_6DYY=0clXOk`h%FY*Y?DqrnI=#6Zv3 zxNZ7bK4wYAY15zcG0$dPFuj?d*;pEuI>VkkSmUvAew7kqoUxvfo&f{H(difYnKiiu z!1e-7VCbGMFTgBm3QM;?d6l+`IxP6W#CQ=H<)EaQ3rxA9Kw5YGD#bvX4tplXI1@c1 zOFcuQrs=r?K&Nh*zEFT!o2k2M`#AyT4P1;>+v}y7SI*vUww>9Ui7(F3T+cwErbYqm L;O&JwnK^s_%^|83 delta 825 zcmey_CGfLLV8aC-$IBHA44e!M4TpfVAdpVYOU_Tp%uAnH$-uw`X|bpOxA3-=UfaFvjLepd83Ir=Wig-0mx&TywS{@(YpC%`}UXZjPXMCAPXH{ z#%F^ZD#iw}hmK-lw6S=*>}*E$nW8R0&w;>epzlB)WCmi_?U5!-j}19Na;`w^KHV{m zNtibf$P5DFU?2|Jo|?u~Z8-hObS97G8Z(&6I0Asd4T_@aUVO|_jB(Rb`IwCv^QX_` zW7g)Z2g-p`RLAtQe9V&4@D#Co*(Hhci#i&NafTLp26~2uOQtjOGtXvRH+?QYQ1_wf z7x|eb881(N&CjfB#)s%L1TXUI@ol30|Tms+B?)sIK`QyjMdSO#bU!_4XO0?d-8 zuoU`}S81!L!-5Y?jQ4?&3rd95z%(ifq;=P?QVg`|uxDb7Gto1$)H5`iFg;fQZ0AA& xW^JZ`itXnFm^W}Sc5JVgW?ng)FV4_h&p@H3Mgi>9?Hb#et(mqL?qufh0RZ(-vA6&L diff --git a/packages/create-burner/tsup.config.ts b/packages/create-burner/tsup.config.ts index 562e1df5..5b08d62c 100644 --- a/packages/create-burner/tsup.config.ts +++ b/packages/create-burner/tsup.config.ts @@ -4,4 +4,5 @@ import { tsupConfig } from '../../tsup.config' export default defineConfig({ ...tsupConfig, minify: false, + splitting: false }); \ No newline at end of file diff --git a/readme.md b/readme.md index 10c929b8..4e85686c 100644 --- a/readme.md +++ b/readme.md @@ -2,6 +2,9 @@ Monorepo for the [dojo engine](https://www.dojoengine.org/en/) npm packages. +- [core](./packages/core) +- [burner](./packages/create-burner) +- [utils](./packages/utils) ### Enviroment setup From 02d586dc21171929623c9ddd0455597fae0c4aee Mon Sep 17 00:00:00 2001 From: democritus Date: Fri, 29 Sep 2023 15:25:18 +0200 Subject: [PATCH 33/34] update recs --- examples/react-app/bun.lockb | Bin 249148 -> 265649 bytes examples/react-app/package.json | 6 +++--- packages/utils/package.json | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/react-app/bun.lockb b/examples/react-app/bun.lockb index 024d9db1375a330d5bb4669da0dc78a580787b2e..129aba77cf4c54f6109fd6ee604ed361b4b7df19 100755 GIT binary patch delta 65139 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 delta 52515 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 gw#TqaW4Dy{%@U+CJ4~=@S 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 Date: Fri, 29 Sep 2023 15:29:19 +0200 Subject: [PATCH 34/34] bin --- packages/core/.npmignore | 3 ++- packages/core/package.json | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/core/.npmignore b/packages/core/.npmignore index e30ed30a..9e332b0a 100644 --- a/packages/core/.npmignore +++ b/packages/core/.npmignore @@ -3,4 +3,5 @@ !dist/** !package.json !readme.md -!changelog.md \ No newline at end of file +!changelog.md +!bin \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index d43b1808..fe502bdd 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -4,8 +4,8 @@ "description": "Dojo engine core providers and types", "type": "module", "scripts": { - "build": "tsc", - "postbuild": "cp -R bin dist/ && chmod a+x dist/bin/*", + "build": "tsup", + "postbuild": "cp -R bin/ dist/", "test": "jest" }, "exports": { @@ -32,6 +32,6 @@ "typescript": "^5.0.3" }, "bin": { - "create-components": "./dist/bin/generateComponents.cjs" + "create-components": "./bin/generateComponents.cjs" } } \ No newline at end of file