-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathmigrate
executable file
·114 lines (101 loc) · 3.36 KB
/
migrate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
set -e # enable exit on error
source scripts/setup.sh
if [[
-z "$PROJECT_NAME" ||
-z "$PROFILE" ||
-z "$MANIFEST_FILE_PATH" ||
"$WORLD_ADDRESS" != "0x"* ||
"$RPC_URL" != "http"*
]]; then
echo "! Missing data 👎"
exit 1
fi
echo "BINDINGS_PATH: $BINDINGS_PATH"
echo "SDK_GAME_PATH: $SDK_GAME_PATH"
echo "SDK_MANIFEST_PATH: $SDK_MANIFEST_PATH"
#-----------------
# build
#
echo "------------------------------------------------------------------------------"
sozo --version
echo "------------------------------------------------------------------------------"
echo ">>> Cleaning..."
sozo -P $PROFILE $OFFLINE clean
echo ">>> Building..."
if [[ "$PROFILE" == "dev" ]]; then
sozo -P $PROFILE $OFFLINE build $BINDINGS
else
sozo -P $PROFILE $OFFLINE build
fi
echo "👍"
#-----------------
# migrate
#
echo "------------------------------------------------------------------------------"
echo ">>> Inspect migrations..."
sozo -P $PROFILE $OFFLINE inspect --world $WORLD_ADDRESS
if [[ -n "$INSPECT" ]]; then
echo "--- INSPECTED! 👍"
exit 0
fi
echo ">>> Do migrations..."
# sozo -P $PROFILE $OFFLINE migrate -vvv --world $WORLD_ADDRESS
sozo -P $PROFILE $OFFLINE migrate --world $WORLD_ADDRESS
echo "👍"
echo ">>> Inspect again..."
sozo -P $PROFILE $OFFLINE inspect --world $WORLD_ADDRESS
#-----------------
# auth write
#
# scripts/default_auth.sh $PROFILE
#------------------------
# copy manifest to client
#
echo "------------------------------------------------------------------------------"
echo ">>> Copying manifest [$MANIFEST_FILE_PATH] to [$SDK_MANIFEST_PATH/]"
mkdir -p $SDK_MANIFEST_PATH
cp $MANIFEST_FILE_PATH $SDK_MANIFEST_PATH/
echo "👍"
#
# create torii config
export DUEL_TOKEN_ADDRESS=$(get_contract_address "pistols-duel_token")
export DUELIST_TOKEN_ADDRESS=$(get_contract_address "pistols-duelist_token")
export FAME_TOKEN_ADDRESS=$(get_contract_address "pistols-fame_coin")
export LORDS_TOKEN_ADDRESS=${LORDS_ADDRESS:-$(get_contract_address "pistols-lords_mock")}
echo "------------------------------------------------------------------------------"
echo ">>> Create torii config [$TORII_CONFIG_PATH]..."
cp $TORII_CONFIG_TEMPLATE_PATH $TORII_CONFIG_PATH
sed -i '' -e "s|\$profile|$PROFILE|g" $TORII_CONFIG_PATH
sed -i '' -e "s|\$world_address|$WORLD_ADDRESS|g" $TORII_CONFIG_PATH
sed -i '' -e "s|\$rpc_url|$RPC_URL|g" $TORII_CONFIG_PATH
sed -i '' -e "s|\$duel_token|$DUEL_TOKEN_ADDRESS|g" $TORII_CONFIG_PATH
sed -i '' -e "s|\$duelist_token|$DUELIST_TOKEN_ADDRESS|g" $TORII_CONFIG_PATH
sed -i '' -e "s|\$fame_coin|$FAME_TOKEN_ADDRESS|g" $TORII_CONFIG_PATH
sed -i '' -e "s|\$lords|$LORDS_TOKEN_ADDRESS|g" $TORII_CONFIG_PATH
cat $TORII_CONFIG_PATH
echo "👍"
#------------------------
# typescript bindings
#
if [[ "$PROFILE" == "dev" ]]; then
#
# copy typescript bindings
cp -R $BINDINGS_PATH/typescript/* $SDK_GAME_PATH/generated/
#
# constant generator
# npm run create-constants --sdk=../sdk/src/games/pistols
echo "------------------------------------------------------------------------------"
echo ">>> Generate sources..."
cd ../client
export CMD="npm run create-constants --sdk=$SDK_GAME_PATH"
echo "command: $CMD"
$CMD
echo "👍?"
#
# list copied files
echo "------------------------------------------------------------------------------"
ls -ld $SDK_GAME_PATH/* | grep -E 'ts|json'
fi
#------------------
echo "--- DONE! 👍"