Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
408 commits
Select commit Hold shift + click to select a range
f332925
chore: post_migrate review
rsodre Nov 13, 2025
b3c2c3b
Merge branch 'FE-Improvements-Fixes-v0.2.0' into lore_v0_2_client
rsodre Nov 13, 2025
393a412
fix: avoid players to edit others trails
rsodre Nov 13, 2025
54d4e7e
chore: improve-update help data
Dkrenon Nov 14, 2025
a054dc2
chore: update descriptions of policies methods
Dkrenon Nov 14, 2025
6f53d92
fix: fixed Exit trail id check
rsodre Nov 14, 2025
78ceeaa
chore: removed contracts from Scarb workspace
rsodre Nov 14, 2025
ef29597
chore: base starknet actions token
rsodre Nov 14, 2025
8b652d2
chore: base lore actions token
rsodre Nov 14, 2025
59437bc
chore: created base messaging methods
rsodre Nov 14, 2025
a5cb339
wip: allowing unfocus of terminal when in editor window
Dkrenon Nov 17, 2025
1d4ed8c
test: testing fix to scrolling
Dkrenon Nov 17, 2025
8e77c91
test: testing fix to scrolling 2
Dkrenon Nov 17, 2025
8cfb95f
chore: allow continue use of terminal after clear
Dkrenon Nov 17, 2025
a409f33
feat: FE improvements and fixes for v0.2.0 (#300)
Dkrenon Nov 19, 2025
f346b40
Merge branch 'staging' into FE-Improvements-Fixes-v0.2.0
Dkrenon Nov 26, 2025
6732636
wip: add qr code to editor
Dkrenon Nov 26, 2025
3ca4962
wip: add qr code to editor
Dkrenon Nov 26, 2025
dfb16ec
chore: added QR code to Editor header
Dkrenon Nov 26, 2025
39bddfd
chore: added title to qr code
Dkrenon Nov 26, 2025
1994421
fix: link to QR code
Dkrenon Nov 26, 2025
b01169e
chore: changed QR title text
Dkrenon Nov 26, 2025
85f480a
wip: add trailer to terminal if there is no input
Dkrenon Nov 27, 2025
37e6c26
Add ORugTrailer.mov
Dkrenon Nov 27, 2025
0a83b84
wip: adding trailer when idle
Dkrenon Nov 27, 2025
3331d14
wip: adding trailer when idle 2
Dkrenon Nov 27, 2025
1b188f6
witp: adding trailer when idle 3
Dkrenon Nov 27, 2025
dd94c5a
wip: adding trailer when idle 4
Dkrenon Nov 27, 2025
4368177
wip: adding trailer when idle 5
Dkrenon Nov 27, 2025
52ef9ff
wip: playing trailer when in idle 6
Dkrenon Nov 27, 2025
683a4b4
wip: playing trailer when in idle 7
Dkrenon Nov 27, 2025
a4fc280
wip: playing trailer when in idle 8
Dkrenon Nov 27, 2025
2fe98b2
wip: testing idle state
Dkrenon Nov 27, 2025
1341d45
wip: playTrailer via command
Dkrenon Nov 27, 2025
fb6cd7e
wip: play trailer via command 2
Dkrenon Nov 27, 2025
9ed1329
adjust command for trailer
Dkrenon Nov 27, 2025
f74cc79
wip: adjust command for playing the trailer
Dkrenon Nov 27, 2025
c6e1619
adjust command for trailer 2
Dkrenon Nov 27, 2025
ffde2b2
wip: adjusting command for trailer
Dkrenon Nov 27, 2025
b02009d
wip: testing play trailer command
Dkrenon Nov 27, 2025
9a00c59
wip: testing video when idle
Dkrenon Nov 27, 2025
cca203a
wip: testing trailer idle state
Dkrenon Nov 27, 2025
4b9678c
chore: trailer now unmuted, not inside terminal, removed .mov version…
Dkrenon Nov 27, 2025
817f90b
chore: change rendering position of trailer
Dkrenon Nov 27, 2025
9aa2dfd
feat: QR Code and Trailer (#319)
Dkrenon Nov 27, 2025
8396662
Merge branch 'staging' into FE-Improvements-Fixes-v0.2.0
Dkrenon Nov 28, 2025
e233bae
wip: add trailer to editor page
Dkrenon Nov 28, 2025
03cf0f6
wip: add trailer to editor 2
Dkrenon Nov 28, 2025
fd82911
wip: add trailer to editor and have own timer
Dkrenon Nov 28, 2025
ca8fb31
wip: add trailer to editor 3
Dkrenon Nov 28, 2025
3396ee7
chore: adjusted terminal trailer location
Dkrenon Nov 28, 2025
b7c82c7
chore: adjusted trailer positions
Dkrenon Nov 28, 2025
187abc3
chore: adjusted trailer position in editor
Dkrenon Nov 28, 2025
e0cf712
test: trailer position editor
Dkrenon Nov 28, 2025
8f50436
chore: fix display of editor footer for trailer
Dkrenon Nov 28, 2025
a778253
chore: add trailer to editor (#320)
Dkrenon Nov 28, 2025
39eb533
chore: update FE-Imp-Fixes with Staging (#321)
Dkrenon Dec 1, 2025
83b54f8
Merge branch 'staging' into FE-Improvements-Fixes-v0.2.0
Dkrenon Dec 1, 2025
71db994
wip: build Terminal UI Panel
Dkrenon Dec 1, 2025
30e2308
wip: fix UI Panel location
Dkrenon Dec 1, 2025
09e6c14
wip: fixing UI Panel position
Dkrenon Dec 1, 2025
9f599a0
Merge branch 'FE-Improvements-Fixes-v0.2.0' into starknet
rsodre Dec 1, 2025
cf4223d
Merge branch 'FE-Improvements-Fixes-v0.2.0' into starknet
rsodre Dec 1, 2025
b072d58
upgrade Dojo 1.8.0, sozo 1.8.3
rsodre Dec 1, 2025
67e59c0
wip: fixing UI Panel position 2
Dkrenon Dec 2, 2025
0f65392
wip: fixing UI Panel position 3
Dkrenon Dec 2, 2025
f0c8473
wip: fixing UI Panel position 4
Dkrenon Dec 2, 2025
3802ca6
wip: removing scroll bar icon of UI
Dkrenon Dec 2, 2025
02e2ae3
fix: fixed import path for uiPanel.css
Dkrenon Dec 2, 2025
cfdf1af
wip: improving visualization of Panel and Terminal
Dkrenon Dec 2, 2025
0482bd2
wip: testing fix for Client page visualization
Dkrenon Dec 2, 2025
6200133
wip: fixing Panel, Terminal and Footer
Dkrenon Dec 2, 2025
f314c92
wip: implementing player location query for Panel
Dkrenon Dec 2, 2025
03cac21
wip: implementing player location query for Panel 2
Dkrenon Dec 2, 2025
090a57d
wip: debugging query for location
Dkrenon Dec 2, 2025
bab4791
wip: fixing player addres from query
Dkrenon Dec 2, 2025
3ef0113
wip: querying player model
Dkrenon Dec 2, 2025
0700fe6
wip: querying player model 2
Dkrenon Dec 2, 2025
b1bd7a3
chore: created file for queries only for UI Panel
Dkrenon Dec 2, 2025
579965b
chore: called for exits query
Dkrenon Dec 2, 2025
ec418a8
chore: local saya setup
rsodre Dec 1, 2025
61153ef
wip: impl queries for exit info
Dkrenon Dec 3, 2025
a8cfc99
wip: quering parent to children model
Dkrenon Dec 3, 2025
57fcb8c
wip: quering children pt 1
Dkrenon Dec 3, 2025
d0f1a55
wip: quering children pt 1.2
Dkrenon Dec 3, 2025
b46ce99
wip: querying exits pt 1
Dkrenon Dec 3, 2025
52d3b86
wip: querying exits pt 2
Dkrenon Dec 3, 2025
3e72327
wip: querying exits pt 3
Dkrenon Dec 3, 2025
f615f5c
wip: querying exits pt 4
Dkrenon Dec 3, 2025
3a4fe27
wip: querying exits pt 5
Dkrenon Dec 3, 2025
8caebda
wip: querying exits pt 6
Dkrenon Dec 3, 2025
0e05bb3
wip: querying exits pt 7
Dkrenon Dec 4, 2025
afab5d3
wip: displaying exit results pt 1
Dkrenon Dec 4, 2025
25859ed
wip: displaying exits pt 2
Dkrenon Dec 4, 2025
1bd80d7
wip: displaying exit results pt 3
Dkrenon Dec 4, 2025
ece620a
wip: fix query exit and displaying them
Dkrenon Dec 4, 2025
d556aca
chore: fix querying exits to include parent
Dkrenon Dec 4, 2025
942a17f
chore: fix query parent exit
Dkrenon Dec 4, 2025
be5cd96
chore: fix querying parent exit pt 2
Dkrenon Dec 4, 2025
913786a
wip: fixing query parent exit
Dkrenon Dec 4, 2025
28ec6f4
wip: fixing query parent exit pt 2
Dkrenon Dec 4, 2025
7747d36
wip: fixing query parent exit pt 3
Dkrenon Dec 4, 2025
fa3aea2
wip: fixing query child exit pt 1
Dkrenon Dec 4, 2025
d093178
wip: fixing query exits
Dkrenon Dec 4, 2025
2d0ef18
wip: fixing query child exits pt 2
Dkrenon Dec 4, 2025
06ad31e
wip: fixing query exits pt 3
Dkrenon Dec 4, 2025
0ea0ee1
wip: fixing query exits pt 1
Dkrenon Dec 4, 2025
198f49b
wip: fixing query exits pt 5
Dkrenon Dec 4, 2025
64fde5a
wip: fixing query exits pt 3
Dkrenon Dec 4, 2025
5323393
wip: fixing query exits pt 4
Dkrenon Dec 4, 2025
f321d6f
wip: getting gi exit
Dkrenon Dec 4, 2025
e4d97f6
chore: local saya setup
rsodre Dec 3, 2025
85d0498
fix: removed warnings
rsodre Dec 4, 2025
cdcd7da
chore: actions minting from L3
rsodre Dec 5, 2025
75b6364
wip: debugging queries for exit
Dkrenon Dec 5, 2025
9b20377
wip: debugging queries for exit pt 2
Dkrenon Dec 5, 2025
abed15b
wip: debugging queries for exit pt 3
Dkrenon Dec 5, 2025
3a54e30
wip: debugging queries for exit pt 4
Dkrenon Dec 5, 2025
2ca73d9
wip: fixing child query exit
Dkrenon Dec 5, 2025
46eff7b
wip: fixing child query exit pt 2
Dkrenon Dec 5, 2025
55aa502
wip: fixing child query exit pt 3
Dkrenon Dec 5, 2025
3642e73
wip: fixing child query exit pt 4
Dkrenon Dec 5, 2025
e9cc76a
wip: debugging queries child
Dkrenon Dec 5, 2025
80725c7
wip: fixing query pipeline for exits
Dkrenon Dec 5, 2025
b59e355
wip: fixing query pipeline for exits
Dkrenon Dec 5, 2025
17890b0
wip: fixing query pipeline for exits 3
Dkrenon Dec 5, 2025
adf5607
wip: fixing query pipeline for exits 4
Dkrenon Dec 5, 2025
f4d12da
wip: fixing query pipeline for exits 5
Dkrenon Dec 5, 2025
c678f28
fix: l1_handler from_address validation
rsodre Dec 5, 2025
42a353b
fix: config messaging in dev:saya
rsodre Dec 5, 2025
852cba3
chore: renamed lore_strk namespace to lore_sn
rsodre Dec 5, 2025
c085d04
chore: renamed actions_strk to permit_token
rsodre Dec 5, 2025
a2e5447
chore: renamed actions_lore to actions_token
rsodre Dec 5, 2025
5b05e77
chore: ported permit to erc721
rsodre Dec 5, 2025
00ec472
chore: updated saya config
rsodre Dec 5, 2025
e705f16
chore: renames PlayerGame model to PlayerAccount
rsodre Dec 8, 2025
5f95520
wip: fixing query pipeline for exits 6
Dkrenon Dec 8, 2025
db80450
wip: fixing query pipeline for exits 7
Dkrenon Dec 8, 2025
b3de0ec
wip: fixing query pipeline for exits pt 8
Dkrenon Dec 8, 2025
1aadb05
wip: fixing query pipeline for exits pt 9
Dkrenon Dec 8, 2025
54fcd21
chore: make actions token soulbound (untransferrable)
rsodre Dec 8, 2025
e60f9f9
chore: g_actions command (print balance)
rsodre Dec 8, 2025
99c780b
wiip: fixing query pipeline for extis pt 10
Dkrenon Dec 8, 2025
c6d8551
wip: fixing query pipeline for exits
Dkrenon Dec 8, 2025
f7536d9
chore: config cost per action
rsodre Dec 8, 2025
d46f0ec
wip: fixing query pipeline for exits pt 12
Dkrenon Dec 8, 2025
488c8db
wip: implementing pipeline for puzzles query
Dkrenon Dec 8, 2025
c09306c
chore: charge player actions (burn)
rsodre Dec 8, 2025
15adbc8
wip: implementing pipeline for puzzles query pt 2
Dkrenon Dec 8, 2025
35b2507
wip: fixing query pipeline for puzzles query pt 1
Dkrenon Dec 8, 2025
c19a1d1
wip: fixing query pipeline for puzzles pt 2
Dkrenon Dec 8, 2025
b646191
wip: fixing query pipeline for puzzles pt
Dkrenon Dec 8, 2025
431abb3
wip: fixing query pipeline for puzzles pt 4
Dkrenon Dec 8, 2025
ab70979
wip: fixing query pipeline for puzzles pt 5
Dkrenon Dec 8, 2025
8701cf6
wip: fixing query pipeline for puzzles pt 6
Dkrenon Dec 8, 2025
48fc0a4
chore: comment logs, add animation to updating, adjust default values
Dkrenon Dec 8, 2025
13e1f97
chore: fixed ability to send new commands after querying actions and …
Dkrenon Dec 8, 2025
6bb385e
chore: free actions claiming
rsodre Dec 8, 2025
8366bd1
wip: implementing automatic update based on location
Dkrenon Dec 9, 2025
e5ec5b3
wip: dynamic update for info panel based on location
Dkrenon Dec 9, 2025
f023fec
wip: dynamic update for info panel when output recieve and location …
Dkrenon Dec 9, 2025
7405686
wip: fix headers of Info Panel
Dkrenon Dec 9, 2025
a308634
wip: hidding scroll bar
Dkrenon Dec 9, 2025
8ed6040
wip: adjust display of exits and puzzles
Dkrenon Dec 9, 2025
6267f02
wip: minor adjustments to Info Panel
Dkrenon Dec 9, 2025
23340e4
chore: track actions spent on trail
rsodre Dec 10, 2025
3e8eb75
wip: fixing Terminal and Info Panel Positioning and Display
Dkrenon Dec 10, 2025
078fc6a
wip: fixing auto scrolling when priting
Dkrenon Dec 10, 2025
1425b24
chore: created g_trail_info command
rsodre Dec 10, 2025
ae0619c
chore: rewards claiming WIP
rsodre Dec 10, 2025
7c8de19
wip: fixing auto scroll when printing pt 2
Dkrenon Dec 10, 2025
59a1b7e
wip: fixing auto scroll when printing pt 3
Dkrenon Dec 10, 2025
cbecbd8
chore: set Default Values Info Panel when disconnect if visible
Dkrenon Dec 11, 2025
7adbe75
chore: fixing set Defaul Values Info Panel when disconnect
Dkrenon Dec 11, 2025
8a1cc2e
chore: minor adjustment Info Panel Display when connect
Dkrenon Dec 11, 2025
46b9540
chore: updated piltover interface
rsodre Dec 15, 2025
2aeb845
chore: created actions.initial_free_actions_count
rsodre Dec 15, 2025
a134395
chore: track spent actions by player, not trail
rsodre Dec 15, 2025
92138c2
fix: fixed tests
rsodre Dec 16, 2025
fb0eccc
chore: moved hub tests to own file
rsodre Dec 16, 2025
20c58c7
chore: created actions spend test, to trail owner
rsodre Dec 16, 2025
d9ecf5d
chore: created command g_claim_actions
rsodre Dec 16, 2025
45b3e4b
wip: adding display of description when hoover mouse over icon for pu…
Dkrenon Dec 17, 2025
4c3c03e
wip: adjust display desc puzzles
Dkrenon Dec 17, 2025
09bf1cb
wip: impl manual adjustment for trialer timer
Dkrenon Dec 17, 2025
0b8c4b6
wip: debbuging setting trailer idle timer
Dkrenon Dec 17, 2025
c7d9983
wip: debbug setting timer for idle trailer
Dkrenon Dec 17, 2025
081612b
chore: removed setting timer for trailer
Dkrenon Dec 17, 2025
6df465f
Merge branch 'FE-Improvements-Fixes-v0.2.0' into starknet
rsodre Jan 8, 2026
1406430
chore: simplified L3 init
rsodre Jan 9, 2026
b571e54
chore: emit L3 message event
rsodre Jan 9, 2026
19189bd
chore: increment uuid at designer.dojo_init to avoid entity 0x0
rsodre Jan 12, 2026
5157974
chore: messaging event improvements
rsodre Jan 12, 2026
f5d72a7
chore: migrate dev
rsodre Jan 12, 2026
6fc7bf6
chore: lore config for katana_l3
rsodre Jan 12, 2026
93c0919
chore: added message hash to AppchainMessageEvent
rsodre Jan 12, 2026
c12bc17
upgrade: sozo 1.8.5
rsodre Jan 13, 2026
4d691ce
chore: appchain procs update
rsodre Jan 13, 2026
ea0d615
wip: implementing queries for getting game data
Dkrenon Jan 13, 2026
5940792
wip: ordering PlayerStories
Dkrenon Jan 13, 2026
62cb878
wip: mapping player's to the playerStories
Dkrenon Jan 13, 2026
e038585
chore: client update
rsodre Jan 13, 2026
7f51641
wip: querying storylines for each game
Dkrenon Jan 13, 2026
ff88870
wip: debug query storylines
Dkrenon Jan 13, 2026
7627d78
chore: implemented prints for waiting
Dkrenon Jan 13, 2026
68c2fea
chore: commented logs
Dkrenon Jan 13, 2026
e006d37
upgrade: dojo.js sdk 1.8.13
rsodre Jan 14, 2026
32f2f55
chore: using sozo 1.8.5 manifest
rsodre Jan 14, 2026
b6d6205
upgrade: controller 0.12.1
rsodre Jan 14, 2026
0fa2e6c
chore: added cmd for toggle playing trailer in client
Dkrenon Jan 15, 2026
22be197
chore: added trailer cmd toggle to editor page
Dkrenon Jan 15, 2026
0fe5862
wip: optimize querying Game Data times
Dkrenon Jan 16, 2026
842a6fd
fix: fixed nonce error (multiple transactions at same time)
rsodre Jan 16, 2026
e94e7d5
chore: updated PlayerAccount model
rsodre Jan 16, 2026
3b9c57d
Merge branch 'FE-Improvements-Fixes-v0.2.0' into starknet
rsodre Jan 16, 2026
6c91e69
chore: actions scripts, cleanup
rsodre Jan 16, 2026
fc5d0f2
chore: updating BE branch with latest improvements from FE branch (#334)
Dkrenon Jan 22, 2026
77e11ec
chore: added more levels of context when playing the game
Dkrenon Jan 22, 2026
ad8d546
chore: added UI for actions (#335)
Dkrenon Jan 30, 2026
7c77151
Revert "chore: added UI for actions" (#338)
Dkrenon Jan 30, 2026
0aac60b
chore: added UI for actions
Dkrenon Jan 30, 2026
fd29e85
wip: fixes for running localhost
Dkrenon Jan 30, 2026
9cafb51
chore: adjusted display of trailer and ui panels
Dkrenon Feb 2, 2026
64a7548
chore: update of client's package.json and bun
Dkrenon Feb 2, 2026
7a03095
chore: updated slot manifest and config profile
Dkrenon Feb 2, 2026
d05dac5
chore: Improve FE deployment by profile setting and linking Actions U…
Dkrenon Feb 3, 2026
c62d58f
wip: fixing wallet policies addresses normalize zero
Dkrenon Feb 4, 2026
ba59313
wip: adding policies related to game token
Dkrenon Feb 9, 2026
ee33d7c
wip: testing policies related to game token
Dkrenon Feb 9, 2026
26edc88
wip: adjusting wallet policies for actions tokens
Dkrenon Feb 9, 2026
bbd0302
wip: testting policies adjustment
Dkrenon Feb 9, 2026
4058f37
wip: testing policies adjustments 2
Dkrenon Feb 9, 2026
2099092
chore: adjusted call for UI show
Dkrenon Feb 12, 2026
84a3ebf
chore: update saya workflow and fix wallet policies (#344)
Dkrenon Feb 12, 2026
ea33a3c
chore: added GA to orug-slot FE
Dkrenon Feb 13, 2026
d0d741f
chore: adjusted storline to include location and error messages
Dkrenon Feb 19, 2026
987e15d
chore: adjusted Storylines Query
Dkrenon Feb 19, 2026
f0eef55
wip: debugging query StoryLines
Dkrenon Feb 19, 2026
9d15456
chore: commented debug logs
Dkrenon Feb 19, 2026
aa596bb
chore: adjusted PlayerStory to include amount of actions used by type
Dkrenon Feb 19, 2026
408522e
chore: adjusted JSON file structure for querying
Dkrenon Feb 19, 2026
e9b9aff
chore: fixed missing storing edited model
Dkrenon Feb 20, 2026
0674aa4
chore: adjusted number format as well querying location name
Dkrenon Feb 20, 2026
84fb5d1
chore: adjusted query for fetching location where command was exectuted
Dkrenon Feb 20, 2026
3b0d5d3
chore: commented console log for queryErrorLocation
Dkrenon Feb 20, 2026
ae96f06
chore: included .csv export for fetching game data
Dkrenon Feb 23, 2026
0d585d0
wip: querying trail progress for game data analysis
Dkrenon Mar 2, 2026
7485287
chore: added player.is_dead to trail progress data
Dkrenon Mar 4, 2026
7f6879b
chore: free token cap fix and Appchain deploy (#345)
Dkrenon Mar 6, 2026
73c9807
Merge branch 'develop' into FE-fixes-0.2.0
Dkrenon Mar 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,7 @@ bin

# ssl
packages/client/ssl/*
!packages/client/ssl/.gitkeep
!packages/client/ssl/.gitkeep
packages/starknet/data/db/*
.env.sepolia
.env.mainnet
4 changes: 2 additions & 2 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
scarb 2.13.1
sozo 1.8.5
sozo 1.8.6
katana 1.7.0
torii 1.8.7
saya 0.2.1
saya 0.2.2
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ bun run dev:saya

<hr/>

## 🗺️ World deployment:

## 🗺️ O'Ruggin Trail story deployment:

Initial deployments start with an empty world, use the editor at `https://localhost:5173/editor` to create and publish a world.

Expand Down
57 changes: 39 additions & 18 deletions bun.lock

Large diffs are not rendered by default.

248 changes: 248 additions & 0 deletions mprocs.local_saya-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
procs:
initializer:
cwd: packages/contracts
env:
PROFILE: saya-test
shell: |
set -e # exit on error
source ../../scripts/utils.sh
#----------------
# delete targets to wait for a fresh deployment
echo ">>> Initializing..."
rm -rf ../contracts/target/${PROFILE}
rm -rf ../starknet/target/${PROFILE}
rm -rf ../starknet/data/${PROFILE}
#----------------
echo ">>> Waiting for L3 deployment..."
wait-on -l ../starknet/target/${PROFILE}/deployed
wait-on -l ../contracts/target/${PROFILE}/deployed
export APPCHAIN_ADDRESS=$(get_contract_address ${PROFILE} lore-actions_token)
#----------------
# configure L2...
#
cd ../starknet
export SN_ADDRESS=$(get_contract_address ${PROFILE} lore_sn-permit_token)
export DATA_PATH=./data/${PROFILE}
export PILTOVER_ADDRESS=$(grep '^core_contract' ${DATA_PATH}/config.toml | sed -E 's/core_contract = "([^"]+)"/\1/')
export CARTIDGE_ADDRESS=$(get_profile_env ${PROFILE} account_address)
echo ">>> L2: set_messaging_contract(${PILTOVER_ADDRESS})"
sozo -P ${PROFILE} execute --wait lore_sn-permit_token set_messaging_contract ${PILTOVER_ADDRESS}
echo ">>> L2: set_appchain_contract(${APPCHAIN_ADDRESS})"
sozo -P ${PROFILE} execute --wait lore_sn-permit_token set_appchain_contract ${APPCHAIN_ADDRESS}
echo ">>> L2: set_cartridge_contract(${CARTIDGE_ADDRESS})"
sozo -P ${PROFILE} execute --wait lore_sn-permit_token set_cartridge_contract ${CARTIDGE_ADDRESS}
echo ">>> L2: PermitConfig:"
sozo -P ${PROFILE} model get lore_sn-PermitConfig 1
#----------------
# Configure L3
#
cd ../contracts
echo ">>> L3: set_sn_contract(${SN_ADDRESS})"
sozo -P ${PROFILE} execute --wait lore-actions_token set_sn_contract ${SN_ADDRESS}
sozo -P ${PROFILE} model get lore-ActionsConfig 1
#----------------
touch ../starknet/target/${PROFILE}/initialized
echo "👍 Ready!!"
l2_katana:
cwd: packages/starknet
env:
KATANA_L2_PORT: "50000"
KATANA_L3_BIN: ./bin/katana-1.7.0-snos.4
shell: |
echo "Starting L2 Katana on port [${KATANA_L2_PORT}]..."
${KATANA_L3_BIN} --version
${KATANA_L3_BIN} --dev --dev.no-fee --http.port ${KATANA_L2_PORT}
l2_contracts:
cwd: packages/starknet
env:
PROFILE: saya-test
KATANA_L2_PORT: "50000"
KATANA_L3_BIN: ./bin/katana-1.7.0-snos.4
KATANA_L3_CHAIN: katana-l3
SETTLEMENT_RPC_URL: http://localhost:50000
SETTLEMENT_CHAIN_ID: KATANA
SETTLEMENT_ACCOUNT_ADDRESS: 0x127fd5f1fe78a71f8bcd1fec63e3fe2f0486b6ecd5c86a0466c3a21fa5cfcec
SETTLEMENT_ACCOUNT_PRIVATE_KEY: 0xc5b2fcab997346f3ea1c00b002ecf6f382c5f9c9659a3894eb783c5320f912
FACT_REGISTRY_ADDRESS: 0x3eb0d510d1238120bf7f9d176faafe0c7066797a86be985855952f87769d3bd
CORE_CONTRACT_ADDRESS: 0x1c8a55203cd99a6bfaf7cd91ae2ad953eff67b584826edab1857ca2e3c5db5d
CORE_CONTRACT_DEPLOYED_BLOCK: "4"
shell: |
sleep 1
set -e # exit on error
source ../../scripts/utils.sh
export DOJO_WORLD_ADDRESS=$(get_profile_env ${PROFILE} world_address)
echo ">>> Dojo world: [${DOJO_WORLD_ADDRESS}]"
#----------------
# based on:
# https://github.com/glihm/starknet-messaging-dev/blob/l2-l3-saya/README_saya.md#setup-the-l2-starknet
#
# wait for L2 katana to start...
wait-port ${KATANA_L2_PORT}
#
echo ">>> Deploying L2 mocked fact registry contract..."
saya core-contract declare-and-deploy-fact-registry-mock --salt 0x0
# will output: FACT_REGISTRY_ADDRESS
echo "!!! Validate: FACT_REGISTRY_ADDRESS=${FACT_REGISTRY_ADDRESS}"
#
echo ">>> Deploying L2 core contract..."
saya core-contract declare
saya core-contract deploy --salt 0x0
saya core-contract setup-program --chain-id ${KATANA_L3_CHAIN}
# will output: CORE_CONTRACT_ADDRESS
echo "!!! Validate: CORE_CONTRACT_ADDRESS=${CORE_CONTRACT_ADDRESS}"
#----------------
# katana_l3 init
#
export DATA_PATH=./data/${PROFILE}
mkdir -p ${DATA_PATH}
echo ">>> Creating Katana L3 config..."
${KATANA_L3_BIN} init \
--settlement-chain ${SETTLEMENT_RPC_URL} \
--id ${KATANA_L3_CHAIN} \
--settlement-contract ${CORE_CONTRACT_ADDRESS} \
--settlement-contract-deployed-block ${CORE_CONTRACT_DEPLOYED_BLOCK} \
--settlement-facts-registry ${FACT_REGISTRY_ADDRESS} \
--output-path ${DATA_PATH}
# will output: PILTOVER_ADDRESS
#----------------
# validate piltover address
#
ls -l ${DATA_PATH}/config.toml
export PILTOVER_ADDRESS=$(grep '^core_contract' ${DATA_PATH}/config.toml | sed -E 's/core_contract = "([^"]+)"/\1/')
echo "!!! Validate if: (PILTOVER_ADDRESS == CORE_CONTRACT_ADDRESS)"
echo "!!! PILTOVER_ADDRESS: [${PILTOVER_ADDRESS}]"
echo "!!! CORE_CONTRACT_ADDRESS: [${CORE_CONTRACT_ADDRESS}]"
#----------------
# deploy contracts...
#
echo ">>> Deploying contracts..."
sozo -P ${PROFILE} build
sozo -P ${PROFILE} inspect
sozo -P ${PROFILE} migrate
#----------------
touch ../starknet/target/${PROFILE}/deployed
echo "👍 L2 Ready!"
l3_katana:
cwd: packages/starknet
env:
PROFILE: saya-test
KATANA_L3_BIN: ./bin/katana-1.7.0-snos.4
KATANA_L3_PORT: "5050"
BLOCK_TIME: "30000"
MAX_CAIRO_STEPS: "16000000"
RUST_LOG: "katana=info,rpc=info,node=info,messaging=trace,executor=trace,pool=trace"
shell: |
sleep 1
#----------------
# wait for katana_l3 init file
#
sleep 1
export DATA_PATH=./data/${PROFILE}
echo ">>> Waiting for L3 init config... [${DATA_PATH}/config.toml]"
wait-on -l ${DATA_PATH}/config.toml
#----------------
# start katana L3...
#
echo ">>> Starting L3 Katana on port [${KATANA_L3_PORT}]..."
rm -rf /tmp/katana-l3
${KATANA_L3_BIN} --version
${KATANA_L3_BIN} \
--chain ${DATA_PATH} \
--db-dir /tmp/katana-l3 \
--http.port ${KATANA_L3_PORT}
# --dev --dev.no-fee
# --http.cors_origins "*" \
# --cartridge.controllers --cartridge.paymaster
# --block-time ${BLOCK_TIME} --sequencing.block-max-cairo-steps ${MAX_CAIRO_STEPS}
l3_contracts:
cwd: packages/contracts
env:
PROFILE: saya-test
KATANA_L3_PORT: "5050"
shell: |
sleep 1
set -e # exit on error
source ../../scripts/utils.sh
export DOJO_WORLD_ADDRESS=$(get_profile_env ${PROFILE} world_address)
echo ">>> Dojo world: [${DOJO_WORLD_ADDRESS}]"
#----------------
# wait for katana_l3 init
wait-port ${KATANA_L3_PORT}
echo ">>> Deploying contracts..."
sozo -P ${PROFILE} build
sozo -P ${PROFILE} inspect
sozo -P ${PROFILE} migrate --l1-data-gas 20000000000 --l1-gas 20000000000 --l1-gas-price 20000000000 --l2-gas-price 20000000000 --l1-data-gas-price 20000000000 --l2-gas 20000000000
#----------------
touch ../contracts/target/${PROFILE}/deployed
echo "👍 L2 Ready!"
saya:
cwd: packages/starknet
env:
PROFILE: saya-test
RUST_LOG: saya=debug
KATANA_L2_RPC: http://localhost:50000
KATANA_L3_RPC: http://localhost:5050
SETTLEMENT_ACCOUNT_ADDRESS: 0x127fd5f1fe78a71f8bcd1fec63e3fe2f0486b6ecd5c86a0466c3a21fa5cfcec
SETTLEMENT_ACCOUNT_PRIVATE_KEY: 0xc5b2fcab997346f3ea1c00b002ecf6f382c5f9c9659a3894eb783c5320f912
shell: |
sleep 1
set -e # exit on error
#----------------
# wait for L2 and L3 to be deployed and initialized
wait-on -l ../starknet/target/${PROFILE}/initialized
#----------------
# gather data...
#
export DATA_PATH=./data/${PROFILE}
export PILTOVER_ADDRESS=$(grep '^core_contract' ${DATA_PATH}/config.toml | sed -E 's/core_contract = "([^"]+)"/\1/')
echo ">>> KATANA_L2_RPC: [${KATANA_L2_RPC}]"
echo ">>> KATANA_L3_RPC: [${KATANA_L3_RPC}]"
echo ">>> PILTOVER_ADDRESS: [${PILTOVER_ADDRESS}]"
echo ">>> SETTLEMENT_ACCOUNT_ADDRESS: [${SETTLEMENT_ACCOUNT_ADDRESS}]"
echo ">>> SETTLEMENT_ACCOUNT_PRIVATE_KEY: [${SETTLEMENT_ACCOUNT_PRIVATE_KEY}]"
#----------------
# sytart saya
#
echo ">>> Starting Saya..."
rm -f ./saya.db
saya --version
saya persistent start \
--settlement-rpc ${KATANA_L2_RPC} \
--settlement-piltover-address ${PILTOVER_ADDRESS} \
--settlement-account-address ${SETTLEMENT_ACCOUNT_ADDRESS} \
--settlement-account-private-key ${SETTLEMENT_ACCOUNT_PRIVATE_KEY} \
--rollup-rpc ${KATANA_L3_RPC} \
--mock-snos-from-pie \
--mock-layout-bridge-program-hash 0x43c5c4cc37c4614d2cf3a833379052c3a38cd18d688b617e2c720e8f941cb8
# torii:
# cwd: packages/contracts
# env:
# PROFILE: saya-test
# KATANA_L3_PORT: "5050"
# shell: |
# sleep 1
# set -e # exit on error
# source ../../scripts/utils.sh
# export DOJO_WORLD_ADDRESS=$(get_profile_env ${PROFILE} world_address)
# export GAME_TOKEN_ADDRESS=$(get_contract_address ${PROFILE} lore-game_token)
# export TRAIL_TOKEN_ADDRESS=$(get_contract_address ${PROFILE} lore-trail_token)
# echo ">>> Dojo world: [${DOJO_WORLD_ADDRESS}]"
# echo ">>> Game token: [${GAME_TOKEN_ADDRESS}]"
# echo ">>> Trail token: [${TRAIL_TOKEN_ADDRESS}]"
# #----------------
# wait-port ${KATANA_L3_PORT}
# #----------------
# # start Torii
# torii --version
# torii --http.cors_origins "*" \
# --indexing.contracts erc721:${GAME_TOKEN_ADDRESS},erc721:${TRAIL_TOKEN_ADDRESS}
# client:
# cwd: packages/client
# env:
# KATANA_L3_PORT: "5050"
# shell: |
# sleep 1
# #----------------
# wait-port ${KATANA_L3_PORT}
# #----------------
# bun run dev
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
],
"scripts": {
"dev": "mprocs --config ./mprocs.local.yaml",
"dev:saya": "mprocs --config ./mprocs.local_saya.yaml",
"dev:saya-test": "mprocs --config ./mprocs.local_saya-test.yaml",
"dev:da": "mprocs --config ./mprocs.local_da.yaml",
"dev:slot": "mprocs --config ./mprocs.slot.yaml",
"quickstart": "bun run ./scripts/quickstart.ts # 🧾 quickstart installer "
Expand Down
10 changes: 10 additions & 0 deletions packages/client/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@
href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y='.9em' font-size='90' transform='translate(110, 5) scale(-.975,.975)'>❔</text><text y='.1em' font-size='90' transform='translate(45, 30) scale(0.5,0.5)'>✨</text></svg>"
/>
<title>The O'Ruggin Trail</title>

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BGJTFFSBLZ"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'G-BGJTFFSBLZ');
</script>
</head>
<body>
<div id="root"></div>
Expand Down
3 changes: 2 additions & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"cert:install": "cd ssl && bunx mkcert create-ca && bunx mkcert create-cert localhost"
},
"dependencies": {
"@cartridge/controller": "0.12.1",
"@cartridge/controller": "0.13.5",
"@cartridge/presets": "0.5.4",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
Expand Down
10 changes: 7 additions & 3 deletions packages/client/src/data/command.data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import DojoStore from "@/lib/stores/dojo.store";
import WalletStore from "@/lib/stores/wallet.store";
import GameStore from "@/lib/stores/game.store";
import UIPanelStore, {DefaultValues} from "@/lib/stores/terminal.uiPanel.store";
import { queryStories } from "@/lib/queries/commandResponseQueries";
import { queryGameData } from "@/lib/queries/commandResponseQueries";
import { startFetchingAmbientMessages, sleep } from "@/lib/utils/factEngine";
import { reportBug } from "@/lib/utils/bugReport";
import { useRightPanelStore } from "@/lib/stores/rightPanel.store";
Expand Down Expand Up @@ -93,6 +93,7 @@ export const TERMINAL_SYSTEM_COMMANDS: {
sendCommand("_connect_wallet");
} else {
sendCommand("_welcome_back");
sendCommand("ui show");
}

sendCommand("_hint");
Expand Down Expand Up @@ -290,7 +291,7 @@ export const TERMINAL_SYSTEM_COMMANDS: {
format: "hash",
useTypewriter: true,
});
sendCommand("ui show");
// sendCommand("ui show");
}

// Check properties
Expand Down Expand Up @@ -482,6 +483,8 @@ export const TERMINAL_SYSTEM_COMMANDS: {
console.log("COMPONENTS RESULT", components);
},
_gameData: async () => {
const terminalStore = useTerminalStore.getState();
terminalStore.setPrinting(true);
addTerminalContent({ text: "FETCHING GAME DATA...", format: "system", useTypewriter: true });
await sleep(500);

Expand All @@ -493,14 +496,15 @@ export const TERMINAL_SYSTEM_COMMANDS: {

const stopAmbient = startFetchingAmbientMessages();

await queryStories();
await queryGameData();
stopAmbient();

addTerminalContent({
text: "GAME DATA HAS BEEN FETCHED. CHECK YOUR DOWNLOADS FOLDER",
format: "system",
useTypewriter: true,
});
terminalStore.setPrinting(false);
},
connection: async () => {
const dest = {
Expand Down
Loading
Loading