Skip to content

Commit

Permalink
Merge pull request #63 from HausDAO/sk/token-api
Browse files Browse the repository at this point in the history
funding fields token name on gnosis
  • Loading branch information
skuhlmann authored Mar 3, 2025
2 parents 490a86b + 1efde55 commit debaac5
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 8 deletions.
30 changes: 23 additions & 7 deletions src/components/app/TokenRequestSelect.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,31 @@ import {
SelectValue,
} from "../ui/select";
import { ProposalFormLabel } from "./ProposalFormLabel";
import { WAGMI_CHAIN_OBJS } from "@/lib/constants";

const TokenItem = ({ token }: { token: TokenBalance }) => {
const TokenItem = ({
token,
chainid,
}: {
token: TokenBalance;
chainid: string;
}) => {
if (!chainid) return;
const value = token.tokenAddress || "0x0";
const label = token.token ? token.token.symbol : "ETH";
const label = token.token
? token.token.symbol
: WAGMI_CHAIN_OBJS[chainid].nativeCurrency.symbol;
return <SelectItem value={value}>{label}</SelectItem>;
};

export const TokenRequestSelect = ({
disabled,
tokens,
chainid,
}: {
disabled: boolean;
tokens?: TokenBalance[];
chainid: string;
}) => {
const form = useFormContext();
const [tokenBalance, setTokenBalance] = useState<string | undefined>();
Expand All @@ -38,22 +50,26 @@ export const TokenRequestSelect = ({
useEffect(() => {
if (selectedTokenAddress) {
if (selectedTokenAddress === "0x0") {
const nativeToken = tokens?.find(token => token.tokenAddress === null);
const nativeToken = tokens?.find(
(token) => token.tokenAddress === null
);

console.log("nativeToken", nativeToken);
setTokenBalance(nativeToken?.balance);
setTokenBalanceText(
`${formatEther(BigInt(nativeToken?.balance || "0"))} ETH`
`${formatEther(BigInt(nativeToken?.balance || "0"))} ${WAGMI_CHAIN_OBJS[chainid].nativeCurrency.symbol}`
);
} else {
const targetToken = tokens?.find(
token => token.tokenAddress === selectedTokenAddress
(token) => token.tokenAddress === selectedTokenAddress
);
setTokenBalance(targetToken?.balance);
setTokenBalanceText(
`${formatEther(BigInt(targetToken?.balance || "0"))} ${targetToken?.token?.symbol}`
);
}
}
}, [selectedTokenAddress, tokens]);
}, [selectedTokenAddress, tokens, chainid]);

const handleMax = () => {
form.setValue("tokenAmount", formatEther(BigInt(tokenBalance || "0")));
Expand Down Expand Up @@ -101,7 +117,7 @@ export const TokenRequestSelect = ({
<SelectContent className="bg-card rounded-none">
{tokens &&
tokens.map((token, i) => (
<TokenItem token={token} key={i} />
<TokenItem token={token} key={i} chainid={chainid} />
))}
</SelectContent>
</Select>
Expand Down
6 changes: 5 additions & 1 deletion src/components/forms/RequestFunding.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,11 @@ export const RequestFunding = ({
)}
/>

<TokenRequestSelect disabled={disabled} tokens={tokens} />
<TokenRequestSelect
disabled={disabled}
tokens={tokens}
chainid={params.chainid}
/>

<FormActionButtons
submitButtonText={submitButtonText}
Expand Down
1 change: 1 addition & 0 deletions src/lib/endpoints.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ const SUBGRAPH_IDS: KeychainList = {
"0x2105": `6vyAqRpCyrhLsfd6TfYAssvKywKhxJykkDbPxJZ4ZcEr`,
},
DAOHAUS: {
"0x1": "HouDe2pTdyKM9CTG1aodnPPPhm7U148BCH7eJ4HHwpdQ",
"0xaa36a7": `3k93SNY5Y1r4YYWEuPY9mpCm2wnGoYDKRtk82QZJ3Kvw`,
"0x64": `6x9FK3iuhVFaH9sZ39m8bKB5eckax8sjxooBPNKWWK8r`,
"0xa": `CgH5vtz9CJPdcSmD3XEh8fCVDjQjnRwrSawg71T1ySXW`,
Expand Down

0 comments on commit debaac5

Please sign in to comment.