From 3612c506ee155ba8cfa014d35894f1147b88c6cc Mon Sep 17 00:00:00 2001 From: Starknet Dev Date: Fri, 29 Nov 2024 22:47:42 +0000 Subject: [PATCH 1/2] fix: apply optimistic update on spawn --- .../example-vite-react-sdk/src/useSystemCalls.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/examples/example-vite-react-sdk/src/useSystemCalls.ts b/examples/example-vite-react-sdk/src/useSystemCalls.ts index a8557a8d..80e7b551 100644 --- a/examples/example-vite-react-sdk/src/useSystemCalls.ts +++ b/examples/example-vite-react-sdk/src/useSystemCalls.ts @@ -44,6 +44,19 @@ export const useSystemCalls = () => { // Apply an optimistic update to the state // this uses immer drafts to update the state state.applyOptimisticUpdate(transactionId, (draft) => { + if (!draft.entities[entityId]) { + const newEntity = { + entityId, + models: { + dojo_starter: { + Moves: { + remaining: remainingMoves, + }, + }, + }, + }; + draft.entities[entityId] = newEntity; + } if (draft.entities[entityId]?.models?.dojo_starter?.Moves) { draft.entities[entityId].models.dojo_starter.Moves.remaining = remainingMoves; From c179cc1a5e0afa7ee7964c92b99438e503cf1578 Mon Sep 17 00:00:00 2001 From: Starknet Dev Date: Fri, 29 Nov 2024 22:57:53 +0000 Subject: [PATCH 2/2] add else if --- examples/example-vite-react-sdk/src/useSystemCalls.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/example-vite-react-sdk/src/useSystemCalls.ts b/examples/example-vite-react-sdk/src/useSystemCalls.ts index 80e7b551..e6657727 100644 --- a/examples/example-vite-react-sdk/src/useSystemCalls.ts +++ b/examples/example-vite-react-sdk/src/useSystemCalls.ts @@ -56,8 +56,7 @@ export const useSystemCalls = () => { }, }; draft.entities[entityId] = newEntity; - } - if (draft.entities[entityId]?.models?.dojo_starter?.Moves) { + } else if (draft.entities[entityId]?.models?.dojo_starter?.Moves) { draft.entities[entityId].models.dojo_starter.Moves.remaining = remainingMoves; }