Skip to content

Commit f77b4cf

Browse files
committed
release
1 parent 6969460 commit f77b4cf

3 files changed

Lines changed: 37 additions & 13 deletions

File tree

client/src/api/starknet.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useDynamicConnector } from "@/contexts/starknet";
2-
import { NETWORKS } from "@/utils/networkConfig";
3-
import { parseBalances } from "@/utils/utils";
2+
import { NETWORKS } from "@/helpers/networkConfig";
3+
import { parseBalances } from "@/helpers/utilities";
44
import { hexToAscii } from "@dojoengine/utils";
55
import { useAccount } from "@starknet-react/core";
66
import { num } from "starknet";

client/src/helpers/utilities.js

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,36 @@ export function formatTimeUntil(timestamp) {
8080
}
8181

8282
export const stringToFelt = (v) =>
83-
v ? shortString.encodeShortString(v) : "0x0";
83+
v ? shortString.encodeShortString(v) : "0x0";
84+
85+
export function parseBalances(
86+
results,
87+
tokens,
88+
) {
89+
function toBigIntSmart(v) {
90+
const s = String(v);
91+
return s.startsWith("0x") ? BigInt(s) : BigInt(s);
92+
}
93+
94+
function uint256ToBigInt([low, high]) {
95+
return (toBigIntSmart(high) << 128n) + toBigIntSmart(low);
96+
}
97+
98+
function formatBalance(raw, tokenDecimals = 18, showDecimals = 4) {
99+
const base = 10n ** BigInt(tokenDecimals);
100+
const intPart = raw / base;
101+
const fracPart = raw % base;
102+
const frac = fracPart.toString().padStart(tokenDecimals, "0").slice(0, showDecimals);
103+
return `${intPart}${showDecimals > 0 ? "." + frac : ""}`;
104+
}
105+
106+
const out = {};
107+
for (let i = 0; i < results.length; i++) {
108+
const token = tokens[i];
109+
const raw = uint256ToBigInt(results[i].result);
110+
const tokenDecimals = token.decimals ?? 18;
111+
const shownDecimals = token.displayDecimals;
112+
out[token.name] = formatBalance(raw, tokenDecimals, shownDecimals);
113+
}
114+
return out;
115+
}

client/src/pages/ArenaPage.jsx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import { motion } from 'framer-motion'
44
import { useSnackbar } from 'notistack'
55
import React, { useContext, useEffect, useReducer } from 'react'
66
import { Scrollbars } from 'react-custom-scrollbars'
7-
import { useParams, useSearchParams } from 'react-router-dom'
7+
import { useParams } from 'react-router-dom'
8+
import { useIndexer } from '../api/indexer'
89
import { useStarknetApi } from '../api/starknet'
910
import DeathDialog from '../components/battle/death'
1011
import BattleContainer from '../container/BattleContainer'
@@ -15,7 +16,6 @@ import MapContainer from '../container/MapContainer'
1516
import { GameContext } from '../contexts/gameContext'
1617
import { useReplay } from '../contexts/replayContext'
1718
import { fadeVariant } from '../helpers/variants'
18-
import { useIndexer } from '../api/indexer'
1919

2020
function ArenaPage() {
2121
const gameContext = useContext(GameContext)
@@ -31,14 +31,6 @@ function ArenaPage() {
3131
const [update, forceUpdate] = useReducer(x => x + 1, 0);
3232

3333
const { watchGameId, gameId, newGameSettingsId } = useParams()
34-
const [searchParams] = useSearchParams();
35-
const referenceId = searchParams.get('ref');
36-
37-
useEffect(() => {
38-
if (referenceId === 'ggquest') {
39-
gameContext.utils.setQuestMode(true)
40-
}
41-
}, [referenceId])
4234

4335
useEffect(() => {
4436
if (!watchGameId && !gameId && !newGameSettingsId) {

0 commit comments

Comments
 (0)