From f9a968ccc6611297c305eb941ae7a73e5b961435 Mon Sep 17 00:00:00 2001 From: rajranjan0608 Date: Mon, 23 May 2022 18:31:51 +0530 Subject: [PATCH] cloudflare client ip patch --- client/src/components/FaucetForm.tsx | 62 ++++++++++++++-------------- middlewares/rateLimiter.ts | 15 ++++--- package-lock.json | 35 ++++++++++++++++ package.json | 3 +- server.ts | 2 +- 5 files changed, 80 insertions(+), 37 deletions(-) diff --git a/client/src/components/FaucetForm.tsx b/client/src/components/FaucetForm.tsx index 2f2ac2f..afa1be4 100644 --- a/client/src/components/FaucetForm.tsx +++ b/client/src/components/FaucetForm.tsx @@ -9,25 +9,26 @@ import FooterBox from './FooterBox'; import queryString from 'query-string'; const FaucetForm = (props: any) => { - const [chain, setChain] = useState(null) - const [chainConfigs, setChainConfigs] = useState([]) - const [inputAddress, setInputAddress] = useState("") + const [chain, setChain] = useState(null); + const [chainConfigs, setChainConfigs] = useState([]); + const [inputAddress, setInputAddress] = useState(""); const [address, setAddress] = useState(null); const [faucetAddress, setFaucetAddress] = useState(null); - const [options, setOptions] = useState([]) + const [options, setOptions] = useState([]); const [balance, setBalance] = useState(0); const [shouldAllowSend, setShouldAllowSend] = useState(false); - const [isLoading, setIsLoading] = useState(false) + const [isLoading, setIsLoading] = useState(false); const [sendTokenResponse, setSendTokenResponse] = useState({ txHash: null, message: null - }) + }); const recaptcha = new ReCaptcha(props.config.SITE_KEY, props.config.ACTION); + // Update chain configs useEffect(() => { updateChainConfigs(); - }, []) + }, []); useEffect(() => { updateBalance() @@ -76,6 +77,28 @@ const FaucetForm = (props: any) => { } }, [window.location.search, chainConfigs]); + // API calls + async function updateChainConfigs() { + const response = await props.axios.get(props.config.api.getChainConfigs); + setChainConfigs(response?.data); + } + + async function updateBalance() { + const response = await props.axios.get(props.config.api.getBalance, {params: {chain: chainConfigs[chain!]?.ID}}); + + if(response?.data || response?.data == 0) { + setBalance(response?.data); + } + } + + async function updateFaucetAddress() { + const response = await props.axios.get(props.config.api.faucetAddress, {params: {chain: chainConfigs[chain!]?.ID}}); + + if(response?.data) { + setFaucetAddress(response?.data); + } + } + function chainToIndex(id: any) { if(typeof id == "string") { id = id.toUpperCase(); @@ -89,14 +112,6 @@ const FaucetForm = (props: any) => { return index; } - async function updateFaucetAddress() { - const response = await props.axios.get(props.config.api.faucetAddress, {params: {chain: chainConfigs[chain!]?.ID}}); - - if(response?.data) { - setFaucetAddress(response?.data); - } - } - function updateAddress(addr: any): void { setInputAddress(addr!) @@ -111,24 +126,11 @@ const FaucetForm = (props: any) => { } } - async function updateBalance() { - const response = await props.axios.get(props.config.api.getBalance, {params: {chain: chainConfigs[chain!]?.ID}}); - - if(response?.data || response?.data == 0) { - setBalance(response?.data); - } - } - async function getCaptchaToken() { const token = await recaptcha.getToken(); return token; } - async function updateChainConfigs() { - const response = await props.axios.get(props.config.api.getChainConfigs); - setChainConfigs(response?.data); - } - async function updateChain(option: any) { let chainNum = option.value @@ -205,13 +207,13 @@ const FaucetForm = (props: any) => { ...base, color: "white" }) - }; + } const ChainDropdown = () => (