optimize token names during stake, wrap and unwrap

Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
This commit is contained in:
Uncle Fatso 2025-08-11 20:34:00 +03:00
parent bc5f88d572
commit 4b1c91b144
Signed by: f4ts0
GPG Key ID: 565F4F2860226EBB
6 changed files with 41 additions and 60 deletions

View File

@ -1,7 +1,7 @@
{
"name": "ghost-dao-interface",
"private": true,
"version": "0.2.0",
"version": "0.2.1",
"type": "module",
"scripts": {
"dev": "vite",

View File

@ -247,7 +247,9 @@ const Bridge = ({ chainId, address, config, connect }) => {
} else {
setIsPending(true);
const txHash = await ghost(chainId, address, convertedReceiver, preparedAmount);
console.log(preparedAmount)
console.log(ghstBalance)
// const txHash = await ghost(chainId, address, convertedReceiver, preparedAmount);
await ghstBalanceRefetch();
setReceiver("");

View File

@ -12,53 +12,41 @@ import GhostStyledIcon from "../../components/Icon/GhostIcon";
import Modal from "../../components/Modal/Modal";
import Paper from "../../components/Paper/Paper";
import TokenStack from "../../components/TokenStack/TokenStack";
import { useTokenSymbol } from "../../hooks/tokens";
const Stake = ({ chainId, address, isOpened, closeModal, connect }) => {
const [action, setAction] = useState("STAKE");
const [upperToken, setUpperToken] = useState("FTSO");
const [bottomToken, setBottomToken] = useState("GHST");
const [settingsModalOpen, setSettingsModalOpen] = useState(false);
const { symbol: ftsoSymbol } = useTokenSymbol(chainId, "FTSO");
const { symbol: stnkSymbol } = useTokenSymbol(chainId, "STNK");
const { symbol: ghstSymbol } = useTokenSymbol(chainId, "GHST");
const [upperToken, setUpperToken] = useState(ftsoSymbol);
const [bottomToken, setBottomToken] = useState(ghstSymbol);
const setSettingsModalOpenInner = (value) => {
setSettingsModalOpen(value);
}
useEffect(() => {
switch (true) {
case (upperToken === "FTSO" && bottomToken === "STNK"):
case (upperToken === ftsoSymbol && bottomToken === stnkSymbol):
setAction("STAKE")
break;
case (upperToken === "eCSPR" && bottomToken === "sCSPR"):
case (upperToken === ftsoSymbol && bottomToken === ghstSymbol):
setAction("STAKE")
break;
case (upperToken === "FTSO" && bottomToken === "GHST"):
setAction("STAKE")
break;
case (upperToken === "eCSPR" && bottomToken === "CSPR"):
setAction("STAKE")
break;
case (upperToken === "STNK" && bottomToken === "FTSO"):
case (upperToken === stnkSymbol && bottomToken === ftsoSymbol):
setAction("UNSTAKE")
break;
case (upperToken === "sCSPR" && bottomToken === "eCSPR"):
case (upperToken === ghstSymbol && bottomToken === ftsoSymbol):
setAction("UNSTAKE")
break;
case (upperToken === "GHST" && bottomToken === "FTSO"):
setAction("UNSTAKE")
break;
case (upperToken === "CSPR" && bottomToken === "eCSPR"):
setAction("UNSTAKE")
break;
case (upperToken === "STNK" && bottomToken === "GHST"):
case (upperToken === stnkSymbol && bottomToken === ghstSymbol):
setAction("WRAP")
break;
case (upperToken === "sCSPR" && bottomToken === "CSPR"):
setAction("WRAP")
break;
case (upperToken === "GHST" && bottomToken === "STNK"):
setAction("UNWRAP")
break;
case (upperToken === "CSPR" && bottomToken === "sCSPR"):
case (upperToken === ghstSymbol && bottomToken === stnkSymbol):
setAction("UNWRAP")
break;
default:

View File

@ -115,7 +115,7 @@ const StakeConfirmationModal = (props) => {
/>
<Box display="flex" flexDirection="row" justifyContent="center">
<Typography>
{props.upperToken === "FTSO" ? props.ftsoSymbol : props.upperToken === "STNK" ? props.stnkSymbol : props.ghstSymbol}
{props.upperToken}
</Typography>
</Box>
</Box>
@ -127,7 +127,7 @@ const StakeConfirmationModal = (props) => {
/>
<Box display="flex" flexDirection="row" justifyContent="center">
<Typography>
{props.bottomToken === "FTSO" ? props.ftsoSymbol : props.bottomToken === "STNK" ? props.stnkSymbol : props.ghstSymbol}
{props.bottomToken}
</Typography>
</Box>
</Box>
@ -141,7 +141,7 @@ const StakeConfirmationModal = (props) => {
owner={props.address}
spender={STAKING_ADDRESSES[props.chainId]}
decimals={props.spendDecimals}
approvalText={"Approve " + props.upperToken === "FTSO" ? props.ftsoSymbol : props.upperToken === "STNK" ? props.stnkSymbol : props.ghstSymbol}
approvalText={`Approve ${props.upperToken}`}
approvalPendingText={"Approving..."}
connect={props.connect}
isVertical

View File

@ -129,33 +129,33 @@ export const StakeInputArea = ({
}
useEffect(() => {
const innerBalance = upperToken === "GHST" ?
const innerBalance = upperToken === ghstSymbol ?
ghstBalance
:
upperToken === "STNK" ?
upperToken === stnkSymbol ?
stnkBalance
:
ftsoBalance;
if (
(upperToken === "FTSO" && bottomToken === "STNK") ||
(upperToken === "STNK" && bottomToken === "FTSO")
(upperToken === ftsoSymbol && bottomToken === stnkSymbol) ||
(upperToken === stnkSymbol && bottomToken === ftsoSymbol)
) {
setReceiveAmount(amount);
setExceedsAmount(new DecimalBigNumber(amount, 9).gt(innerBalance))
} else {
const decimals = upperToken === "GHST" ? 18 : 9;
const decimals = upperToken === ghstSymbol ? 18 : 9;
const raw = new DecimalBigNumber(amount, decimals);
const amountIn = new DecimalBigNumber(raw._value.toBigInt(), decimals);
const result = upperToken === "GHST" ?
const result = upperToken === ghstSymbol ?
currentIndex.mul(amountIn).toString()
:
currentIndex._value > 0n ? amountIn.div(currentIndex).toString() : "0";
const innerBalance = upperToken === "GHST" ?
const innerBalance = upperToken === ghstSymbol ?
ghstBalance
:
upperToken === "STNK" ?
upperToken === stnkSymbol ?
stnkBalance
:
ftsoBalance;
@ -168,7 +168,7 @@ export const StakeInputArea = ({
const handleTokenModalInput = (value, isUpper) => {
if (isUpper) {
if (value === bottomToken) {
const newValue = value === "GHST" ? "STNK" : "GHST";
const newValue = value === ghstSymbol ? stnkSymbol : ghstSymbol;
setBottomToken(newValue)
}
setUpperToken(value);
@ -185,28 +185,19 @@ export const StakeInputArea = ({
}
const SwapCardTemplate = (tokenName, tokenAmount, isUpper, handleModal) => {
const balance = tokenName === "STNK" || tokenName === "sCSPR" ?
stnkBalance : tokenName === "FTSO" || tokenName === "eCSPR" ?
ftsoBalance : ghstBalance;
const balance = tokenName === stnkSymbol
? stnkBalance
: tokenName === ftsoSymbol ? ftsoBalance : ghstBalance;
let realTokenName = "";
switch (tokenName.toUpperCase()) {
case "FTSO":
case ftsoSymbol:
realTokenName = ftsoSymbol;
break;
case "ECSPR":
realTokenName = ftsoSymbol;
break;
case "STNK":
case stnkSymbol:
realTokenName = stnkSymbol;
break;
case "SCSPR":
realTokenName = stnkSymbol;
break;
case "GHST":
realTokenName = ghstSymbol;
break;
case "CSPR":
case ghstSymbol:
realTokenName = ghstSymbol;
break;
}
@ -320,8 +311,8 @@ export const StakeInputArea = ({
receiveAmount={receiveAmount}
amountExceedsBalance={exceedsAmount}
connect={connect}
spendDecimals={upperToken === "GHST" ? 18 : 9}
receiveDecimals={bottomToken === "GHST" ? 18 : 9}
spendDecimals={upperToken === ghstSymbol ? 18 : 9}
receiveDecimals={bottomToken === ghstSymbol ? 18 : 9}
isClaim={isClaim}
isTrigger={isTrigger}
ftsoSymbol={ftsoSymbol}

View File

@ -69,9 +69,9 @@ const TokenModal = ({
</Link>
</Box>
<List>
{<TokenItem isUpper={isUpper} exclude={tokenToExclude} token="FTSO" name={ftsoSymbol} balance={ftsoBalance} />}
{<TokenItem isUpper={isUpper} exclude={tokenToExclude} token="STNK" name={stnkSymbol} balance={stnkBalance} />}
{<TokenItem isUpper={isUpper} exclude={tokenToExclude} token="GHST" name={ghstSymbol} balance={ghstBalance} />}
{<TokenItem isUpper={isUpper} exclude={tokenToExclude} token={ftsoSymbol} name={ftsoSymbol} balance={ftsoBalance} />}
{<TokenItem isUpper={isUpper} exclude={tokenToExclude} token={stnkSymbol} name={stnkSymbol} balance={stnkBalance} />}
{<TokenItem isUpper={isUpper} exclude={tokenToExclude} token={ghstSymbol} name={ghstSymbol} balance={ghstBalance} />}
</List>
</Box>
</Dialog>