diff --git a/networks.json b/networks.json
index 2cadd0143d..b11d4eab41 100644
--- a/networks.json
+++ b/networks.json
@@ -651,6 +651,7 @@
"daoProposalSinglePkgPath": "gno.land/p/demo/teritori/dao_proposal_single_v4",
"daoInterfacesPkgPath": "gno.land/p/demo/teritori/dao_interfaces_v5",
"daoCorePkgPath": "gno.land/p/demo/teritori/dao_core_v4",
- "gnowebURL": "https://testnet.gno.teritori.com"
+ "gnowebURL": "https://testnet.gno.teritori.com",
+ "faucetURL": "https://testnet.gno.teritori.com:5050/?toaddr=$addr"
}
]
diff --git a/packages/components/hub/HubIntro.tsx b/packages/components/hub/HubIntro.tsx
index da012e8632..7086ea3829 100644
--- a/packages/components/hub/HubIntro.tsx
+++ b/packages/components/hub/HubIntro.tsx
@@ -1,10 +1,13 @@
+import axios from "axios";
import React, { useState } from "react";
import { View } from "react-native";
import { ProfileButton } from "./ProfileButton";
import logoSVG from "../../../assets/logos/logo.svg";
+import { useFeedbacks } from "../../context/FeedbacksProvider";
import { useAreThereWallets } from "../../hooks/useAreThereWallets";
import useSelectedWallet from "../../hooks/useSelectedWallet";
+import { getNetwork, NetworkKind } from "../../networks";
import { MyNFTs } from "../../screens/WalletManager/MyNFTs";
import { WalletDashboardHeader } from "../../screens/WalletManager/WalletDashboardHeader";
import { Overview } from "../../screens/WalletManager/components/Overview";
@@ -14,8 +17,10 @@ import { FullWidthSeparator } from "../FullWidthSeparator";
import { Quests } from "../Quests";
import { SVG } from "../SVG";
import { Section } from "../Section";
+import { PrimaryButton } from "../buttons/PrimaryButton";
import { MainConnectWalletButton } from "../connectWallet/MainConnectWalletButton";
import { UserAvatarWithFrame } from "../images/AvatarWithFrame";
+import { SpacerColumn } from "../spacer";
import { Tabs } from "../tabs/Tabs";
const walletsManagerTabItems = {
@@ -45,6 +50,8 @@ const ConnectedIntro: React.FC = () => {
+
+
@@ -68,6 +75,45 @@ const ConnectedIntro: React.FC = () => {
);
};
+const FaucetButton: React.FC = () => {
+ const selectedWallet = useSelectedWallet();
+ const network = getNetwork(selectedWallet?.networkId);
+ const { wrapWithFeedback } = useFeedbacks();
+ if (
+ network?.kind !== NetworkKind.Gno ||
+ !network.faucetURL ||
+ !selectedWallet
+ ) {
+ return null;
+ }
+ return (
+ <>
+
+ {
+ if (!network.faucetURL) {
+ throw new Error("No faucet for this network");
+ }
+ const res = await axios.get(
+ network.faucetURL.replace("$addr", selectedWallet.address)
+ );
+ if (res.status !== 200 || res.data !== "faucet success") {
+ throw new Error(res.data || "Unexpected error");
+ }
+ },
+ {
+ title: "Success",
+ message: "500 GNOTs have been sent to your address",
+ }
+ )}
+ />
+ >
+ );
+};
+
const DisconnectedIntro: React.FC = () => {
return (