From 1fc1d997bd8322ae54fc9347a639ad20b7f07c09 Mon Sep 17 00:00:00 2001 From: kkatusic Date: Fri, 30 Aug 2024 14:17:13 +0200 Subject: [PATCH 001/102] fix/recurring donation amount display --- .../recurringTab/RecurringDonationsTable.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/views/userProfile/donationsTab/recurringTab/RecurringDonationsTable.tsx b/src/components/views/userProfile/donationsTab/recurringTab/RecurringDonationsTable.tsx index ada4c3a5ed..7cd82360f0 100644 --- a/src/components/views/userProfile/donationsTab/recurringTab/RecurringDonationsTable.tsx +++ b/src/components/views/userProfile/donationsTab/recurringTab/RecurringDonationsTable.tsx @@ -122,11 +122,13 @@ const RecurringDonationTable: FC = ({ ) : ( - {limitFraction( - formatUnits( - BigInt(donation.flowRate) * - ONE_MONTH_SECONDS, - 18, + {formatDonation( + limitFraction( + formatUnits( + BigInt(donation.flowRate) * + ONE_MONTH_SECONDS, + 18, + ), ), )} From 3928ac2ddc4bbf9b2febda54c1c80ca13a42d142 Mon Sep 17 00:00:00 2001 From: Mohammad Ranjbar Z Date: Sun, 8 Sep 2024 11:35:21 +0330 Subject: [PATCH 002/102] Modify some changes in the lock modal for not started farms related to https://github.com/Giveth/giveth-dapps-v2/issues/4673#issuecomment-2327446052 --- src/components/GIVeconomyPages/GIVfarm.sc.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/GIVeconomyPages/GIVfarm.sc.tsx b/src/components/GIVeconomyPages/GIVfarm.sc.tsx index be12eadd52..b35efcb86b 100644 --- a/src/components/GIVeconomyPages/GIVfarm.sc.tsx +++ b/src/components/GIVeconomyPages/GIVfarm.sc.tsx @@ -49,6 +49,11 @@ export const PoolRow = styled(Row)` export const ContractRow = styled(Flex)` gap: 8px; + color: ${brandColors.cyan[500]}; + cursor: pointer; + &:hover { + color: ${brandColors.cyan[300]}; + } `; export const CopyWrapper = styled.div` From c4b41500b5b80bcfdf544a75d5994c895a96a533 Mon Sep 17 00:00:00 2001 From: Mitch Oz Date: Mon, 9 Sep 2024 16:29:40 -0600 Subject: [PATCH 003/102] text change min character count --- lang/ca.json | 2 +- lang/en.json | 2 +- lang/es.json | 2 +- src/components/views/create/DescriptionInput.tsx | 7 ++++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lang/ca.json b/lang/ca.json index 51adaf1269..2c88960307 100644 --- a/lang/ca.json +++ b/lang/ca.json @@ -138,7 +138,7 @@ "label.add_update": "Afegeix Actualització", "label.add_your_dao": "Afegeix la teva DAO", "label.again": "de nou", - "label.aim_for_200_500_words": "Apunta a 200-500 paraules.", + "label.provide_minimum_characters": "Proporcioneu almenys {min} caràcters de text en la descripció del vostre projecte.", "label.allo_protocol_registry_set_up": "Configuració del Registre del Protocol Allo", "label.all_donations": "Totes les Donacions", "label.all_fem": "Totes", diff --git a/lang/en.json b/lang/en.json index 1c73cb3262..fa7868718f 100644 --- a/lang/en.json +++ b/lang/en.json @@ -138,7 +138,7 @@ "label.add_update": "Add Update", "label.add_your_dao": "Add Your DAO", "label.again": "again", - "label.aim_for_200_500_words": "Aim for 200-500 words.", + "label.provide_minimum_characters": "Provide at least {min} characters of text in your project description.", "label.allo_protocol_registry_set_up": " Allo Protocol Registry Set up", "label.all_donations": "All Donations", "label.all_fem": "All", diff --git a/lang/es.json b/lang/es.json index 47de99c310..12754c7a8c 100644 --- a/lang/es.json +++ b/lang/es.json @@ -138,7 +138,7 @@ "label.add_update": "Añadir Actualización", "label.add_your_dao": "Agrega tu DAO", "label.again": "de nuevo", - "label.aim_for_200_500_words": "Apunta a 200-500 palabras.", + "label.provide_minimum_characters": "Proporcione al menos {min} caracteres de texto en la descripción de su proyecto.", "label.allo_protocol_registry_set_up": "Configuración del Registro del Protocolo Allo", "label.all_donations": "Todas las Donaciones", "label.all_fem": "Todas", diff --git a/src/components/views/create/DescriptionInput.tsx b/src/components/views/create/DescriptionInput.tsx index 0093651a48..f9c99c3af7 100644 --- a/src/components/views/create/DescriptionInput.tsx +++ b/src/components/views/create/DescriptionInput.tsx @@ -81,7 +81,12 @@ const DescriptionInput = ({ {formatMessage({ id: 'label.tell_us_about_your_project' })} - {formatMessage({ id: 'label.aim_for_200_500_words' })}{' '} + {formatMessage( + { id: 'label.provide_minimum_characters' }, + { + min: DESCRIPTION_MIN_LIMIT, + }, + )}{' '} setShowModal(true)}> {formatMessage({ id: 'label.how_to_write_a_good_project_desc', From a39b561099d0f97f42339997fd5ee6cbebb47799 Mon Sep 17 00:00:00 2001 From: HrithikSampson Date: Tue, 10 Sep 2024 07:11:27 +0530 Subject: [PATCH 004/102] fix: network modal showing while the page is loading --- src/components/views/donate/OnTime/OneTimeDonationCard.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/views/donate/OnTime/OneTimeDonationCard.tsx b/src/components/views/donate/OnTime/OneTimeDonationCard.tsx index f977521755..53335f2251 100644 --- a/src/components/views/donate/OnTime/OneTimeDonationCard.tsx +++ b/src/components/views/donate/OnTime/OneTimeDonationCard.tsx @@ -367,6 +367,7 @@ const CryptoDonation: FC<{ { setIsSanctioned(false); + setShowChangeNetworkModal(false); }} /> )} From d305aaac3e004feec835f13a16a7dcc97617f7c0 Mon Sep 17 00:00:00 2001 From: HrithikSampson Date: Tue, 10 Sep 2024 11:29:14 +0530 Subject: [PATCH 005/102] keep the sanctions modal until the page has redirected to all pages --- src/components/modals/SanctionedModal.tsx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/components/modals/SanctionedModal.tsx b/src/components/modals/SanctionedModal.tsx index da8ccdbcb9..0bd4a9a169 100644 --- a/src/components/modals/SanctionedModal.tsx +++ b/src/components/modals/SanctionedModal.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { brandColors, Button, @@ -21,12 +21,26 @@ interface SanctionModalProps { export const SanctionModal: React.FC = ({ closeModal }) => { const { formatMessage } = useIntl(); + const [isRedirecting, setIsRedirecting] = useState(false); const router = useRouter(); const navigateToAllProjects = () => { + setIsRedirecting(true); router.push(Routes.AllProjects); - closeModal(); }; + useEffect(() => { + const handleRouteChangeComplete = () => { + closeModal(); + setIsRedirecting(false); + }; + if(isRedirecting) { + router.events.on('routeChangeComplete', handleRouteChangeComplete); + } + return () => { + router.events.off('routeChangeComplete', handleRouteChangeComplete); + }; + }, [isRedirecting]); + return ( Date: Tue, 10 Sep 2024 11:34:51 +0530 Subject: [PATCH 006/102] fix: run linter --- src/components/modals/SanctionedModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/modals/SanctionedModal.tsx b/src/components/modals/SanctionedModal.tsx index 0bd4a9a169..c603d84afd 100644 --- a/src/components/modals/SanctionedModal.tsx +++ b/src/components/modals/SanctionedModal.tsx @@ -33,7 +33,7 @@ export const SanctionModal: React.FC = ({ closeModal }) => { closeModal(); setIsRedirecting(false); }; - if(isRedirecting) { + if (isRedirecting) { router.events.on('routeChangeComplete', handleRouteChangeComplete); } return () => { From b8ef7577ba26908898c0e77718deccce1c94eb8c Mon Sep 17 00:00:00 2001 From: Kilter Date: Tue, 10 Sep 2024 15:18:33 -0500 Subject: [PATCH 007/102] adding safe back to connectors --- package.json | 4 +- src/wagmiConfigs.ts | 5 +- yarn.lock | 470 +++++++++++++++++++++++++------------------- 3 files changed, 276 insertions(+), 203 deletions(-) diff --git a/package.json b/package.json index 2c14a02ee4..304acf1ae4 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@tanstack/react-query": "^5.45.1", "@vercel/speed-insights": "^1.0.9", "@web3auth/sign-in-with-solana": "^3.0.0", - "@web3modal/wagmi": "^5.0.7", + "@web3modal/wagmi": "^5.1.7", "apollo-upload-client": "^18.0.1", "base58": "^2.0.1", "bignumber.js": "^9.1.2", @@ -72,7 +72,7 @@ "swiper": "^11.1.3", "unsplash-js": "^7.0.19", "viem": "^2.16.1", - "wagmi": "^2.11.3" + "wagmi": "^2.12.10" }, "devDependencies": { "@babel/preset-typescript": "^7.23.3", diff --git a/src/wagmiConfigs.ts b/src/wagmiConfigs.ts index ad73f6936a..03c50ba47a 100644 --- a/src/wagmiConfigs.ts +++ b/src/wagmiConfigs.ts @@ -1,5 +1,5 @@ import { cookieStorage, createConfig, createStorage } from 'wagmi'; -import { walletConnect, coinbaseWallet } from '@wagmi/connectors'; +import { walletConnect, coinbaseWallet, safe } from '@wagmi/connectors'; import { createClient, http } from 'viem'; import configuration from './configuration'; @@ -28,6 +28,9 @@ export const wagmiConfig = createConfig({ metadata, }), coinbaseWallet({ appName: 'Giveth', version: '3' }), + safe({ + allowedDomains: [/app.safe.global$/], + }), ], ssr: true, storage: createStorage({ diff --git a/yarn.lock b/yarn.lock index 81677d6e9a..14e51e8bbd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2024,10 +2024,10 @@ resolved "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.1.tgz" integrity sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw== -"@metamask/sdk-communication-layer@0.26.4": - version "0.26.4" - resolved "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.26.4.tgz" - integrity sha512-+X4GEc5mV1gWK4moSswVlKsUh+RsA48qPlkxBLTUxQODSnyBe0TRMxE6mH+bSrfponnTzvBkGUXyEjvDwDjDHw== +"@metamask/sdk-communication-layer@0.28.2": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.28.2.tgz#25d84a6af4dd79324e0d4c9d1f307711fbd4aa91" + integrity sha512-kGx6qgP482DecPILnIS38bgxIjNransR3/Jh5Lfg9BXJLaXpq/MEGrjHGnJHAqCyfRymnd5cgexHtXJvQtRWQA== dependencies: bufferutil "^4.0.8" date-fns "^2.29.3" @@ -2035,23 +2035,24 @@ utf-8-validate "^5.0.2" uuid "^8.3.2" -"@metamask/sdk-install-modal-web@0.26.5": - version "0.26.5" - resolved "https://registry.npmjs.org/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.26.5.tgz" - integrity sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA== +"@metamask/sdk-install-modal-web@0.28.1": + version "0.28.1" + resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.28.1.tgz#3e7085c34eaec7f9974e4a928e7f5bea33a278c9" + integrity sha512-mHkIjWTpYQMPDMtLEEtTVXhae4pEjy7jDBfV7497L0U3VCPQrBl/giZBwA6AgKEX1emYcM2d1WRHWR9N4YhyJA== dependencies: qr-code-styling "^1.6.0-rc.1" -"@metamask/sdk@0.26.5": - version "0.26.5" - resolved "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.26.5.tgz" - integrity sha512-HS/MPQCCYRS+m3dDdGLcAagwYHiPv9iUshDMBjINUywCtfUN4P2BH8xdvPOgtnzRIuRSMXqMWBbZnTvEvBeQvA== +"@metamask/sdk@0.28.2": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.28.2.tgz#99995a2cefd4bc6c4459869ee15c3b91ad02c488" + integrity sha512-pylk1uJAZYyO3HcNW/TNfII3+T+Yx6qrFYaC/HmuSIuRJeXsdZuExSbNQ236iQocIy3L7JjI+GQKbv3TbN+HQQ== dependencies: "@metamask/onboarding" "^1.0.1" "@metamask/providers" "16.1.0" - "@metamask/sdk-communication-layer" "0.26.4" - "@metamask/sdk-install-modal-web" "0.26.5" + "@metamask/sdk-communication-layer" "0.28.2" + "@metamask/sdk-install-modal-web" "0.28.1" "@types/dom-screen-wake-lock" "^1.0.0" + "@types/uuid" "^10.0.0" bowser "^2.9.0" cross-fetch "^4.0.0" debug "^4.3.4" @@ -3983,7 +3984,7 @@ resolved "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== -"@stablelib/x25519@1.0.3", "@stablelib/x25519@^1.0.3": +"@stablelib/x25519@1.0.3": version "1.0.3" resolved "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz" integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== @@ -4983,6 +4984,11 @@ resolved "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== +"@types/uuid@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-10.0.0.tgz#e9c07fe50da0f53dc24970cca94d619ff03f6f6d" + integrity sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ== + "@types/w3c-web-usb@^1.0.6": version "1.0.10" resolved "https://registry.npmjs.org/@types/w3c-web-usb/-/w3c-web-usb-1.0.10.tgz" @@ -5161,23 +5167,23 @@ resolved "https://registry.npmjs.org/@vercel/speed-insights/-/speed-insights-1.0.10.tgz" integrity sha512-4uzdKB0RW6Ff2FkzshzjZ+RlJfLPxgm/00i0XXgxfMPhwnnsk92YgtqsxT9OcPLdJUyVU1DqFlSWWjIQMPkh0g== -"@wagmi/connectors@5.0.26": - version "5.0.26" - resolved "https://registry.npmjs.org/@wagmi/connectors/-/connectors-5.0.26.tgz" - integrity sha512-aGc3oDQPQwVqJr7S/7IU7rF0bA61OYXGPLzj30Y3MSmmEWXtAEgKpqkhIwiEdYQAMnlR3ukbqROq8qmUm/iYQg== +"@wagmi/connectors@5.1.10": + version "5.1.10" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.1.10.tgz#316dcdbb3924c546c177b0fc287e0f591225c63f" + integrity sha512-ybgKV09PIhgUgQ4atXTs2KOy4Hevd6f972SXfx6HTgsnFXlzxzN6o0aWjhavZOYjvx5tjuL3+8Mgqo0R7uP5Cg== dependencies: "@coinbase/wallet-sdk" "4.0.4" - "@metamask/sdk" "0.26.5" + "@metamask/sdk" "0.28.2" "@safe-global/safe-apps-provider" "0.18.3" "@safe-global/safe-apps-sdk" "9.1.0" - "@walletconnect/ethereum-provider" "2.13.0" + "@walletconnect/ethereum-provider" "2.16.1" "@walletconnect/modal" "2.6.2" cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" -"@wagmi/core@2.12.2": - version "2.12.2" - resolved "https://registry.npmjs.org/@wagmi/core/-/core-2.12.2.tgz" - integrity sha512-V/KmuTOBHVdg5NG5EIzLyWuXJ3f8a8YwpXM7ywjuEnGkljxh+WROKKd+I/Qc5RHK59nEhFOYWQKXuyz1szmO9A== +"@wagmi/core@2.13.5": + version "2.13.5" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.13.5.tgz#20764d88d36c31c4557511309eef7d23fa60c98e" + integrity sha512-lvX/hApJTSA/H2kOklokjIYiUpnT8CpBH80GeOiKxU0CGK1wNHTu20GRTCy0GF1t7jkNwPSG3m0SmnXmgYMmHw== dependencies: eventemitter3 "5.0.1" mipd "0.0.7" @@ -5253,6 +5259,28 @@ lodash.isequal "4.5.0" uint8arrays "3.1.0" +"@walletconnect/core@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.16.1.tgz#019b181387792e0d284e75074b961b48193d9b6a" + integrity sha512-UlsnEMT5wwFvmxEjX8s4oju7R3zadxNbZgsFeHEsjh7uknY2zgmUe1Lfc5XU6zyPb1Jx7Nqpdx1KN485ee8ogw== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.14" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.16.1" + "@walletconnect/utils" "2.16.1" + events "3.3.0" + lodash.isequal "4.5.0" + uint8arrays "3.1.0" + "@walletconnect/environment@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz" @@ -5260,20 +5288,20 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@2.13.0": - version "2.13.0" - resolved "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.13.0.tgz" - integrity sha512-dnpW8mmLpWl1AZUYGYZpaAfGw1HFkL0WSlhk5xekx3IJJKn4pLacX2QeIOo0iNkzNQxZfux1AK4Grl1DvtzZEA== +"@walletconnect/ethereum-provider@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.16.1.tgz#4fb8a1df39104ad3fbd02579233e796f432f6d35" + integrity sha512-oD7DNCssUX3plS5gGUZ9JQ63muQB/vxO68X6RzD2wd8gBsYtSPw4BqYFc7KTO6dUizD6gfPirw32yW2pTvy92w== dependencies: "@walletconnect/jsonrpc-http-connection" "1.0.8" "@walletconnect/jsonrpc-provider" "1.0.14" "@walletconnect/jsonrpc-types" "1.0.4" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/modal" "2.6.2" - "@walletconnect/sign-client" "2.13.0" - "@walletconnect/types" "2.13.0" - "@walletconnect/universal-provider" "2.13.0" - "@walletconnect/utils" "2.13.0" + "@walletconnect/sign-client" "2.16.1" + "@walletconnect/types" "2.16.1" + "@walletconnect/universal-provider" "2.16.1" + "@walletconnect/utils" "2.16.1" events "3.3.0" "@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": @@ -5284,15 +5312,6 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/heartbeat@1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz" - integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - "@walletconnect/heartbeat@1.2.2": version "1.2.2" resolved "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz" @@ -5321,14 +5340,6 @@ "@walletconnect/safe-json" "^1.0.2" events "^3.3.0" -"@walletconnect/jsonrpc-types@1.0.3": - version "1.0.3" - resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz" - integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - "@walletconnect/jsonrpc-types@1.0.4", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": version "1.0.4" resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz" @@ -5356,7 +5367,7 @@ events "^3.3.0" ws "^7.5.1" -"@walletconnect/keyvaluestorage@1.1.1", "@walletconnect/keyvaluestorage@^1.1.1": +"@walletconnect/keyvaluestorage@1.1.1": version "1.1.1" resolved "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz" integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA== @@ -5365,7 +5376,7 @@ idb-keyval "^6.2.1" unstorage "^1.9.0" -"@walletconnect/logger@2.1.2", "@walletconnect/logger@^2.0.1": +"@walletconnect/logger@2.1.2": version "2.1.2" resolved "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.1.2.tgz" integrity sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw== @@ -5415,13 +5426,20 @@ preact "10.4.1" qrcode "1.4.4" -"@walletconnect/relay-api@1.0.10", "@walletconnect/relay-api@^1.0.9": +"@walletconnect/relay-api@1.0.10": version "1.0.10" resolved "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.10.tgz" integrity sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw== dependencies: "@walletconnect/jsonrpc-types" "^1.0.2" +"@walletconnect/relay-api@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.11.tgz#80ab7ef2e83c6c173be1a59756f95e515fb63224" + integrity sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/relay-auth@1.0.4": version "1.0.4" resolved "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz" @@ -5446,7 +5464,22 @@ dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.13.0", "@walletconnect/sign-client@^2.7.2": +"@walletconnect/sign-client@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.16.1.tgz#94a2f630ba741bd180f540c53576c5ceaace4857" + integrity sha512-s2Tx2n2duxt+sHtuWXrN9yZVaHaYqcEcjwlTD+55/vs5NUPlISf+fFmZLwSeX1kUlrSBrAuxPUcqQuRTKcjLOA== + dependencies: + "@walletconnect/core" "2.16.1" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.16.1" + "@walletconnect/utils" "2.16.1" + events "3.3.0" + +"@walletconnect/sign-client@^2.7.2": version "2.13.0" resolved "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.13.0.tgz" integrity sha512-En7KSvNUlQFx20IsYGsFgkNJ2lpvDvRsSFOT5PTdGskwCkUfOpB33SQJ6nCrN19gyoKPNvWg80Cy6MJI0TjNYA== @@ -5468,18 +5501,6 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@walletconnect/types/-/types-2.12.0.tgz" - integrity sha512-uhB3waGmujQVJcPgJvGOpB8RalgYSBT+HpmVbfl4Qe0xJyqpRUo4bPjQa0UYkrHaW20xIw94OuP4+FMLYdeemg== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-types" "1.0.3" - "@walletconnect/keyvaluestorage" "^1.1.1" - "@walletconnect/logger" "^2.0.1" - events "^3.3.0" - "@walletconnect/types@2.13.0": version "2.13.0" resolved "https://registry.npmjs.org/@walletconnect/types/-/types-2.13.0.tgz" @@ -5492,63 +5513,77 @@ "@walletconnect/logger" "2.1.2" events "3.3.0" +"@walletconnect/types@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.16.1.tgz#6583d458d3f7b1919d482ba516ccb7878ec8c91f" + integrity sha512-9P4RG4VoDEF+yBF/n2TF12gsvT/aTaeZTVDb/AOayafqiPnmrQZMKmNCJJjq1sfdsDcHXFcZWMGsuCeSJCmrXA== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + "@walletconnect/types@^1.8.0": version "1.8.0" resolved "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz" integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== -"@walletconnect/universal-provider@2.13.0": - version "2.13.0" - resolved "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.13.0.tgz" - integrity sha512-B5QvO8pnk5Bqn4aIt0OukGEQn2Auk9VbHfhQb9cGwgmSCd1GlprX/Qblu4gyT5+TjHMb1Gz5UssUaZWTWbDhBg== +"@walletconnect/universal-provider@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.16.1.tgz#6d52c41c7388e01f89007956a1117748ab9a11e4" + integrity sha512-q/tyWUVNenizuClEiaekx9FZj/STU1F3wpDK4PUIh3xh+OmUI5fw2dY3MaNDjyb5AyrS0M8BuQDeuoSuOR/Q7w== dependencies: "@walletconnect/jsonrpc-http-connection" "1.0.8" "@walletconnect/jsonrpc-provider" "1.0.14" "@walletconnect/jsonrpc-types" "1.0.4" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "2.1.2" - "@walletconnect/sign-client" "2.13.0" - "@walletconnect/types" "2.13.0" - "@walletconnect/utils" "2.13.0" + "@walletconnect/sign-client" "2.16.1" + "@walletconnect/types" "2.16.1" + "@walletconnect/utils" "2.16.1" events "3.3.0" -"@walletconnect/utils@2.12.0": - version "2.12.0" - resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.12.0.tgz" - integrity sha512-GIpfHUe1Bjp1Tjda0SkJEizKOT2biuv7VPFnKsOLT1T+8QxEP9NruC+K2UUEvijS1Qr/LKH9P5004RYNgrch+w== +"@walletconnect/utils@2.13.0", "@walletconnect/utils@^2.4.5": + version "2.13.0" + resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.13.0.tgz" + integrity sha512-q1eDCsRHj5iLe7fF8RroGoPZpdo2CYMZzQSrw1iqL+2+GOeqapxxuJ1vaJkmDUkwgklfB22ufqG6KQnz78sD4w== dependencies: "@stablelib/chacha20poly1305" "1.0.1" "@stablelib/hkdf" "1.0.1" - "@stablelib/random" "^1.0.2" + "@stablelib/random" "1.0.2" "@stablelib/sha256" "1.0.1" - "@stablelib/x25519" "^1.0.3" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.12.0" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" + "@stablelib/x25519" "1.0.3" + "@walletconnect/relay-api" "1.0.10" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.13.0" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" detect-browser "5.3.0" query-string "7.1.3" - uint8arrays "^3.1.0" + uint8arrays "3.1.0" -"@walletconnect/utils@2.13.0", "@walletconnect/utils@^2.4.5": - version "2.13.0" - resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.13.0.tgz" - integrity sha512-q1eDCsRHj5iLe7fF8RroGoPZpdo2CYMZzQSrw1iqL+2+GOeqapxxuJ1vaJkmDUkwgklfB22ufqG6KQnz78sD4w== +"@walletconnect/utils@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.16.1.tgz#2099cc2bd16b0edc32022f64aa2c2c323b45d1d4" + integrity sha512-aoQirVoDoiiEtYeYDtNtQxFzwO/oCrz9zqeEEXYJaAwXlGVTS34KFe7W3/Rxd/pldTYKFOZsku2EzpISfH8Wsw== dependencies: "@stablelib/chacha20poly1305" "1.0.1" "@stablelib/hkdf" "1.0.1" "@stablelib/random" "1.0.2" "@stablelib/sha256" "1.0.1" "@stablelib/x25519" "1.0.3" - "@walletconnect/relay-api" "1.0.10" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" "@walletconnect/safe-json" "1.0.2" "@walletconnect/time" "1.0.2" - "@walletconnect/types" "2.13.0" + "@walletconnect/types" "2.16.1" "@walletconnect/window-getters" "1.0.1" "@walletconnect/window-metadata" "1.0.1" detect-browser "5.3.0" + elliptic "^6.5.7" query-string "7.1.3" uint8arrays "3.1.0" @@ -5571,7 +5606,7 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" -"@walletconnect/window-metadata@1.0.1", "@walletconnect/window-metadata@^1.0.1": +"@walletconnect/window-metadata@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz" integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== @@ -5588,119 +5623,116 @@ bs58 "^5.0.0" valid-url "^1.0.9" -"@web3modal/common@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/common/-/common-5.0.7.tgz" - integrity sha512-bNk5Y9ur6hLPcJ3VMXZx+1CHyDAI39YwvjLBNDyv23oKluLapm7wSfZ9TefiuoXYIorPBvO4WY/cGEDAbCBATw== +"@web3modal/base@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/base/-/base-5.1.7.tgz#f47511bc557b5da3d9bb9f0bcd94ac9272fab019" + integrity sha512-vPhfvm25b6GKh0kXYgR1PpUUbBaRdTqC5WuyQtCjlAovvVF7e4ouf4zeqVPM7+PTR/Tcbk3yuYzzcrlIgyyxmQ== + dependencies: + "@walletconnect/utils" "2.16.1" + "@web3modal/common" "5.1.7" + "@web3modal/core" "5.1.7" + "@web3modal/polyfills" "5.1.7" + "@web3modal/scaffold-ui" "5.1.7" + "@web3modal/scaffold-utils" "5.1.7" + "@web3modal/siwe" "5.1.7" + "@web3modal/ui" "5.1.7" + "@web3modal/wallet" "5.1.7" + optionalDependencies: + borsh "0.7.0" + bs58 "5.0.0" + +"@web3modal/common@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/common/-/common-5.1.7.tgz#bc24764e7eea978f06c47f846d8240517d5643e3" + integrity sha512-LQGHCwO9ltsui3rHrxdkm3zFkE1Q8CyOjpaMw/0s8fNCZOO+pPn2XwkGXuh0vUbEx/P0dlM4JbVm1Fky/JndAA== dependencies: bignumber.js "9.1.2" dayjs "1.11.10" -"@web3modal/core@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/core/-/core-5.0.7.tgz" - integrity sha512-p0WXgCMEk1YhnV3YECu+9Q151kRloKRnJJlnOA5V7g7yXigeFEabI1/PUZR1SvSvpMMCp4OIUZ0Kgw5CW3k2OA== +"@web3modal/core@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-5.1.7.tgz#fd557a5f9201ab25cd0f4daa737137c5866325b5" + integrity sha512-PM0U/mgky1K62DU0jZO4v0Njj4yADs8xjtP8vY3cl+f//0CdNOMuzbnKEGfutni39JNKCRPOqiA43j8koaJGOQ== dependencies: - "@web3modal/common" "5.0.7" - "@web3modal/wallet" "5.0.7" + "@web3modal/common" "5.1.7" + "@web3modal/wallet" "5.1.7" valtio "1.11.2" -"@web3modal/polyfills@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/polyfills/-/polyfills-5.0.7.tgz" - integrity sha512-KdpWYNqnp+oVy7ULnJvrwguugS2RQGDg4ecThdu6I4vtJF5O+39ILvTKWs9YaEzOwnHxtEM7g3kuENGot9gDXQ== +"@web3modal/polyfills@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/polyfills/-/polyfills-5.1.7.tgz#1167f81ec94f7373ec61134dfd501a6e27370372" + integrity sha512-LZZRBjG5VldIxdyhYfWvt6TOULMxFK+ufYd6G73B3VZMRT4mDtZwF/qRhzdRnvzVE11Ou9JTPW5vsSV/8Ge6rA== dependencies: buffer "6.0.3" -"@web3modal/scaffold-react@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/scaffold-react/-/scaffold-react-5.0.7.tgz" - integrity sha512-BiIPIMJC0WY/rb7dQ53kA5yBCWQWIGKABfgVdKndLRaRqGneGIBxE5XS1QJTjErddRaRxtCh3No9SM/eiAHd5w== - dependencies: - "@web3modal/scaffold" "5.0.7" - -"@web3modal/scaffold-ui@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/scaffold-ui/-/scaffold-ui-5.0.7.tgz" - integrity sha512-eu2aUQuqXn9iIUVeJLr++UQ6pBp/OUqjeam/fBpPlVsv+0Ooz5VxXOvS4Ra6d8Tw+szH7b7piefYtFBSEG5t4w== - dependencies: - "@web3modal/common" "5.0.7" - "@web3modal/core" "5.0.7" - "@web3modal/scaffold-utils" "5.0.7" - "@web3modal/siwe" "5.0.7" - "@web3modal/ui" "5.0.7" - "@web3modal/wallet" "5.0.7" +"@web3modal/scaffold-ui@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/scaffold-ui/-/scaffold-ui-5.1.7.tgz#febd2461ba064b8f0dc9d7fb4e6e8770acb636ee" + integrity sha512-9PYLJQT5DFzj4/6jSI2oajHp7EksQDg7YVpDWoxghmYaJITrEtdYTKz4JF6b3TJTkNGG1qFJATy23Ayu0qQWzA== + dependencies: + "@web3modal/common" "5.1.7" + "@web3modal/core" "5.1.7" + "@web3modal/scaffold-utils" "5.1.7" + "@web3modal/siwe" "5.1.7" + "@web3modal/ui" "5.1.7" + "@web3modal/wallet" "5.1.7" lit "3.1.0" -"@web3modal/scaffold-utils@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/scaffold-utils/-/scaffold-utils-5.0.7.tgz" - integrity sha512-EyVvc8aKrfbiDOOsmA9p0TcI316AdlWyE+0mUKuOr/rxzsxzLZvDmBrirLUVSod8w3iIz7ULOwMVAJtmKgLTMg== +"@web3modal/scaffold-utils@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/scaffold-utils/-/scaffold-utils-5.1.7.tgz#cb9ce5735eec2a6940bde768aeb79ef33b8515f3" + integrity sha512-bS4k2x2Ddfae+YXzn0e5iTm60Pb+4d8t64bRDpBQqQhbbA1ppSudZpfrUHQ8NeBti7sg8cpOd+ofDGuIFQzYlA== dependencies: - "@web3modal/core" "5.0.7" - "@web3modal/polyfills" "5.0.7" + "@web3modal/common" "5.1.7" + "@web3modal/core" "5.1.7" + "@web3modal/polyfills" "5.1.7" + "@web3modal/wallet" "5.1.7" valtio "1.11.2" -"@web3modal/scaffold-vue@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/scaffold-vue/-/scaffold-vue-5.0.7.tgz" - integrity sha512-aHrdIlHW1Xvap9kYUzM+YBMUJODr9INnznTlAreTbhnFsTJnr6309vjNg0yAQDEy2BPHmoLNOz849b6KL+S9HQ== - dependencies: - "@web3modal/scaffold" "5.0.7" - -"@web3modal/scaffold@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/scaffold/-/scaffold-5.0.7.tgz" - integrity sha512-AdQ0Fy+/hs9Sn5NZIjCSWttgtrMdIp8FODRvw11aSVeOQp9hDTF/coJzT4pbUdRcljpOOwSL9p5t1GE8hnNypw== - dependencies: - "@web3modal/common" "5.0.7" - "@web3modal/core" "5.0.7" - "@web3modal/scaffold-ui" "5.0.7" - "@web3modal/scaffold-utils" "5.0.7" - "@web3modal/siwe" "5.0.7" - "@web3modal/ui" "5.0.7" - "@web3modal/wallet" "5.0.7" - lit "3.1.0" - -"@web3modal/siwe@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/siwe/-/siwe-5.0.7.tgz" - integrity sha512-AyzRNJwIp1d0fPbv+Y5t0y9ik4waEMjV6sVRXm8JOntAjMSYDHB56TrhUVBl7s3VtT1vN6rXOMuLm7cAvxSzZg== - dependencies: - "@walletconnect/utils" "2.12.0" - "@web3modal/core" "5.0.7" - "@web3modal/scaffold-utils" "5.0.7" +"@web3modal/siwe@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/siwe/-/siwe-5.1.7.tgz#ef3b609e4227d21ed793130d74f36545316c520c" + integrity sha512-j1pIHh7XkVdcjav8DzQV7ZKdcyr5qUjbXFY3/KGUWWcwNE8m5Az1GdSqGkt4luWLLjTNpZ2mOcL/dmFD6tg8Gg== + dependencies: + "@walletconnect/utils" "2.16.1" + "@web3modal/common" "5.1.7" + "@web3modal/core" "5.1.7" + "@web3modal/scaffold-utils" "5.1.7" + "@web3modal/ui" "5.1.7" + "@web3modal/wallet" "5.1.7" lit "3.1.0" valtio "1.11.2" -"@web3modal/ui@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/ui/-/ui-5.0.7.tgz" - integrity sha512-fl5Lhzh4fdYWkGjreH8xsTll21DUp7HmdrchpTGOUSLE/AXofs4IZNnvOiYPGTCwELcF1EzODt9Li8m4PZyayg== +"@web3modal/ui@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-5.1.7.tgz#83b5cb5c63e2ff82d09713aaf6181f74ef35e5cb" + integrity sha512-f1qwO+28cR7o6OELdsGaE4Juvk22MC7Ro2gOnN+8VCQ0V8v33Z9jPtKdgFI/+2qg2fYKuR9pQX029vPPIqvg4A== dependencies: lit "3.1.0" qrcode "1.5.3" -"@web3modal/wagmi@^5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/wagmi/-/wagmi-5.0.7.tgz" - integrity sha512-jbkvWL0fIzYlmcIS5nR0IVlQ1OglmylgpKqdIMJLmem13st9VoPiWGMfB9XPpTx72Gyfg7Ac/yIpjIaKxoX3HA== - dependencies: - "@walletconnect/ethereum-provider" "2.13.0" - "@web3modal/polyfills" "5.0.7" - "@web3modal/scaffold" "5.0.7" - "@web3modal/scaffold-react" "5.0.7" - "@web3modal/scaffold-utils" "5.0.7" - "@web3modal/scaffold-vue" "5.0.7" - "@web3modal/siwe" "5.0.7" - -"@web3modal/wallet@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@web3modal/wallet/-/wallet-5.0.7.tgz" - integrity sha512-16dZED/wkDj1VEDCl3pfH8IT5XpehAR51rJXPlvdjN1k+YohiUkgHM/Y1C/Xj8uVDYgdEv91kMwi//HnKYNQKw== +"@web3modal/wagmi@^5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/wagmi/-/wagmi-5.1.7.tgz#50455377541de0d22698f7afa2f6dd5a18523aeb" + integrity sha512-6S0ilGAoPwupyOpgG7B1dSuWXOhiHI5AfKk9XTARcwcBHXV053CwA3cSjo6D1Q/KFGCKoFOTKpkm56BFXJA6NA== + dependencies: + "@walletconnect/ethereum-provider" "2.16.1" + "@walletconnect/utils" "2.16.1" + "@web3modal/base" "5.1.7" + "@web3modal/common" "5.1.7" + "@web3modal/polyfills" "5.1.7" + "@web3modal/scaffold-utils" "5.1.7" + "@web3modal/siwe" "5.1.7" + "@web3modal/wallet" "5.1.7" + +"@web3modal/wallet@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@web3modal/wallet/-/wallet-5.1.7.tgz#ab8a4f95f2bd6c78e9632107b13d14d10df8deaf" + integrity sha512-RQW1GOlp+DLmtq/Qx6vzofcleYHMkU6feocfbNzutG3AYxxmOsD9DbPSKB84ZYwROzsP+VVpOr9L+qEkMnGkzg== dependencies: "@walletconnect/logger" "2.1.2" - "@web3modal/polyfills" "5.0.7" + "@web3modal/common" "5.1.7" + "@web3modal/polyfills" "5.1.7" zod "3.22.4" "@wry/caches@^1.0.0": @@ -6537,7 +6569,7 @@ boolbase@^1.0.0: resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== -borsh@^0.7.0: +borsh@0.7.0, borsh@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz" integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== @@ -6763,6 +6795,13 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" +bs58@5.0.0, bs58@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" @@ -6770,13 +6809,6 @@ bs58@^4.0.0, bs58@^4.0.1: dependencies: base-x "^3.0.2" -bs58@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz" - integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== - dependencies: - base-x "^4.0.0" - bs58check@2.1.2, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz" @@ -8375,6 +8407,19 @@ elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4, elliptic@^6. minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +elliptic@^6.5.7: + version "6.5.7" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b" + integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emittery@^0.13.1: version "0.13.1" resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" @@ -15256,7 +15301,7 @@ string-length@^5.0.1: char-regex "^2.0.0" strip-ansi "^7.0.1" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -15283,6 +15328,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" @@ -15352,7 +15406,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -15380,6 +15434,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" @@ -16073,7 +16134,7 @@ uint8arrays@3.1.0: dependencies: multiformats "^9.4.2" -uint8arrays@^3.0.0, uint8arrays@^3.1.0: +uint8arrays@^3.0.0: version "3.1.1" resolved "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz" integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== @@ -16462,13 +16523,13 @@ w3c-xmlserializer@^4.0.0: dependencies: xml-name-validator "^4.0.0" -wagmi@^2.11.3: - version "2.11.3" - resolved "https://registry.npmjs.org/wagmi/-/wagmi-2.11.3.tgz" - integrity sha512-fUY9ABidNGPE5f5fRcs6yn0h7Y/rWq4XzJ7YhrYSHwwDji/ujkeVz54SA8w+UUWgCVn8GIvDjYC0tFaxGO5W8A== +wagmi@^2.12.10: + version "2.12.10" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.12.10.tgz#e212db1f86bf5522063494244e19676877dc6ccd" + integrity sha512-aSG0fW+Kft62syxAWkmSaMku5CZRW6Q2lsu64bLvLLVyZgZMt8+qQRdYk8WcFFdBzivkuDMRMREMxw7dwdImkw== dependencies: - "@wagmi/connectors" "5.0.26" - "@wagmi/core" "2.12.2" + "@wagmi/connectors" "5.1.10" + "@wagmi/core" "2.13.5" use-sync-external-store "1.2.0" walker@^1.0.8: @@ -17137,7 +17198,7 @@ workerpool@6.2.1: resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -17172,6 +17233,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" From a6fea23774567ff109deacace845a4e49deaea2a Mon Sep 17 00:00:00 2001 From: Mohammad Ranjbar Z Date: Thu, 12 Sep 2024 13:42:52 +0330 Subject: [PATCH 008/102] Modify givbacks page to be compatible with givback v2 related to #4679 --- lang/en.json | 8 +-- src/apollo/gql/gqlGivbacks.ts | 12 ++++ src/components/GIVeconomyPages/GIVbacks.tsx | 66 +++------------------ src/content/metatags.ts | 2 +- 4 files changed, 25 insertions(+), 63 deletions(-) create mode 100644 src/apollo/gql/gqlGivbacks.ts diff --git a/lang/en.json b/lang/en.json index fa7868718f..85703e02a2 100644 --- a/lang/en.json +++ b/lang/en.json @@ -353,7 +353,7 @@ "label.drag_and_drop_an_image_or": "Drag & drop an image here or,", "label.drag_to_allocate": "Drag to allocate", "label.duration_ago": "{duration} ago", - "label.each_givbacks_round_lasts_two_weeks": "Each GIVbacks round lasts two weeks. After the End Date, the GIV Allocated to that round is distributed to Givers who donated to verified projects during the round. Projects must apply for verification at least 1 week prior to the Start Date in order to be included in the round.", + "label.each_givbacks_round_lasts_two_weeks": "Each GIVbacks round lasts two weeks. The GIVbacks Rewards available depends on the amount donated at in the round, to a maximum amount of 1 million GIV. After the End Date, the GIVbacks Rewards for the round go to the eligible donors.", "label.earn": "Earn", "label.earn_a_yield": "Earn a Yield", "label.earn_giv_tokens_for_each_donation_made_through_your_link": "Earn GIV tokens for each donation made through your link", @@ -434,7 +434,7 @@ "label.givbacks_program": "GIVbacks program", "label.givbacks_rewards": "GIVbacks Rewards", "label.givbacks_rewards_corresponding_to_the_current_round": "GIVbacks rewards corresponding to the current round become available after the round ends. If you donated to a verified project and do not yet have rewards to claim, it is likely that GIVbacks have not yet been distributed for that round, or that you claimed your GIVbacks rewards already.", - "label.givbacks_rewards_donors_to_verified_projects": "GIVbacks rewards donors to verified projects with GIV, super-charging Giveth as a donor-driven force for good.", + "label.givbacks_rewards_donors_to_verified_projects": "When you make a donation of $5 or more to a GIVbacks eligible project you qualify to get GIV!", "label.givback_distributed_after_round": "GIV rewards from the GIVbacks program will be distributed after the end of the current round.", "label.give": "Give", "label.giveconomy": "GIVeconomy", @@ -479,7 +479,7 @@ "label.givstream_rewards": "GIVstream Rewards", "label.givstream_source": "GIVstream Source", "label.givtoken_holders_influence_the_treasyry": "GIV token holders influence the treasury, roadmap and mission of the Giveth ecosystem. By voting in the GIVgarden you earn rewards on your staked GIV!", - "label.giv_allocated_to_round": "GIV Allocated to Round", + "label.giv_allocated_to_round": "GIVbacks Rewards", "label.giv_fuels_and_directs": "GIV fuels and directs the Future of Giving, inspiring people to become Givers and participate in an ecosystem of collective support, abundance, and value-creation.", "label.giv_staking_is_available_on_gnosis_chain": "GIV staking is available on Gnosis Chain. Please bridge your GIV to Gnosis Chain, then switch network and stake to earn rewards.", "label.global_impact": "Global Impact", @@ -1151,7 +1151,7 @@ "label.when_someone_donates_using_your_link": "When someone donates to a verified project via your link, you’ll earn GIV!", "label.when_you_allocate_a_percentage_of_your_total_givpower": "When you allocate a percentage of your total GIVpower to this project, the GIVpower you have on other projects will decrease proportionally.", "label.when_you_donate_to_Verified_projects": "When you donate to verified projects you qualify to receive GIV tokens. Through GIVbacks, GIV empowers donors with governance rights via the GIVgarden.", - "label.when_you_giv_you_get_giv_back": "When you give you get GIV back!", + "label.when_you_giv_you_get_giv_back": "Give and get GIV back!", "label.when_you_harvest": "When you harvest {tokenSymbol} rewards, all liquid {tokenSymbol} allocated to you on that chain is sent to your wallet. Your {tokenSymbol}stream flowrate may also increase. Below is the breakdown of rewards you will get when you harvest.", "label.when_you_lock_your_tokens_midround": "When you lock your tokens mid-round, they will be locked for the remainder of the current round + the numbers of rounds you select.", "label.where?": "Where?", diff --git a/src/apollo/gql/gqlGivbacks.ts b/src/apollo/gql/gqlGivbacks.ts new file mode 100644 index 0000000000..2545452087 --- /dev/null +++ b/src/apollo/gql/gqlGivbacks.ts @@ -0,0 +1,12 @@ +import { gql } from '@apollo/client'; + +export const FETCH_ALLOCATED_GIVBACKS = gql` + query allocatedGivbacks($refreshCache: Boolean) { + allocatedGivbacks(refreshCache: $refreshCache) { + usdValueSentAmountInPowerRound + allocatedGivTokens + givPrice + date + } + } +`; diff --git a/src/components/GIVeconomyPages/GIVbacks.tsx b/src/components/GIVeconomyPages/GIVbacks.tsx index d4ad6e8475..1390825d07 100644 --- a/src/components/GIVeconomyPages/GIVbacks.tsx +++ b/src/components/GIVeconomyPages/GIVbacks.tsx @@ -19,8 +19,6 @@ import { GIVbackRewardCard, GBSubtitle, GBTitle, - GbDataBlock, - GbButton, GIVBackCard, RoundSection, RoundTitle, @@ -46,6 +44,7 @@ import links from '@/lib/constants/links'; import Routes from '@/lib/constants/Routes'; import { SubgraphDataHelper } from '@/lib/subgraph/subgraphDataHelper'; import { fetchSubgraphData } from '@/services/subgraph.service'; +import { FETCH_ALLOCATED_GIVBACKS } from '@/apollo/gql/gqlGivbacks'; export const TabGIVbacksTop = () => { const { formatMessage } = useIntl(); @@ -107,14 +106,6 @@ export const TabGIVbacksTop = () => { actionCb={() => { setShowHarvestModal(true); }} - subButtonLabel={ - givbackLiquidPart === 0n - ? formatMessage({ - id: 'label.why_dont_i_have_givbacks', - }) - : undefined - } - subButtonCb={() => setShowGivBackExplain(true)} network={chain?.id} targetNetworks={[ { @@ -157,6 +148,7 @@ export const TabGIVbacksBottom = () => { const [round, setRound] = useState(0); const [roundStarTime, setRoundStarTime] = useState(new Date()); const [roundEndTime, setRoundEndTime] = useState(new Date()); + const { data } = useQuery(FETCH_ALLOCATED_GIVBACKS); const { givTokenDistroHelper, isLoaded } = useGIVTokenDistroHelper(); useEffect(() => { if ( @@ -185,51 +177,6 @@ export const TabGIVbacksBottom = () => { return ( - - - - - - } - > - {formatMessage({ - id: 'label.when_you_donate_to_Verified_projects', - })} - - - - - } - > - {formatMessage({ - id: 'label.great_projects_make_the_giveconomy_thrive', - })} - - - @@ -303,9 +250,12 @@ export const TabGIVbacksBottom = () => {

- {formatMessage({ - id: 'label.one_million_giv', - })} + {data && + data.allocatedGivbacks && + data.allocatedGivbacks + .allocatedGivTokens + ? `${data.allocatedGivbacks.allocatedGivTokens} GIV` + : '?'} diff --git a/src/content/metatags.ts b/src/content/metatags.ts index f598fcc272..2a327c0efe 100644 --- a/src/content/metatags.ts +++ b/src/content/metatags.ts @@ -42,7 +42,7 @@ export const projectsMetatags = { export const givbacksMetatags = { title: 'GIVbacks: Get rewarded for donating to verified projects', - desc: 'GIVbacks rewards donors to verified projects with GIV, super-charging Giveth as a donor-driven force for good. GIVbacks is only available on Gnosis Chain.', + desc: 'When you make a donation of $5 or more to a GIVbacks eligible project you qualify to get GIV!', image: 'https://i.ibb.co/HTbdCdd/Thumbnail.png', url: 'https://giveth.io/givbacks', }; From 69eaf288b1bda5c9ae96492245f98b1a5701efda Mon Sep 17 00:00:00 2001 From: HrithikSampson Date: Thu, 12 Sep 2024 17:44:18 +0530 Subject: [PATCH 009/102] fix: multiple donation modal shown together --- .../modals/DonationByProjectOwner.tsx | 26 +++++++--- src/components/views/donate/DonateIndex.tsx | 48 +++++++++++++++--- src/components/views/donate/DonationCard.tsx | 6 +-- .../donate/OnTime/OneTimeDonationCard.tsx | 50 ++++++++----------- src/context/donate.context.tsx | 30 +++++++++++ 5 files changed, 112 insertions(+), 48 deletions(-) diff --git a/src/components/modals/DonationByProjectOwner.tsx b/src/components/modals/DonationByProjectOwner.tsx index 62978d202b..ace4ed5397 100644 --- a/src/components/modals/DonationByProjectOwner.tsx +++ b/src/components/modals/DonationByProjectOwner.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { brandColors, Button, @@ -12,27 +12,37 @@ import { useRouter } from 'next/router'; import { Modal } from '@/components/modals/Modal'; import Routes from '@/lib/constants/Routes'; import { mediaQueries } from '@/lib/constants/constants'; -import { useModalAnimation } from '@/hooks/useModalAnimation'; // Define the props interface interface DonationByProjectOwnerProps { - setShowDonationByProjectOwner: ( - showDonationByProjectOwner: boolean, - ) => void; + closeModal: () => void; } export const DonationByProjectOwner: React.FC = ({ - setShowDonationByProjectOwner, + closeModal, }) => { const { formatMessage } = useIntl(); const router = useRouter(); - const { closeModal } = useModalAnimation(setShowDonationByProjectOwner); + const [isRedirecting, setIsRedirecting] = useState(false); const navigateToAllProjects = () => { + setIsRedirecting(true); router.push(Routes.AllProjects); - closeModal(); }; + useEffect(() => { + const handleRouteChangeComplete = () => { + closeModal(); + setIsRedirecting(false); + }; + if (isRedirecting) { + router.events.on('routeChangeComplete', handleRouteChangeComplete); + } + return () => { + router.events.off('routeChangeComplete', handleRouteChangeComplete); + }; + }, [isRedirecting]); + return ( { const { formatMessage } = useIntl(); @@ -56,11 +60,13 @@ const DonateIndex: FC = () => { qrDonationStatus, draftDonationData, hasActiveQFRound, + currentDonateModal, setSuccessDonation, setQRDonationStatus, setDraftDonationData, setPendingDonationExists, startTimer, + setDonateModalByPriority, } = useDonateData(); const { renewExpirationDate, retrieveDraftDonation } = useQRCodeDonation(project); @@ -78,6 +84,7 @@ const DonateIndex: FC = () => { const [showQRCode, setShowQRCode] = React.useState( !!router.query.draft_donation, ); + const { walletAddress: address } = useGeneralWallet(); const [stopTimer, setStopTimer] = React.useState void)>(); useEffect(() => { @@ -87,10 +94,32 @@ const DonateIndex: FC = () => { }; }, [dispatch]); + const validateSanctions = async () => { + if (project.organization?.label === 'endaoment' && address) { + // We just need to check if the wallet is sanctioned for endaoment projects + const sanctioned = await isWalletSanctioned(address); + if (sanctioned) { + setDonateModalByPriority( + DonateModalPriorityValues.OFACSanctionListModal, + ); + return; + } + } + }; + useEffect(() => { - setShowDonationByProjectOwner( - userData?.id !== undefined && userData?.id === project.adminUser.id, - ); + validateSanctions(); + }, [project, address]); + + useEffect(() => { + if ( + userData?.id !== undefined && + userData?.id === project.adminUser.id + ) { + setDonateModalByPriority( + DonateModalPriorityValues.DonationByProjectOwner, + ); + } }, [userData?.id, project.adminUser]); useEffect(() => { @@ -221,11 +250,14 @@ const DonateIndex: FC = () => { <> - {showDonationByProjectOwner && ( + {currentDonateModal === + DonateModalPriorityValues.DonationByProjectOwner && ( { + setDonateModalByPriority( + DonateModalPriorityValues.None, + ); + }} /> )} {alreadyDonated && ( diff --git a/src/components/views/donate/DonationCard.tsx b/src/components/views/donate/DonationCard.tsx index 7495dc964f..e69ebaab77 100644 --- a/src/components/views/donate/DonationCard.tsx +++ b/src/components/views/donate/DonationCard.tsx @@ -53,7 +53,7 @@ export const DonationCard: FC = ({ address.chainType === ChainType.EVM && address.networkId === config.OPTIMISM_NETWORK_NUMBER, ); - + const isEndaomentProject = project?.organization?.label === 'endaoment'; const isOwnerOnEVM = project?.adminUser?.walletAddress && isAddress(project.adminUser?.walletAddress); @@ -94,10 +94,10 @@ export const DonationCard: FC = ({ // If both conditions are met, set the active tab to 'RECURRING' using the setTab function. // This ensures that the 'RECURRING' tab is active by default if project has Op Address. useEffect(() => { - if (!router.query.tab && hasOpAddress) { + if (!router.query.tab && hasOpAddress && !isEndaomentProject) { setTab(ETabs.RECURRING); } - }, [router.query, hasOpAddress]); + }, [router.query, hasOpAddress, isEndaomentProject]); return ( diff --git a/src/components/views/donate/OnTime/OneTimeDonationCard.tsx b/src/components/views/donate/OnTime/OneTimeDonationCard.tsx index 53335f2251..eb8ac4692a 100644 --- a/src/components/views/donate/OnTime/OneTimeDonationCard.tsx +++ b/src/components/views/donate/OnTime/OneTimeDonationCard.tsx @@ -35,7 +35,10 @@ import { useAppDispatch, useAppSelector } from '@/features/hooks'; import DonateToGiveth from '@/components/views/donate/DonateToGiveth'; import SaveGasFees from './SaveGasFees'; import SwitchToAcceptedChain from '@/components/views/donate/SwitchToAcceptedChain'; -import { useDonateData } from '@/context/donate.context'; +import { + DonateModalPriorityValues, + useDonateData, +} from '@/context/donate.context'; import { useModalCallback } from '@/hooks/useModalCallback'; import DonateQFEligibleNetworks from './DonateQFEligibleNetworks'; import { getActiveRound } from '@/helpers/qf'; @@ -58,8 +61,6 @@ import { TokenIcon } from '../TokenIcon/TokenIcon'; import { SelectTokenModal } from './SelectTokenModal/SelectTokenModal'; import { Spinner } from '@/components/Spinner'; import { useSolanaBalance } from '@/hooks/useSolanaBalance'; -import { isWalletSanctioned } from '@/services/donation'; -import SanctionModal from '@/components/modals/SanctionedModal'; const CryptoDonation: FC<{ setIsQRDonation: (isQRDonation: boolean) => void; @@ -76,7 +77,13 @@ const CryptoDonation: FC<{ const router = useRouter(); const { isSignedIn } = useAppSelector(state => state.user); - const { project, hasActiveQFRound, selectedOneTimeToken } = useDonateData(); + const { + project, + hasActiveQFRound, + selectedOneTimeToken, + currentDonateModal, + setDonateModalByPriority, + } = useDonateData(); const dispatch = useAppDispatch(); const { @@ -97,7 +104,6 @@ const CryptoDonation: FC<{ const [showDonateModal, setShowDonateModal] = useState(false); const [showInsufficientModal, setShowInsufficientModal] = useState(false); const [showChangeNetworkModal, setShowChangeNetworkModal] = useState(false); - const [isSanctioned, setIsSanctioned] = useState(false); const [acceptedChains, setAcceptedChains] = useState( [], ); @@ -149,10 +155,6 @@ const CryptoDonation: FC<{ address => address.chainType === ChainType.STELLAR, ); - useEffect(() => { - validateSanctions(); - }, [project, address]); - useEffect(() => { if ( (networkId || @@ -327,17 +329,6 @@ const CryptoDonation: FC<{ } }, [selectedTokenBalance, amount, selectedOneTimeToken?.address, gasfee]); - const validateSanctions = async () => { - if (project?.organization?.label === 'endaoment' && address) { - // We just need to check if the wallet is sanctioned for endaoment projects - const sanctioned = await isWalletSanctioned(address); - if (sanctioned) { - setIsSanctioned(true); - return; - } - } - }; - const amountErrorText = useMemo(() => { const totalAmount = Number(formatUnits(gasfee, tokenDecimals)).toFixed( 10, @@ -352,6 +343,14 @@ const CryptoDonation: FC<{ ); }, [gasfee, tokenDecimals, selectedOneTimeToken?.symbol, formatMessage]); + useEffect(() => { + if (showChangeNetworkModal && acceptedChains) { + setDonateModalByPriority( + DonateModalPriorityValues.ShowNetworkModal, + ); + } + }, [showChangeNetworkModal, acceptedChains]); + // We need givethDonationAmount here because we need to calculate the donation share // for Giveth. If user want to donate minimal amount to projecct, the donation share for Giveth // has to be 0, disabled in UI and DonationModal @@ -363,21 +362,14 @@ const CryptoDonation: FC<{ return ( - {isSanctioned && ( - { - setIsSanctioned(false); - setShowChangeNetworkModal(false); - }} - /> - )} {showQFModal && ( )} - {!isSanctioned && showChangeNetworkModal && acceptedChains && ( + {currentDonateModal === + DonateModalPriorityValues.ShowNetworkModal && ( >; + currentDonateModal: DonateModalPriorityValues; + setDonateModalByPriority: ( + changeCurrentModal: DonateModalPriorityValues, + ) => void; setSelectedRecurringToken: Dispatch< SetStateAction >; @@ -64,13 +68,24 @@ interface IProviderProps { project: IProject; } +export enum DonateModalPriorityValues { + None, + ShowNetworkModal, + DonationByProjectOwner, + OFACSanctionListModal, +} + const DonateContext = createContext({ setSuccessDonation: () => {}, setSelectedOneTimeToken: () => {}, setSelectedRecurringToken: () => {}, project: {} as IProject, + currentDonateModal: DonateModalPriorityValues.None, tokenStreams: {}, fetchProject: async () => {}, + setDonateModalByPriority: ( + changeCurrentModal: DonateModalPriorityValues, + ) => {}, draftDonationData: {} as IDraftDonation, fetchDraftDonation: async () => {}, qrDonationStatus: 'waiting', @@ -105,6 +120,8 @@ export const DonateProvider: FC = ({ children, project }) => { const [successDonation, setSuccessDonation] = useState(); const [projectData, setProjectData] = useState(project); + const [currentDonateModal, setCurrentDonateModal] = + useState(DonateModalPriorityValues.None); const { chain } = useAccount(); @@ -113,6 +130,17 @@ export const DonateProvider: FC = ({ children, project }) => { setSelectedRecurringToken(undefined); }, [chain]); + const setDonateModalByPriority = useCallback( + (changeModal: DonateModalPriorityValues) => { + if (changeModal === DonateModalPriorityValues.None) { + setCurrentDonateModal(DonateModalPriorityValues.None); + } else if (changeModal > currentDonateModal) { + setCurrentDonateModal(changeModal); + } + }, + [currentDonateModal], + ); + const fetchProject = useCallback(async () => { const { data } = (await client.query({ query: FETCH_PROJECT_BY_SLUG_DONATION, @@ -149,6 +177,8 @@ export const DonateProvider: FC = ({ children, project }) => { selectedOneTimeToken, pendingDonationExists, selectedRecurringToken, + setDonateModalByPriority, + currentDonateModal, setSelectedOneTimeToken, setSelectedRecurringToken, tokenStreams, From ff6405ec14f17c8dfcab869f705615b82739dfcd Mon Sep 17 00:00:00 2001 From: HrithikSampson Date: Thu, 12 Sep 2024 18:38:45 +0530 Subject: [PATCH 010/102] add OFAC Sanction Modal --- src/components/views/donate/DonateIndex.tsx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/components/views/donate/DonateIndex.tsx b/src/components/views/donate/DonateIndex.tsx index faed61d5c1..aa7c4bac6b 100644 --- a/src/components/views/donate/DonateIndex.tsx +++ b/src/components/views/donate/DonateIndex.tsx @@ -50,6 +50,7 @@ import { IDraftDonation } from '@/apollo/types/gqlTypes'; import StorageLabel from '@/lib/localStorage'; import DonationByProjectOwner from '@/components/modals/DonationByProjectOwner'; import { isWalletSanctioned } from '@/services/donation'; +import SanctionModal from '@/components/modals/SanctionedModal'; const DonateIndex: FC = () => { const { formatMessage } = useIntl(); @@ -260,6 +261,18 @@ const DonateIndex: FC = () => { }} /> )} + + {currentDonateModal === + DonateModalPriorityValues.OFACSanctionListModal && ( + { + setDonateModalByPriority( + DonateModalPriorityValues.None, + ); + }} + /> + )} + {alreadyDonated && ( From d4d658429439b5df4684568e8ee25a7f237a4dd4 Mon Sep 17 00:00:00 2001 From: Kilter Date: Thu, 12 Sep 2024 13:47:24 -0500 Subject: [PATCH 011/102] moving from verified to vouches --- lang/ca.json | 9 ++++- lang/en.json | 4 ++ lang/es.json | 4 ++ src/apollo/gql/gqlProjects.ts | 4 ++ src/apollo/types/types.ts | 1 + src/components/DonateSocialBox.tsx | 2 +- src/components/badges/GivBackBadge.tsx | 36 +++++++++++++++++ src/components/badges/VerifiedBadge.tsx | 2 +- src/components/menu/FilterMenu.tsx | 2 +- src/components/project-card/ProjectCard.tsx | 20 +++++++++- src/components/views/donate/DonateIndex.tsx | 2 +- .../donate/DonatePageProjectDescription.tsx | 6 +++ .../donate/OnTime/OneTimeDonationCard.tsx | 4 +- .../Recurring/RecurringDonationCard.tsx | 2 +- .../views/project/ProjectBadges.tsx | 17 +++++++- .../views/project/ProjectGIVbackToast.tsx | 40 ++++++++++++++----- 16 files changed, 134 insertions(+), 21 deletions(-) create mode 100644 src/components/badges/GivBackBadge.tsx diff --git a/lang/ca.json b/lang/ca.json index 2c88960307..306600cafc 100644 --- a/lang/ca.json +++ b/lang/ca.json @@ -1108,6 +1108,8 @@ "label.verification_rejected": "Verificació rebutjada", "label.verification_status": "Estat de verificació", "label.verified": "Verificat", + "label.vouched": "Avalat", + "label.isGivbackEligible": "Apte per a Givbacks", "label.verified_projects": "Projectes verificats", "label.verified_status_for": "Elegibilitat per a GIVbacks per a", "label.verify_email_address": "Verificar correu electrònic", @@ -1302,7 +1304,7 @@ "label.passport_connected": "Passaport connectat", "label.increase_passport_score": "Augmenta la puntuació del passaport", "label.project_owner_address_detected": "Adreça del propietari del projecte detectada", - "label.project_owner_cant_donate_to_own_project": "No pots donar a un projecte del qual ets propietari. Hi ha milers de projectes a Giveth que busquen el teu suport! Si us plau, tria un altre projecte per donar.", + "label.project_owner_cant_donate_to_own_project": "No pots donar a un projecte del qual ets propietari. Hi ha milers de projectes a Giveth que busquen el teu suport! Si us plau, tria un altre projecte per donar.", "label.qf_donor_eligibility.banner.check_eligibility": "Fes que les teves donacions es igualin! Verifica la teva unicitat amb un clic.", "label.qf_donor_eligibility.banner.recheck_eligibility": "Fes que les teves donacions es igualin! Augmenta la teva puntuació de Gitcoin Passport abans de", "label.qf_donor_eligibility.banner.more_info_needed": "Necessitem una mica més d'informació per verificar la teva elegibilitat per QF!", @@ -1627,7 +1629,9 @@ "project.givback_toast.description.non_verified_public": "Actualment, els GIVbacks només s'atorguen per donacions fetes a projectes elegibles per a GIVbacks a Ethereum. La teva contribució segueix sent important, fins i tot si no genera GIVbacks!", "project.givback_toast.description.verified_owner": "Impulsa el teu projecte per augmentar la quantitat de GIVbacks que reben els teus donants a Ethereum i augmentar la seva visibilitat entre altres projectes.", "project.givback_toast.description.verified_owner.note": "Com a propietari d'aquest projecte, no rebràs GIVbacks per donar-hi.", - "project.givback_toast.description.verified_public": "Les donacions a Ethereum a projectes elegibles per a GIVbacks són recompensades amb GIV. Impulsa aquest projecte per augmentar el seu percentatge de recompenses i fer-lo més visible a la pàgina de projectes!", "project.givback_toast.title.non_verified_owner": "El teu projecte està creant o donant suport a béns públics?", + "project.givback_toast.description.verified_public": "Les donacions a Ethereum a projectes elegibles per a GIVbacks són recompensades amb GIV. Impulsa aquest projecte per augmentar el seu percentatge de recompenses i fer-lo més visible a la pàgina de projectes!", + "project.givback_toast.title.non_verified_owner": "El teu projecte està creant o donant suport a béns públics?", + "project.givback_toast.description.verified_public_not_eligible": "Bloqueja i assegura els teus tokens GIV per obtenir GIVpower. Impulsa aquest projecte per fer-lo més visible a la pàgina de projectes! Tingues en compte que, tot i que aquest projecte és elegible per ser impulsat amb GIVpower, no generarà GIVbacks per als seus donants.", "project.givback_toast.title.non_verified_owner_cancelled": "Estat Cancel·lat", "project.givback_toast.title.non_verified_owner_deactive": "Mode Desactivat", "project.givback_toast.title.non_verified_owner_draft": "Publica el teu projecte avui!", @@ -1639,6 +1643,7 @@ "project.givback_toast.title.verified_owner_2": " del valor de la donació!", "project.givback_toast.title.verified_public_1": "Rep recompenses de fins a ", "project.givback_toast.title.verified_public_2": " del valor de la teva donació!", + "project.givback_toast.title.verified_public_not_eligible": "Impulsa aquest projecte amb GIVpower!", "projects_all": "Tots els Projectes", "projects_all_desc": "SUPORT A PROJECTES GLOBALS DE BÉS PÚBLICS, SOSTENIBILITAT I REGENERACIÓ AMB CRYPTODONACIONS", "projects_art-and-culture": "Art i Cultura", diff --git a/lang/en.json b/lang/en.json index fa7868718f..0a680c2653 100644 --- a/lang/en.json +++ b/lang/en.json @@ -1110,6 +1110,8 @@ "label.verification_rejected": "Verification Rejected", "label.verification_status": "GIVbacks Eligibility status", "label.verified": "Verified", + "label.vouched": "Vouched", + "label.isGivbackEligible": "Givbacks Eligible", "label.verified_projects": "Verified projects", "label.verified_status_for": "GIVbacks Eligibility for", "label.verify_email_address": "Verify email address", @@ -1633,6 +1635,7 @@ "project.givback_toast.description.verified_owner": "Boost your project to increase the amount of GIVbacks your donors on Ethereum receive and increase its visibility among other projects!", "project.givback_toast.description.verified_owner.note": "As the owner of this project, you won’t get GIVbacks for donating to it.", "project.givback_toast.description.verified_public": "Ethereum donations to GIVbacks Eligible projects are rewarded with GIV. Boost this project to increase its rewards percentage and make it more visible on the projects page!", + "project.givback_toast.description.verified_public_not_eligible": "Stake and lock your GIV tokens to get GIVpower. Boost this project make it more visible on the projects page! Note that while this project is eligible to be boosted with GIVpower, it will not yield GIVbacks to it's donors.", "project.givback_toast.title.non_verified_owner": "Is your project creating or supporting public goods?", "project.givback_toast.title.non_verified_owner_cancelled": "Project Cancelled", "project.givback_toast.title.non_verified_owner_deactive": "Project Deactivated", @@ -1641,6 +1644,7 @@ "project.givback_toast.title.non_verified_owner_rejected": "We couldn't verify your project as a public good", "project.givback_toast.title.non_verified_owner_submitted": "Application submitted", "project.givback_toast.title.non_verified_public": "Why no GIVbacks?", + "project.givback_toast.title.verified_public_not_eligible": "Boost this project with GIVpower!", "project.givback_toast.title.verified_owner_1": "Donors get rewarded with up to ", "project.givback_toast.title.verified_owner_2": " of the donation value!", "project.givback_toast.title.verified_public_1": "Get rewarded with up to ", diff --git a/lang/es.json b/lang/es.json index 12754c7a8c..f38f96da94 100644 --- a/lang/es.json +++ b/lang/es.json @@ -1107,6 +1107,8 @@ "label.verification_rejected": "Verificación rechazada", "label.verification_status": "Estado de verificación", "label.verified": "Verificado", + "label.vouched": "Avalado", + "label.isGivbackEligible": "Elegible para GIVbacks", "label.verified_projects": "Proyectos verificados", "label.verified_status_for": "Elegibilidad para GIVbacks para", "label.verify_email_address": "Verificar email", @@ -1628,6 +1630,7 @@ "project.givback_toast.description.verified_owner": "Impulsa tu proyecto para aumentar la cantidad de GIVbacks que reciben tus donantes en Ethereum y aumentar su visibilidad entre otros proyectos.", "project.givback_toast.description.verified_owner.note": "Como propietario de este proyecto, no recibirás GIVbacks por donar a él.", "project.givback_toast.description.verified_public": "Las donaciones en Ethereum a proyectos elegibles para GIVbacks son recompensadas con GIV. ¡Impulsa este proyecto para aumentar su porcentaje de recompensas y hacerlo más visible en la página de proyectos!", + "project.givback_toast.description.verified_public_not_eligible": "Haz stake y bloquea tus GIV tokens para obtener GIVpower. ¡Impulsa este proyecto para hacerlo más visible en la página de proyectos! Ten en cuenta que aunque este proyecto es elegible para ser impulsado con GIVpower, no generará GIVbacks para sus donantes.", "project.givback_toast.title.non_verified_owner": "¿Tu proyecto está creando o apoyando bienes públicos?", "project.givback_toast.title.non_verified_owner_cancelled": "Estado Cancelado", "project.givback_toast.title.non_verified_owner_deactive": "Modo Desactivado", @@ -1636,6 +1639,7 @@ "project.givback_toast.title.non_verified_owner_rejected": "No pudimos verificar tu proyecto como un bien público", "project.givback_toast.title.non_verified_owner_submitted": "Solicitud enviada", "project.givback_toast.title.non_verified_public": "¿Por qué no GIVbacks?", + "project.givback_toast.title.verified_public_not_eligible": "Boostea este proyecto con GIVpower!", "project.givback_toast.title.verified_owner_1": "Los donantes reciben recompensas de hasta ", "project.givback_toast.title.verified_owner_2": " del valor de la donación.", "project.givback_toast.title.verified_public_1": "¡Recibe recompensas de hasta ", diff --git a/src/apollo/gql/gqlProjects.ts b/src/apollo/gql/gqlProjects.ts index 2b59212024..ee009ad012 100644 --- a/src/apollo/gql/gqlProjects.ts +++ b/src/apollo/gql/gqlProjects.ts @@ -8,6 +8,7 @@ export const PROJECT_CORE_FIELDS = gql` image slug verified + isGivbackEligible totalDonations qfRounds { id @@ -142,6 +143,7 @@ export const FETCH_PROJECT_BY_SLUG_DONATION = gql` slug descriptionSummary verified + isGivbackEligible totalDonations sumDonationValueUsdForActiveQfRound countUniqueDonorsForActiveQfRound @@ -211,6 +213,7 @@ export const FETCH_PROJECT_BY_SLUG_SINGLE_PROJECT = gql` image slug verified + isGivbackEligible totalDonations description addresses { @@ -595,6 +598,7 @@ export const ADD_RECIPIENT_ADDRESS_TO_PROJECT = gql` listed reviewStatus verified + isGivbackEligible slugHistory creationDate adminUserId diff --git a/src/apollo/types/types.ts b/src/apollo/types/types.ts index ad0f16556f..b2ee503baf 100644 --- a/src/apollo/types/types.ts +++ b/src/apollo/types/types.ts @@ -48,6 +48,7 @@ export interface IProject { impactLocation?: string; qualityScore?: number; verified?: boolean; + isGivbackEligible?: boolean; verificationStatus?: EProjectVerificationStatus; listed?: boolean | null; categories: ICategory[]; diff --git a/src/components/DonateSocialBox.tsx b/src/components/DonateSocialBox.tsx index 69f4cb9542..b63eb76ba8 100644 --- a/src/components/DonateSocialBox.tsx +++ b/src/components/DonateSocialBox.tsx @@ -27,7 +27,7 @@ interface ISocialBox { const DonateSocialBox: FC = props => { const [showModal, setShowModal] = useState(false); const { project, isDonateFooter } = props; - const { slug, verified } = project; + const { slug } = project; const { isMobile } = useDetectDevice(); const { formatMessage } = useIntl(); const { isActive } = useProjectContext(); diff --git a/src/components/badges/GivBackBadge.tsx b/src/components/badges/GivBackBadge.tsx new file mode 100644 index 0000000000..633317abce --- /dev/null +++ b/src/components/badges/GivBackBadge.tsx @@ -0,0 +1,36 @@ +import { + Overline, + FlexCenter, + brandColors, + IconGIVBack, +} from '@giveth/ui-design-system'; +import styled from 'styled-components'; +import { useIntl } from 'react-intl'; + +export const GivBackBadge = () => { + const { formatMessage } = useIntl(); + return ( + + + + {formatMessage({ id: 'label.isGivbackEligible' })} + + + ); +}; + +const Wrapper = styled(FlexCenter)` + height: 30px; + background: ${brandColors.giv[500]}; + border-radius: 56px; + color: white; + padding: 2px 12px 0 10px; + justify-content: center; + margin-right: 8px; +`; + +const TextBadge = styled(Overline)` + padding-left: 0.5rem; + margin-right: 5px; + text-transform: uppercase; +`; diff --git a/src/components/badges/VerifiedBadge.tsx b/src/components/badges/VerifiedBadge.tsx index 85c151a083..ccc62a2091 100644 --- a/src/components/badges/VerifiedBadge.tsx +++ b/src/components/badges/VerifiedBadge.tsx @@ -12,7 +12,7 @@ export const VerifiedBadge = () => { - {formatMessage({ id: 'label.verified' })} + {formatMessage({ id: 'label.vouched' })} ); diff --git a/src/components/menu/FilterMenu.tsx b/src/components/menu/FilterMenu.tsx index a7baeb5d9a..5be3f95aee 100644 --- a/src/components/menu/FilterMenu.tsx +++ b/src/components/menu/FilterMenu.tsx @@ -23,7 +23,7 @@ interface IFilterMenuProps { const projectsFeatures = [ { - label: { id: 'label.verified' }, + label: { id: 'label.vouched' }, value: EProjectsFilter.VERIFIED, }, ]; diff --git a/src/components/project-card/ProjectCard.tsx b/src/components/project-card/ProjectCard.tsx index 9ea9b3767f..38a73c3663 100644 --- a/src/components/project-card/ProjectCard.tsx +++ b/src/components/project-card/ProjectCard.tsx @@ -14,6 +14,7 @@ import { H5, Flex, IconHelpFilled16, + IconGIVBack16, } from '@giveth/ui-design-system'; import Link from 'next/link'; import { useIntl } from 'react-intl'; @@ -61,6 +62,7 @@ interface IRecurringDonation { } const ProjectCard = (props: IProjectCard) => { const { project, className } = props; + const { id, title, @@ -72,6 +74,7 @@ const ProjectCard = (props: IProjectCard) => { sumDonationValueUsdForActiveQfRound, organization, verified, + isGivbackEligible, latestUpdateCreationDate, countUniqueDonors, qfRounds, @@ -338,6 +341,16 @@ const ProjectCard = (props: IProjectCard) => {
+ {isGivbackEligible && ( + + + + GIVbacks + + + )} {verified && ( { /> {formatMessage({ - id: 'label.verified', + id: 'label.vouched', })} @@ -424,6 +437,11 @@ const VerifiedText = styled(Subline)` color: ${semanticColors.jade[500]}; `; +const GivbackEligibleText = styled(Subline)` + text-transform: uppercase; + color: ${brandColors.giv[500]}; +`; + const LastUpdatedContainer = styled(Subline)<{ $isHover?: boolean }>` position: absolute; bottom: 30px; diff --git a/src/components/views/donate/DonateIndex.tsx b/src/components/views/donate/DonateIndex.tsx index 9758a8e374..e3a50ecf88 100644 --- a/src/components/views/donate/DonateIndex.tsx +++ b/src/components/views/donate/DonateIndex.tsx @@ -122,7 +122,7 @@ const DonateIndex: FC = () => { ], givBackEligible: isTokenEligibleForGivback && - project.verified && + project.isGivbackEligible && isSignedIn && isEnabled, chainId: config.STELLAR_NETWORK_NUMBER, diff --git a/src/components/views/donate/DonatePageProjectDescription.tsx b/src/components/views/donate/DonatePageProjectDescription.tsx index 18c98ced24..25decd8889 100644 --- a/src/components/views/donate/DonatePageProjectDescription.tsx +++ b/src/components/views/donate/DonatePageProjectDescription.tsx @@ -20,6 +20,7 @@ import { slugToProjectView } from '@/lib/routeCreators'; import { ProjectCardUserName } from '@/components/project-card/ProjectCardUserName'; import { ORGANIZATION } from '@/lib/constants/organizations'; import { useDonateData } from '@/context/donate.context'; +import { GivBackBadge } from '@/components/badges/GivBackBadge'; interface IDonatePageProjectDescriptionProps { projectData?: IProject; @@ -48,6 +49,11 @@ export const DonatePageProjectDescription: FC< return ( + {projectData?.isGivbackEligible && ( + + + + )} {projectData?.verified && ( diff --git a/src/components/views/donate/OnTime/OneTimeDonationCard.tsx b/src/components/views/donate/OnTime/OneTimeDonationCard.tsx index f977521755..748d807c0f 100644 --- a/src/components/views/donate/OnTime/OneTimeDonationCard.tsx +++ b/src/components/views/donate/OnTime/OneTimeDonationCard.tsx @@ -80,7 +80,7 @@ const CryptoDonation: FC<{ const dispatch = useAppDispatch(); const { - verified, + isGivbackEligible, id: projectId, status, addresses, @@ -139,7 +139,7 @@ const CryptoDonation: FC<{ }); const tokenDecimals = selectedOneTimeToken?.decimals || 18; - const projectIsGivBackEligible = !!verified; + const projectIsGivBackEligible = !!isGivbackEligible; const { activeStartedRound } = getActiveRound(project.qfRounds); const networkId = (chain as Chain)?.id; diff --git a/src/components/views/donate/Recurring/RecurringDonationCard.tsx b/src/components/views/donate/Recurring/RecurringDonationCard.tsx index a98ae21d56..4a13b307cc 100644 --- a/src/components/views/donate/Recurring/RecurringDonationCard.tsx +++ b/src/components/views/donate/Recurring/RecurringDonationCard.tsx @@ -167,7 +167,7 @@ export const RecurringDonationCard = () => { ? semanticColors.punch : brandColors.giv; - const projectIsGivBackEligible = !!project.verified; + const projectIsGivBackEligible = !!project.isGivbackEligible; const handleDonate = () => { if (anchorContractAddress) { diff --git a/src/components/views/project/ProjectBadges.tsx b/src/components/views/project/ProjectBadges.tsx index 49615755c3..a5e4937c0d 100644 --- a/src/components/views/project/ProjectBadges.tsx +++ b/src/components/views/project/ProjectBadges.tsx @@ -5,6 +5,7 @@ import { neutralColors, semanticColors, Flex, + IconGIVBack16, } from '@giveth/ui-design-system'; import styled from 'styled-components'; import { useIntl } from 'react-intl'; @@ -15,7 +16,8 @@ import { hasActiveRound } from '@/helpers/qf'; const ProjectBadges = () => { const { projectData } = useProjectContext(); - const { verified, qfRounds, campaigns } = projectData || {}; + const { verified, isGivbackEligible, qfRounds, campaigns } = + projectData || {}; const { formatMessage } = useIntl(); const isQF = hasActiveRound(qfRounds); @@ -28,12 +30,23 @@ const ProjectBadges = () => { {verified && ( } /> )} + {isGivbackEligible && ( + } + /> + )} + {isQF && ( { const [showBoost, setShowBoost] = useState(false); const [showVerification, setShowVerification] = useState(false); const { projectData, isAdmin, activateProject } = useProjectContext(); + console.log({ projectData }); const verStatus = projectData?.verificationFormStatus; const projectStatus = projectData?.status.name; - const verified = projectData?.verified; + const isVerified = projectData?.verified; + const isGivbackEligible = projectData?.isGivbackEligible; const { givbackFactor } = projectData || {}; - const isOwnerVerified = verified && isAdmin; - const isOwnerNotVerified = !verified && isAdmin; - const isPublicVerified = verified && !isAdmin; - const color = isOwnerVerified + const isOwnerGivbackEligible = isGivbackEligible && isAdmin; + const isOwnerNotVerified = !isVerified && isAdmin; + const isPublicGivbackEligible = isGivbackEligible && !isAdmin; + const isPublicVerifiedNotEligible = isVerified && !isGivbackEligible; + + const color = isOwnerGivbackEligible ? semanticColors.golden[600] : neutralColors.gray[900]; const { formatMessage, locale } = useIntl(); @@ -84,7 +88,7 @@ const ProjectGIVbackToast = () => { let title = ''; let description, Button; - if (isOwnerVerified) { + if (isOwnerGivbackEligible) { if (givbackFactor !== 0) { title = formatMessage({ @@ -211,7 +215,22 @@ const ProjectGIVbackToast = () => { /> ); } - } else if (isPublicVerified) { + } else if (isPublicVerifiedNotEligible) { + title = formatMessage({ + id: `${useIntlTitle}verified_public_not_eligible`, + }); + description = formatMessage({ + id: `${useIntlDescription}verified_public_not_eligible`, + }); + link = links.GIVPOWER_DOC; + Button = ( + } + /> + ); + } else if (isPublicGivbackEligible) { if (givbackFactor !== 0) { title = formatMessage({ @@ -259,7 +278,7 @@ const ProjectGIVbackToast = () => {
{title} {description} - {isOwnerVerified && ( + {isOwnerGivbackEligible && ( {formatMessage({ @@ -272,7 +291,10 @@ const ProjectGIVbackToast = () => { )} {link && ( - + {formatMessage({ id: 'label.learn_more' })} From c263d9704d24fb9f38652bef77df2709c6c672b4 Mon Sep 17 00:00:00 2001 From: Kilter Date: Thu, 12 Sep 2024 13:49:37 -0500 Subject: [PATCH 012/102] Update ProjectGIVbackToast.tsx --- src/components/views/project/ProjectGIVbackToast.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/views/project/ProjectGIVbackToast.tsx b/src/components/views/project/ProjectGIVbackToast.tsx index a14f8cad50..1fbb49fc84 100644 --- a/src/components/views/project/ProjectGIVbackToast.tsx +++ b/src/components/views/project/ProjectGIVbackToast.tsx @@ -39,7 +39,6 @@ const ProjectGIVbackToast = () => { const [showBoost, setShowBoost] = useState(false); const [showVerification, setShowVerification] = useState(false); const { projectData, isAdmin, activateProject } = useProjectContext(); - console.log({ projectData }); const verStatus = projectData?.verificationFormStatus; const projectStatus = projectData?.status.name; const isVerified = projectData?.verified; From ba8c4047e4d1e9f9746e1ce3301174edb6c0b67c Mon Sep 17 00:00:00 2001 From: Mohammad Ranjbar Z Date: Sat, 14 Sep 2024 01:08:55 +0330 Subject: [PATCH 013/102] Show allocatedGivTokens in givbacks page related #4679 --- src/components/GIVeconomyPages/GIVbacks.tsx | 27 ++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/components/GIVeconomyPages/GIVbacks.tsx b/src/components/GIVeconomyPages/GIVbacks.tsx index 1390825d07..e2fda4d463 100644 --- a/src/components/GIVeconomyPages/GIVbacks.tsx +++ b/src/components/GIVeconomyPages/GIVbacks.tsx @@ -45,6 +45,7 @@ import Routes from '@/lib/constants/Routes'; import { SubgraphDataHelper } from '@/lib/subgraph/subgraphDataHelper'; import { fetchSubgraphData } from '@/services/subgraph.service'; import { FETCH_ALLOCATED_GIVBACKS } from '@/apollo/gql/gqlGivbacks'; +import { client } from '@/apollo/apolloClient'; export const TabGIVbacksTop = () => { const { formatMessage } = useIntl(); @@ -148,7 +149,23 @@ export const TabGIVbacksBottom = () => { const [round, setRound] = useState(0); const [roundStarTime, setRoundStarTime] = useState(new Date()); const [roundEndTime, setRoundEndTime] = useState(new Date()); - const { data } = useQuery(FETCH_ALLOCATED_GIVBACKS); + const [givbackAllocations, setGivbackAllocations] = useState(null); + + useEffect(() => { + async function fetchAllocatedGivbacks() { + const { data } = await client.query({ + query: FETCH_ALLOCATED_GIVBACKS, + fetchPolicy: 'no-cache', + }); + setGivbackAllocations(data?.allocatedGivbacks); + console.log( + 'fetchAllocatedGivbacks** ', + JSON.stringify(data?.allocatedGivbacks, null, 2), + ); + } + fetchAllocatedGivbacks(); + }, []); + const { givTokenDistroHelper, isLoaded } = useGIVTokenDistroHelper(); useEffect(() => { if ( @@ -250,11 +267,9 @@ export const TabGIVbacksBottom = () => {

- {data && - data.allocatedGivbacks && - data.allocatedGivbacks - .allocatedGivTokens - ? `${data.allocatedGivbacks.allocatedGivTokens} GIV` + {givbackAllocations && + givbackAllocations.allocatedGivTokens + ? `${givbackAllocations.allocatedGivTokens} GIV` : '?'} From c2a17b0093d9426998c0888837cfe4c09b7d63e6 Mon Sep 17 00:00:00 2001 From: Mohammad Ranjbar Z Date: Sat, 14 Sep 2024 01:17:21 +0330 Subject: [PATCH 014/102] Fix build error --- src/components/GIVeconomyPages/GIVbacks.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/GIVeconomyPages/GIVbacks.tsx b/src/components/GIVeconomyPages/GIVbacks.tsx index e2fda4d463..4e56a5f7b7 100644 --- a/src/components/GIVeconomyPages/GIVbacks.tsx +++ b/src/components/GIVeconomyPages/GIVbacks.tsx @@ -149,7 +149,15 @@ export const TabGIVbacksBottom = () => { const [round, setRound] = useState(0); const [roundStarTime, setRoundStarTime] = useState(new Date()); const [roundEndTime, setRoundEndTime] = useState(new Date()); - const [givbackAllocations, setGivbackAllocations] = useState(null); + // Define an interface for the type of givbackAllocations + interface GivbackAllocations { + usdValueSentAmountInPowerRound: number; + allocatedGivTokens: number; + givPrice: number; + date: string; + } + const [givbackAllocations, setGivbackAllocations] = + useState(null); useEffect(() => { async function fetchAllocatedGivbacks() { From 9020f35bbe3267e188bfdd5b56fea2ce30648c28 Mon Sep 17 00:00:00 2001 From: Mohammad Ranjbar Z Date: Sat, 14 Sep 2024 01:35:07 +0330 Subject: [PATCH 015/102] Remove console.log --- src/components/GIVeconomyPages/GIVbacks.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/components/GIVeconomyPages/GIVbacks.tsx b/src/components/GIVeconomyPages/GIVbacks.tsx index 4e56a5f7b7..3d9df06ddd 100644 --- a/src/components/GIVeconomyPages/GIVbacks.tsx +++ b/src/components/GIVeconomyPages/GIVbacks.tsx @@ -166,10 +166,6 @@ export const TabGIVbacksBottom = () => { fetchPolicy: 'no-cache', }); setGivbackAllocations(data?.allocatedGivbacks); - console.log( - 'fetchAllocatedGivbacks** ', - JSON.stringify(data?.allocatedGivbacks, null, 2), - ); } fetchAllocatedGivbacks(); }, []); From 600b1cf8513df63e6bfc48c4a7e9553ec83d78cd Mon Sep 17 00:00:00 2001 From: HrithikSampson Date: Mon, 16 Sep 2024 19:05:20 +0530 Subject: [PATCH 016/102] disabling caching from apolloClient to provide correct boost value from each project --- src/components/modals/Boost/BoostInnerModal.tsx | 3 ++- .../views/userProfile/boostedTab/useFetchPowerBoostingInfo.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/modals/Boost/BoostInnerModal.tsx b/src/components/modals/Boost/BoostInnerModal.tsx index dee2a42f8b..dea4ec9432 100644 --- a/src/components/modals/Boost/BoostInnerModal.tsx +++ b/src/components/modals/Boost/BoostInnerModal.tsx @@ -160,6 +160,7 @@ const BoostInnerModal: FC = ({ skip: 0, userId: parseFloat(user.id || '') || -1, }, + fetchPolicy: 'no-cache', }); setLoading(false); @@ -186,7 +187,7 @@ const BoostInnerModal: FC = ({ } }; fetchUserBoosts(); - }, [user]); + }, [user, isSaving]); const confirmAllocation = async () => { setIsSaving(true); diff --git a/src/components/views/userProfile/boostedTab/useFetchPowerBoostingInfo.ts b/src/components/views/userProfile/boostedTab/useFetchPowerBoostingInfo.ts index 6ae58ee93c..f41e77f310 100644 --- a/src/components/views/userProfile/boostedTab/useFetchPowerBoostingInfo.ts +++ b/src/components/views/userProfile/boostedTab/useFetchPowerBoostingInfo.ts @@ -40,6 +40,7 @@ export const useFetchPowerBoostingInfo = (user: IUser) => { orderBy: { field: order.by, direction: order.direction }, userId: parseFloat(user.id || '') || -1, }, + fetchPolicy: 'no-cache', }); setTotalCount(data?.getPowerBoosting.totalCount || 0); setLoading(false); From c5e8710be3e3273fdb093e3190c80e0a224e29f7 Mon Sep 17 00:00:00 2001 From: Mitch Oz Date: Mon, 16 Sep 2024 11:16:31 -0600 Subject: [PATCH 017/102] first pass text fixes --- lang/ca.json | 2 +- lang/en.json | 110 +++++++++--------- lang/es.json | 2 +- src/components/modals/StakeLock/LockInfo.tsx | 2 +- src/components/views/claim/cards/Connect.tsx | 2 +- src/components/views/claim/cards/Donate.tsx | 2 +- .../landings/GIVBacks/HowGIVbacksWork.tsx | 14 +-- .../landings/GIVBacks/WhatAreGIVbacks.tsx | 20 ++-- .../views/landings/GIVBacks/WhatCanYouDo.tsx | 6 +- .../landings/GIVBacks/WhatMakesGIVbacks.tsx | 4 +- .../views/landings/GIVBacks/YouKnowHow.tsx | 2 +- .../onboarding/GIVeconomy/GIVeconomySteps.tsx | 4 +- .../landings/onboarding/GIVeconomy/index.tsx | 2 +- .../landings/onboarding/donor/donorSteps.tsx | 2 +- .../landings/onboarding/main/WhatIsGIV.tsx | 2 +- .../landings/onboarding/main/WhatIsGiveth.tsx | 2 +- .../project-owner/projectOwnerSteps.tsx | 4 +- .../publicGoods/PublicGoodsFunding.tsx | 14 +-- .../web3CryptoDonation/numberedItems.tsx | 8 +- src/content/metatags.ts | 10 +- src/context/verification.context.tsx | 2 +- src/lib/constants/shareContent.ts | 2 +- 22 files changed, 109 insertions(+), 109 deletions(-) diff --git a/lang/ca.json b/lang/ca.json index 2c88960307..966e1c50d7 100644 --- a/lang/ca.json +++ b/lang/ca.json @@ -38,7 +38,7 @@ "component.end_stream_modal.confirm_question": "Esteu a punt de finalitzar una donació recurrent activa. Aquest projecte ja no gaudirà del vostre suport continuat. Esteu segur?", "component.end_stream_modal.ended_description": "{name} ja no gaudirà de la vostra donació recurrent.", "component.end_stream_modal.ended_title": "Heu finalitzat una donació recurrent", - "component.givback_eligible.desc": "Quan doneu a projectes verificats, qualifiqueu per rebre tokens GIV. A través dels GIVbacks, GIV capacita els donants amb drets de governança a través del GIVgarden.", + "component.givback_eligible.desc": "Quan dones a projectes elegibles per a GIVbacks, qualifiques per rebre tokens GIV. A través de GIVbacks, GIV empodera els donants amb drets de governança a través del GIVgarden.", "component.givback_toast.desc": "Obteniu GIVbacks fent una donació a aquest projecte.", "component.improve_tip.categories": "Assegureu-vos que els donants entenguin l'objectiu del vostre projecte seleccionant almenys una categoria.", "component.improve_tip.desc": "La descripció del projecte és massa curta, utilitzeu almenys 1200 caràcters per descriure el vostre projecte.", diff --git a/lang/en.json b/lang/en.json index fa7868718f..eca4947db1 100644 --- a/lang/en.json +++ b/lang/en.json @@ -38,7 +38,7 @@ "component.end_stream_modal.confirm_question": "You’re about to end an active recurring donation. This project will no longer benefit from your continuous support. Are you sure?", "component.end_stream_modal.ended_description": " {name} will no longer benefit from your recurring donation.", "component.end_stream_modal.ended_title": "You have ended a recurring donation", - "component.givback_eligible.desc": "When you donate to verified projects you qualify to receive GIV tokens. Through GIVbacks, GIV empowers donors with governance rights via the GIVgarden.", + "component.givback_eligible.desc": "When you donate to GIVbacks eligible projects you qualify to receive GIV tokens. Through GIVbacks, GIV empowers donors with governance rights via the GIVgarden.", "component.givback_toast.desc": "You get GIVbacks by donating to this project.", "component.improve_tip.categories": "Ensure donors understand your project's purpose by picking at least one category.", "component.improve_tip.desc": "The project description is way too short, use at least 1200 characters to describe your project.", @@ -57,7 +57,7 @@ "component.pfp_eligibility_modal.title.not_eligible": "Address is not eligible for early minting!", "component.project-stats.listing.tooltip": "If a project is listed, it is included on the Projects page, and can be found using our search and filter functions. Unlisted projects can only be found via direct link.", "component.project-stats.status.tooltip": "Projects status refers to if the project is active and raising funds, deactivated, canceled or in draft phase.", - "component.project-stats.verification.tooltip": "Verified projects have been reviewed by our team and found to be providing a public good, with a history of impact and reputation at stake.", + "component.project-stats.verification.tooltip": "GIVbacks eligible projects have been reviewed by our team and found to be providing a public good, with a history of impact and reputation at stake.", "component.pro_guide.tips.address.item1": "Double-check that your wallet address is correct so you don't lose your donations.", "component.pro_guide.tips.address.item2": "Use a receiving address specifically for your project (rather than using an address that you use for other on-chain activity). This improves transparency & accounting.", "component.pro_guide.tips.address.item3": "Adding a recipient address on multiple chains will increase your exposure to potential donors.", @@ -215,7 +215,7 @@ "label.browse_examples": "Browse Examples", "label.browse_projects": "Browse Projects", "label.building_the_future_of_giving": "Building the Future of Giving", - "label.but_you_can_still_get_giv": "But you can still get GIV! Donate to verified projects and get GIV from GIVbacks.", + "label.but_you_can_still_get_giv": "But you can still get GIV! Donate to GIVbacks eligible projects and get GIV from GIVbacks.", "label.buy_giv_token": "Buy GIV token", "label.buy_xdai": "Buy xDAI", "label.by_encouraging_your_network": "By encouraging your network to give to good causes, you’re not only making a positive impact but also earning rewards for your efforts!", @@ -271,7 +271,7 @@ "label.connet_your_wallet_and_sign_in_to_get_your_referral": "Connect your wallet and sign in to get your referral link and start earning.", "label.continue": "Continue", "label.continue_creation": "Continue Creation", - "label.continue_verification": "Continue verification", + "label.continue_verification": "Continue GIVbacks Eligibility application", "label.contract": "Contract", "label.contribution": "Contribution", "label.contributors": "{count, plural, one { contributor} other { contributors} }", @@ -318,14 +318,14 @@ "label.donate_first_lead_the_way": "Donate first & lead the way!", "label.donate_privately": "Donate privately", "label.donate_to_earn_giv": "Donate to earn GIV", - "label.donate_to_empower_changemakers": "Donate to empower change-makers that are working hard to make a difference. Get GIVbacks when you donate to verified projects.", + "label.donate_to_empower_changemakers": "Donate to empower change-makers that are working hard to make a difference. Get GIVbacks when you donate to GIVbacks eligible projects.", "label.donate_to_projects": "Donate to projects", "label.donate_to_this_project": "Donate to this project", "label.donate_to_top_ranked_projects_and_get_more_giv_back": "Donate to top-ranked projects and get more GIV back!", - "label.donate_to_verified_projects": "donate to verified projects", - "label.donate_to_verified_projects.desc": " Donate to verified projects and get rewarded with GIV", - "label.donate_to_verified_projects_and_get_giv": "Donate to verified projects and get GIV - a token that grants you access to our community as a voting member, as well as opportunities to earn additional rewards.", - "label.donate_to_verified_projects_on_giveth": "Donate to verified projects on Giveth. Get GIV and increase your GIVstream with the GIVbacks program.", + "label.donate_to_verified_projects": "donate to GIVbacks eligible projects", + "label.donate_to_verified_projects.desc": " Donate to GIVbacks eligible projects and get rewarded with GIV", + "label.donate_to_verified_projects_and_get_giv": "Donate to GIVbacks eligible projects and get GIV - a token that grants you access to our community as a voting member, as well as opportunities to earn additional rewards.", + "label.donate_to_verified_projects_on_giveth": "Donate to GIVbacks eligible projects on Giveth. Get GIV and increase your GIVstream with the GIVbacks program.", "label.donate_without_matching": "Donate without matching", "label.donate_with_dollars": "Donate with Dollars", "label.donating": "Donating", @@ -345,7 +345,7 @@ "label.done": "Done", "label.donor": "Donor", "label.donors_to_higher_ranked_projects": "Donors to higher ranked projects get more GIVbacks.", - "label.donors_to_verified": "Ethereum donations to verified projects are rewarded with GIV. Boost this project to increase its rewards % and make it more visible on the projects page!", + "label.donors_to_verified": "Ethereum donations to GIVbacks eligible projects are rewarded with GIV. Boost this project to increase its rewards % and make it more visible on the projects page!", "label.donor_rewards": "Donor Rewards", "label.dont_be_a_stranger": "Don’t be a stranger!", "label.downgrading_to_eth": "Downgrading to Ethereum", @@ -353,7 +353,7 @@ "label.drag_and_drop_an_image_or": "Drag & drop an image here or,", "label.drag_to_allocate": "Drag to allocate", "label.duration_ago": "{duration} ago", - "label.each_givbacks_round_lasts_two_weeks": "Each GIVbacks round lasts two weeks. After the End Date, the GIV Allocated to that round is distributed to Givers who donated to verified projects during the round. Projects must apply for verification at least 1 week prior to the Start Date in order to be included in the round.", + "label.each_givbacks_round_lasts_two_weeks": "Each GIVbacks round lasts two weeks. After the End Date, the GIV Allocated to that round is distributed to Givers who donated to GIVbacks eligible projects during the round. Projects must apply for GIVbacks eligibility at least 1 week prior to the Start Date in order to be included in the round.", "label.earn": "Earn", "label.earn_a_yield": "Earn a Yield", "label.earn_giv_tokens_for_each_donation_made_through_your_link": "Earn GIV tokens for each donation made through your link", @@ -423,7 +423,7 @@ "label.get_more_giv": "Get more GIV", "label.get_more_givpower": "Get more GIVpower", "label.get_more_givpower_by_staking": "Get more GIVpower by staking & locking more GIV tokens.", - "label.get_rewarded_for_giving": "Get rewarded for giving to verified public goods projects with crypto donations.", + "label.get_rewarded_for_giving": "Get rewarded for giving to GIVbacks eligible projects with crypto donations.", "label.get_started": "Get Started", "label.get_your_donations_matched": "Get your donations matched!", "label.gitcoin_passport": "Gitcoin Passport", @@ -433,14 +433,14 @@ "label.givbacks_is_only_available_on_gnosis": "GIVbacks is only available on Gnosis Chain.", "label.givbacks_program": "GIVbacks program", "label.givbacks_rewards": "GIVbacks Rewards", - "label.givbacks_rewards_corresponding_to_the_current_round": "GIVbacks rewards corresponding to the current round become available after the round ends. If you donated to a verified project and do not yet have rewards to claim, it is likely that GIVbacks have not yet been distributed for that round, or that you claimed your GIVbacks rewards already.", - "label.givbacks_rewards_donors_to_verified_projects": "GIVbacks rewards donors to verified projects with GIV, super-charging Giveth as a donor-driven force for good.", + "label.givbacks_rewards_corresponding_to_the_current_round": "GIVbacks rewards corresponding to the current round become available after the round ends. If you donated to a GIVbacks eligible project and do not yet have rewards to claim, it is likely that GIVbacks have not yet been distributed for that round, or that you claimed your GIVbacks rewards already.", + "label.givbacks_rewards_donors_to_verified_projects": "GIVbacks rewards donors to GIVbacks eligible projects with GIV, super-charging Giveth as a donor-driven force for good.", "label.givback_distributed_after_round": "GIV rewards from the GIVbacks program will be distributed after the end of the current round.", "label.give": "Give", "label.giveconomy": "GIVeconomy", "label.giveconomy_activities": "GIVeconomy activities", "label.givers_nft": "Givers NFT", - "label.givers_pfp_holders": "Givers PFP Holders will occasionally have the opportunity to nominate verified projects to Quadratic Funding rounds. This provides Givers exclusive powers to choose which projects are included in the round and eligible to receive matching funds.", + "label.givers_pfp_holders": "Givers PFP Holders will occasionally have the opportunity to nominate GIVbacks eligible projects to Quadratic Funding rounds. This provides Givers exclusive powers to choose which projects are included in the round and eligible to receive matching funds.", "label.giveth_builds_community": "Giveth builds Community", "label.giveth_builds_community.bullet.four": "Giveth proactively reaches out to similar initiatives which we see as potential collaborators, as opposed to competitors.", "label.giveth_builds_community.bullet.one": "Giveth is an inclusive community united around a common goal.", @@ -450,7 +450,7 @@ "label.giveth_encourages_decentralization": "Giveth encourages Decentralization", "label.giveth_encourages_decentralization.bullet.one": "Giveth offers innovative open-source solutions built on blockchain technology, which is inherently decentralized.", "label.giveth_encourages_decentralization.bullet.two": "Giveth is pioneering and experimenting with decentralized governance and communication techniques and supporting their adoption by other communities.", - "label.giveth_is_a_donor_owned_economy": "Giveth is a donor owned and governed economy. With GIVbacks, we reward donors to verified projects on Giveth with GIV tokens.", + "label.giveth_is_a_donor_owned_economy": "Giveth is a donor owned and governed economy. With GIVbacks, we reward donors to GIVbacks eligible projects on Giveth with GIV tokens.", "label.giveth_is_currently_offline": "Giveth.io is currently offline for maintenance!", "label.giveth_is_rewarding_and_empowering_those": "Giveth is rewarding and empowering those who give to projects, to society, and to the world!", "label.giveth_projects": "Giveth Projects", @@ -471,7 +471,7 @@ "label.giviverse_expansion": "GIViverse Expansion", "label.givnews_page": "GIVnews page", "label.givpower": "GIVpower", - "label.givpower_allows_you_to_boost": "GIVpower allows you to boost the rank of verified projects you love, while earning rewards.", + "label.givpower_allows_you_to_boost": "GIVpower allows you to boost the rank of vouched projects you love, while earning rewards.", "label.givpower_rank": "GIVpower Rank", "label.givstream_documentation": "GIVstream documentation", "label.givstream_flowrate": "GIVStream Flowrate", @@ -495,16 +495,16 @@ "label.go_to_passport": "Go to Passport", "label.go_to_projects": "Go to projects", "label.go_to_projets_page": "Go to Projects page", - "label.great_projects_make_the_giveconomy_thrive": "Great projects make the GIVeconomy thrive! As a project owner, when you get your project verified, your donors become eligible to receive GIVbacks.", + "label.great_projects_make_the_giveconomy_thrive": "Great projects make the GIVeconomy thrive! As a project owner, when you get a 'GIVbacks Eligible' badge, your donors become eligible to receive GIVbacks.", "label.guess_what_you_are_awsome": "Guess what? You’re awesome!", "label.harvest": "Harvest", "label.harvest_pending": "Harvest pending", "label.harvest_rewards": "Harvest Rewards", "label.harvest_your_rewards_and_remove_your_funds": "You can still harvest your rewards and unstake your tokens.", - "label.having_obtained_non_profit_stauts_is_not_a_requirement": "Having obtained non-profit status is not a requirement but it is helpful for the verification process", + "label.having_obtained_non_profit_stauts_is_not_a_requirement": "Having obtained non-profit status is not a requirement but it is helpful for the GIVbacks eligibility review process", "label.here": "here", "label.heres_your_referral": "Here’s your unique referral link to {projectTitle}", - "label.heres_your_unique_referral": "Earn GIV when someone donates to any verified project through your referral.", + "label.heres_your_unique_referral": "Earn GIV when someone donates to any GIVbacks eligible project through your referral.", "label.here_is_your_link": "Here's your link", "label.high_five": "High five!", "label.high_quality_clear_images_attract_more_attention_and": "High-quality, clear images attract more attention and trust.", @@ -671,7 +671,7 @@ "label.not_enough_stream_balance": "Not enough tokens in your Stream Balance!", "label.not_now": "Not now", "label.not_owner_edit": "Only the project owner can edit this project.", - "label.not_owner_verification": "Only the project owner can ask for verification.", + "label.not_owner_verification": "Only the project owner can ask for GIVbacks eligibility.", "label.now_its_time_to_complete_your_profile": "Your profile is incomplete", "label.no_active_qf_round": "There is no active round!", "label.no_data": "No Data", @@ -748,7 +748,7 @@ "label.press_enter_to_search": "Press Enter to search", "label.prev": "Prev", "label.preview": "Preview", - "label.proceed_to_verification": "Proceed to verification", + "label.proceed_to_verification": "Proceed to GIVbacks Eligibility application", "label.project": "Project", "label.projected_rank": "Projected Rank", "label.projects": "Projects", @@ -883,7 +883,7 @@ "label.share_on_twitter": "Share on X (Twitter)", "label.share_on_twitter_linkedin_or_facebook": "Share on X (Twitter), LinkedIn or Facebook, or copy your link to share anywhere!", "label.share_this": "Share this with your friends", - "label.share_this_page_with_your_friends": "Share this page with your friends, and get rewarded when they donate to verified projects!", + "label.share_this_page_with_your_friends": "Share this page with your friends, and get rewarded when they donate to GIVbacks eligible projects!", "label.share_this_project_on_social_media_and_ask_friends_for_a_boost": "Share this project on social media and ask your friends for a boost!", "label.share_your": "Share your project", "label.share_your_desc": "Share this project directly to social media or use the link to post it on your other platforms.\nEnsure you are posting this link from the organization's official channels!", @@ -924,7 +924,7 @@ "label.stake_giv_to_get_givpower_and_earn_rewards": "Stake GIV to get GIVpower & earn rewards.", "label.stake_pending": "stake pending", "label.stake_tokens_in_the_givfarm": "Stake tokens in the GIVfarm to grow your rewards.", - "label.staking_giv_in_this_pool_allows_to_support_verified_projects": "Staking GIV in this pool allows you to support verified projects with GIVpower & grants you voting power in Giveth DAO (gGIV), in addition to the APR.", + "label.staking_giv_in_this_pool_allows_to_support_verified_projects": "Staking GIV in this pool allows you to support vouched projects with GIVpower & grants you voting power in Giveth DAO (gGIV), in addition to the APR.", "label.starting_with_traceable_donations": "Starting with traceable donations", "label.starting_with_traceable_donations.desc": "After writing and open-sourcing innovative smart contracts like the MiniMe token, the team launched the first Giveth DApp, now called Giveth TRACE, to enable a traceable & accountable donations to for-good Campaigns.", "label.start_date": "Start Date", @@ -1046,7 +1046,7 @@ "label.this_user_hasnt_liked_any_project_yet": "This user hasn't liked any project yet!", "label.this_user_hasnt_started_boosting_w_givpower_yet": "This user hasn't started boosting with GIVpower yet!", "label.three_pillars_of_governance": "Three Pillars of Governance", - "label.through_creating_a_project_getting_it_verified": "through creating a project, getting it verified and how to fundraise for your project.", + "label.through_creating_a_project_getting_it_verified": "through creating a project, getting it GIVbacks eligible and how to fundraise for your project.", "label.time_remaining": "Time remaining", "label.to": "To", "label.tokens": "Tokens", @@ -1095,7 +1095,7 @@ "label.usd_value": "USD Value", "label.user_donations": "{userName}’s Donations", "label.user_projects": "{userName}’s Projects", - "label.user_your_givpower_to_support_verified_projects": "Use your GIVpower to support verified projects on Giveth while earning rewards.", + "label.user_your_givpower_to_support_verified_projects": "Use your GIVpower to support vouched projects on Giveth while earning rewards.", "label.use_as_profile_picture": "Use as profile picture", "label.use_a_bank_transfer_or_credit_Card": "Use a bank transfer or credit card to purchase crypto and deposit it directly into your web3 wallet.", "label.use_giv_to_boost_projects": "Use GIV to boost projects to new heights!", @@ -1103,20 +1103,20 @@ "label.use_relevant_keywords_that_describe_your_project": "Use relevant keywords that describe your project.", "label.use_your_bank_account_or_credit_card_to_send_crypto_to_your_wallet": "Use your bank account or credit card to send crypto to your web3 wallet, then donate to support projects!", "label.use_your_giv": "Use your GIV", - "label.use_your_givpower_to_boost_verified_projects": "Use your GIVpower to boost verified projects to improve their project ranking. Donors to higher ranked projects will get more GIV from our GIVbacks program.", + "label.use_your_givpower_to_boost_verified_projects": "Use your GIVpower to boost vouched projects to improve their project ranking. Donors to higher ranked projects will get more GIV from our GIVbacks program.", "label.use_your_givpower_to_support_projects_you_love": "Use your GIVpower to support projects you love.", "label.use_your_giv_to_influence": "Use your GIV to influence which projects are most visible on the platform and the most rewarding to future donors! It makes giving fun, and empowers you to “boost” high-quality projects to the next level of funding support.", - "label.verification_process": "verification process", + "label.verification_process": "GIVbacks Eligibility process", "label.verification_rejected": "Verification Rejected", "label.verification_status": "GIVbacks Eligibility status", - "label.verified": "Verified", - "label.verified_projects": "Verified projects", + "label.verified": "GIVbacks Eligible", + "label.verified_projects": "GIVbacks eligible projects", "label.verified_status_for": "GIVbacks Eligibility for", "label.verify_email_address": "Verify email address", "label.verify_your_project": "GIVbacks Eligibility Form", "label.verify_your_project.modal.four": "requires some additional information about your project and the intended impact of your organization.", - "label.verify_your_project.modal.one": "The GIVbacks program is a revolutionary concept that rewards donors to verified projects with GIV tokens. By applying for a 'Verified' project status, you will be able to make your project stand out and encourage more donations. Getting your project verified also builds a relationship of trust with your donors by demonstrating your project's legitimacy and showing that the funds are being used to create positive change.", - "label.verify_your_project.modal.three": "verification process ", + "label.verify_your_project.modal.one": "The GIVbacks program is a revolutionary concept that rewards donors to GIVbacks eligible projects with GIV tokens. By applying your project for 'GIVbacks Eligible' status, you will be able to make your project stand out and encourage more donations. Getting your project GIVbacks eligible also builds a relationship of trust with your donors by demonstrating your project's legitimacy and showing that the funds are being used to create positive change.", + "label.verify_your_project.modal.three": "GIVbacks eligibility process ", "label.verify_your_project.modal.two": "This simple ", "label.view": "View", "label.view_more": "View more", @@ -1124,10 +1124,10 @@ "label.view_project": "View Project", "label.view_projects": "View Projects", "label.view_similar_projects": "View similar projects", - "label.voila_verified_badge": "Voila! Verified badge", + "label.voila_verified_badge": "Voila! GIVbacks Eligible badge", "label.vote_and_earn": "Vote & Earn", "label.vote_in_the_givgarden": "Vote in the GIVgarden", - "label.waiting_for_verification": "Waiting for verification", + "label.waiting_for_verification": "Waiting for review", "label.wait_confirmation": "Wait confirmation", "label.wait_for_confirmation": "Wait for confirmation.", "label.wallet": "WALLET", @@ -1148,9 +1148,9 @@ "label.what_is_giveth": "What is Giveth?", "label.when?": "When?", "label.when_others_give_you_earn": "When others give, you earn", - "label.when_someone_donates_using_your_link": "When someone donates to a verified project via your link, you’ll earn GIV!", + "label.when_someone_donates_using_your_link": "When someone donates to a GIVbacks eligible project via your link, you’ll earn GIV!", "label.when_you_allocate_a_percentage_of_your_total_givpower": "When you allocate a percentage of your total GIVpower to this project, the GIVpower you have on other projects will decrease proportionally.", - "label.when_you_donate_to_Verified_projects": "When you donate to verified projects you qualify to receive GIV tokens. Through GIVbacks, GIV empowers donors with governance rights via the GIVgarden.", + "label.when_you_donate_to_Verified_projects": "When you donate to GIVbacks eligible projects you qualify to receive GIV tokens. Through GIVbacks, GIV empowers donors with governance rights via the GIVgarden.", "label.when_you_giv_you_get_giv_back": "When you give you get GIV back!", "label.when_you_harvest": "When you harvest {tokenSymbol} rewards, all liquid {tokenSymbol} allocated to you on that chain is sent to your wallet. Your {tokenSymbol}stream flowrate may also increase. Below is the breakdown of rewards you will get when you harvest.", "label.when_you_lock_your_tokens_midround": "When you lock your tokens mid-round, they will be locked for the remainder of the current round + the numbers of rounds you select.", @@ -1169,7 +1169,7 @@ "label.withdraw_from_stream_balance": "Withdraw from stream balance", "label.with_a_complete_profile_you_can": "With a complete profile you can:", "label.with_givpower_you_can_support_projects": "With GIVpower, you can support the projects you believe in, without sacrificing!", - "label.with_givpower_you_can_support_verified_projects": "With GIVpower, you can support verified projects, while earning rewards on your GIV.", + "label.with_givpower_you_can_support_verified_projects": "With GIVpower, you can support vouched projects, while earning rewards on your GIV.", "label.wrap_give_to_vote_on_proposals_and_earn_rewards": "Wrap GIV to vote on proposals and earn rewards.", "label.write_your_email_address": "Write your email address, mark the checkbox 'I accept the T&C of Mt Pelerin' and click next.", "label.wrong_network": "You are currently connected to {chainName} switch to {targetChain} to interact with this farm.", @@ -1202,9 +1202,9 @@ "label.your_project_hasnt_received_any_boosts_yet": "Your project hasn't received any boosts yet!", "label.your_project_is_being_reviewed": "Your project is being reviewed by our team. You'll receive an email from us once your project is listed.", "label.your_project_is_now_submitted": "Your project is now submitted, our team will check your request.", - "label.your_project_is_now_verified_so_the_donors_may_have_givbacks": "Your project is now verified, so the donors may have GIVbacks for their donations to your projects.", + "label.your_project_is_now_verified_so_the_donors_may_have_givbacks": "Your project is now GIVbacks eligible, so the donors may have GIVbacks for their donations to your projects.", "label.your_project_is_set_up_to_receive_recurring_donations": "This project is already set up to receive recurring donations. ", - "label.your_project_is_verified_now": "Your project is verified now", + "label.your_project_is_verified_now": "Your project is now GIVbacks eligible", "label.your_stream_balance": "Your", "label.your_tokens_will_be_locked_for_the_remainder": "Your tokens will be locked for the remainder of the current round + the", "label.your_total_donation": "Your total donation", @@ -1373,7 +1373,7 @@ "page.faq.how_can_i_get_more_giv.content.four": "by staking & locking GIV in", "page.faq.how_can_i_get_more_giv.content.one": "You can get GIV by interacting with the GIVeconomy and Giveth in several ways:", "page.faq.how_can_i_get_more_giv.content.three": "by providing liquidity and staking tokens in the", - "page.faq.how_can_i_get_more_giv.content.two": "to verified projects and getting", + "page.faq.how_can_i_get_more_giv.content.two": "to GIVbacks eligible projects and getting", "page.faq.how_do_i_claim_my_givdrop": "How do I claim my GIVdrop?", "page.faq.how_do_i_claim_my_givdrop.content.one": "You can check your GIVdrop and claim your tokens", "page.faq.how_do_i_claim_my_givdrop.content.three": "on how to claim!", @@ -1404,7 +1404,7 @@ "page.faq.is_giveth_recognized_as_an_official_charity.content": "With the help of ", "page.faq.is_giveth_recognized_as_an_official_charity.content.two": ", the Giveth DAO and community based organizational structure is represented as a non-profit 501c3 in the United States. We are a community-led project and will not derive any direct profit from the platform. We guarantee all funds will get recycled back into the community that is ensuring the Giveth platform becomes adopted widely.", "page.faq.is_my_donation_tx_deductible": "Is my donation tax deductible?", - "page.faq.is_my_donation_tx_deductible.content": "We do not help donors in obtaining tax deductions, and if a donor receives GIVbacks for donating to a verified project, we can not guarantee that the donation is legally tax deductible.", + "page.faq.is_my_donation_tx_deductible.content": "We do not help donors in obtaining tax deductions, and if a donor receives GIVbacks for donating to a GIVbacks eligible project, we can not guarantee that the donation is legally tax deductible.", "page.faq.is_there_a_max_cap_for_a_single_project": "Is there a maximum funding cap for a single project?", "page.faq.is_there_a_max_cap_for_a_single_project.content": "There is no maximum funding cap for projects. However, projects are encouraged to define specific funding requirements for better transparency.", "page.faq.i_didnt_get_airdrop_can_i_get_one": "I didn't receive a GIVdrop. Can I get one now?", @@ -1430,8 +1430,8 @@ "page.faq.what_is_a_traceable_project.content.six": ". Donors benefit from being able to choose to fund either specific Traces or the overarching Campaign, and are able to trace the flow of their donations. A traceable project appears on both", "page.faq.what_is_a_traceable_project.content.three": " and manage their donations transparently using", "page.faq.what_is_a_traceable_project.content.two": "could choose to become a ", - "page.faq.what_is_a_verified_project": "What is a 'Verified' Project?", - "page.faq.what_is_a_verified_project.content": "'Verified' is a top tier status for projects wishing to join the GIVbacks program. The GIVbacks program is a revolutionary concept that rewards donors to verified projects with GIV tokens. By applying for a 'Verified' project status, you will be able to make your project stand out and encourage more donations. Getting your project verified also builds a relationship of trust with your donors by demonstrating your project's legitimacy and showing that the funds are being used to create positive change. This simple verification process requires some additional information about your project and the intended impact of your organization. If you would like to apply to receive the 'Verified' badge, encourage more giving and give back to those who have helped you reach your goals. To learn more about the process and how to verify read ", + "page.faq.what_is_a_verified_project": "What is a 'GIVbacks Eligible' Project?", + "page.faq.what_is_a_verified_project.content": "'GIVbacks Eligible' is a top tier status for projects wishing to join the GIVbacks program. The GIVbacks program is a revolutionary concept that rewards donors to GIVbacks eligible projects with GIV tokens. By applying your project for GIVbacks Eligible status, you will be able to make your project stand out and encourage more donations. Earning the GIVbacks eligible status for your project also builds a relationship of trust with your donors by demonstrating your project's legitimacy and showing that the funds are being used to create positive change. This simple GIVbacks eligibility process requires some additional information about your project and the intended impact of your organization. If you would like to apply to receive the 'GIVbacks Eligible' badge, encourage more giving and give back to those who have helped you reach your goals. To learn more about the process and how to verify read ", "page.faq.what_is_blockchain": "What is Blockchain?", "page.faq.what_is_blockchain.content": "In simple terms, a blockchain is a method of storing and transferring information. It can be considered a kind of database that is not stored in a single computer. Instead, many identical copies are distributed in several computers called nodes. Information on a blockchain is stored in a continuous chain of blocks with each block containing essential information (for example, transactions) and the cryptographic hash of the previous block. To change the information in any block, you have to make changes to all subsequent blocks. The content of the blocks is verified by the consensus of all nodes in the network. These two features makes it very difficult to alter any information already included in the blocks, and this difficulty increases with the number of nodes in the network.", "page.faq.what_is_ethereum": "What is Ethereum?", @@ -1443,7 +1443,7 @@ "page.faq.what_is_the_difference_betwee_btc_eth": "What is the difference between Bitcoin and Ethereum?", "page.faq.what_is_the_difference_betwee_btc_eth.content": "Bitcoin is intended to function as a decentralized means of value transfer, whereas Ethereum is a protocol that allows users to develop decentralized applications on top of a blockchain network. As prominent Ethereum developer Vlad Zamfir has confirmed on several occasions, Ethereum is “not money.” Ethereum’s native token, Ether (ETH) exists in order to facilitate the process of building and deploying distributed applications. Meanwhile, the Bitcoin currency exists on the Bitcoin blockchain to facilitate peer-to-peer (P2P) exchange of uncensorable, non-confiscatable money.", "page.faq.what_is_the_givbacks_program": "What is the GIVbacks program?", - "page.faq.what_is_the_givbacks_program.content.one": "GIVbacks is a revolutionary concept that rewards donors to verified projects on Giveth with GIV. Learn more about", + "page.faq.what_is_the_givbacks_program.content.one": "GIVbacks is a revolutionary concept that rewards donors to GIVbacks eligible projects on Giveth with GIV. Learn more about", "page.faq.what_is_the_givbacks_program.content.two": "in our documentation.", "page.faq.what_is_the_givfarm": "What is the GIVfarm?", "page.faq.what_is_the_givfarm.content": "is the Giveth liquidity mining program that allows GIV holders to provide liquidity and stake tokens to earn GIV rewards. To learn more, check out the", @@ -1483,14 +1483,14 @@ "page.faq.why_dont_i_have_a_givdrop.content": "We will not review past transactions or consider other addresses for inclusion. We appreciate your understanding.", "page.faq.why_is_giveth_launching_a_token": "Did Giveth launch a token?", "page.faq.why_is_giveth_launching_a_token.content.one": "Giveth’s mission is to reward & empower those who give -- to projects, to society & to the world. The GIV token fuels and drives the GIVeconomy, and some has been already distributed to those who have contributed to making Giveth what it is today. Anyone with an Ethereum wallet can get GIV via our", - "page.faq.why_is_giveth_launching_a_token.content.two": "by donating to verified projects. GIV is a governance token that allows our community to actively participate in shaping the future of Giveth in a decentralized way.", + "page.faq.why_is_giveth_launching_a_token.content.two": "by donating to GIVbacks eligible projects. GIV is a governance token that allows our community to actively participate in shaping the future of Giveth in a decentralized way.", "page.faq.why_is_there_a_givstream": "Why is there a GIVstream?", "page.faq.why_is_there_a_givstream.content.four": "Participants benefit from their GIVstream flowing as the GIVeconomy flourishes over time, therefore we ensure that Giveth is not just governed by people who buy tokens on the open market but by those who contribute in a more meaningful way.", "page.faq.why_is_there_a_givstream.content.one": "The GIVstream nurtures the GIVeconomy at inception by having only 10% of the total supply of GIV liquid and transferable to start. As the GIVeconomy grows & stabilizes, more GIV become liquid and available for everyone. We want to empower those who support the Giveth ecosystem with steadily increasing governance rights. This includes participants who", "page.faq.why_is_there_a_givstream.content.three": "or provide liquidity in the", "page.faq.will_there_be_another_givdrop": "Will there be another GIVdrop?", "page.faq.will_there_be_another_givdrop.content.one": "No, there are no more GIVdrops planned, but anyone can get GIV from", - "page.faq.will_there_be_another_givdrop.content.two": "by donating to verified projects on Giveth.", + "page.faq.will_there_be_another_givdrop.content.two": "by donating to GIVbacks eligible projects on Giveth.", "page.home.bigscreen.donate_button": "Donate Now", "page.home.bigscreen.get_rewarded": "Get rewarded for giving to for-good projects with zero added fees.", "page.home.bigscreen.see_projects": "See Projects", @@ -1509,15 +1509,15 @@ "page.home.section.easy_onboarding": "Easy Onboarding", "page.home.section.easy_onboarding_desc": "New to crypto? No Problem. Create a Torus wallet and connect to the DApp by logging in via your favourite web2 platform.", "page.home.section.for_givers": "For Givers", - "page.home.section.for_givers_desc": "For the first time ever, there is an upside to donating. When you donate crypto to verified projects, you get rewarded with GIV from our GIVbacks program. Enjoy liquid GIV and a GIV/week flowrate from the GIVstream until 2026.", + "page.home.section.for_givers_desc": "For the first time ever, there is an upside to donating. When you donate crypto to GIVbacks eligible projects, you get rewarded with GIV from our GIVbacks program. Enjoy liquid GIV and a GIV/week flowrate from the GIVstream until 2026.", "page.home.section.for_projects": "For Projects", - "page.home.section.for_projects_desc": "Create a project within minutes and start raising funds in crypto with zero added fees. Get verified and your donors will be rewarded by GIVbacks.", + "page.home.section.for_projects_desc": "Create a project within minutes and start raising funds in crypto with zero added fees. Earn GIVbacks eligibility and your donors will be rewarded by GIVbacks.", "page.home.section.from_blog": "FROM OUR BLOG", "page.home.section.get_updates": "Get the latest updates", "page.home.section.giving_is_effortless": "Giving is effortless and people all around the world are rewarded for creating positive change.", "page.home.section.givnews_page": "GIVnews page", "page.home.section.project_verification": "Project Verification", - "page.home.section.project_verification_desc": "Encourage project accountability by donating to trusted projects. Apply for verification and your donors will be rewarded with GIVbacks.", + "page.home.section.project_verification_desc": "Encourage project accountability by donating to trusted projects. Apply for GIVbacks eligibility and your donors will be rewarded with GIVbacks.", "page.home.section.recent_donations": "Recent Donations", "page.home.section.recent_posts": "Recent posts", "page.home.section.subscribe_newsletter": "Subscribe to our newsletter to get the latest news, updates and amazing offers delivered directly straight to your mailbox!", @@ -1593,14 +1593,14 @@ "page.verification.activity_and_milestones.six": "If you cannot provide links to evidence of past activities and/or social impact, you can upload proof here.", "page.verification.activity_and_milestones.three": "Please describe how your project is benefiting society and the world at large.", "page.verification.activity_and_milestones.two": "Mission: What is your organization/project's mission and how does it align with creating positive change in the world?", - "page.verification.before_you_start.eight": "Once your project becomes verified you will need to provide quarterly updates in order to maintain your verified status.", + "page.verification.before_you_start.eight": "Once your project becomes GIVbacks eligible you will need to provide quarterly updates in order to maintain your GIVbacks eligible status.", "page.verification.before_you_start.five": "You will need to provide a link to a social media post made by your organization where you have shared a link to your Giveth project to prove that you are in fact part of the organization you claim to be.", - "page.verification.before_you_start.four": "requires some additional information about your project and the intended impact of your organization. If you would like to apply to receive the 'Verified' badge, empower more Givers and also give back to those who have helped you reach your goals, please fill out this form.", - "page.verification.before_you_start.one": "Once your project is verified, the Givers who donate to your project will be rewarded with GIV tokens which they can use to participate in the GIVeconomy.", + "page.verification.before_you_start.four": "requires some additional information about your project and the intended impact of your organization. If you would like to apply to receive the 'GIVbacks Eligible' badge, empower more Givers and also give back to those who have helped you reach your goals, please fill out this form.", + "page.verification.before_you_start.one": "Once your project is GIVbacks eligible, the Givers who donate to your project will be rewarded with GIV tokens which they can use to participate in the GIVeconomy.", "page.verification.before_you_start.seven": "If your project is a registered non-profit organization, you will need to upload verifiable proof to complete the form.", "page.verification.before_you_start.six": "You will be required to provide a list of all wallet addresses used for managing funds within your project.", "page.verification.before_you_start.three": "The simple", - "page.verification.before_you_start.two": "Once your project is verified, the Givers who donate to your project will be rewarded with GIV tokens which they can use to participate in the GIVeconomy. On the other hand, you will be required to post regular updates about your project, otherwise your verified badge could be revoked after 3 months of no updates.", + "page.verification.before_you_start.two": "Once your project is GIVbacks eligible, the Givers who donate to your project will be rewarded with GIV tokens which they can use to participate in the GIVeconomy. On the other hand, you will be required to post regular updates about your project, otherwise your GIVbacks eligible badge could be revoked after 3 months of no updates.", "page.verification.click_to_edit": "Click here to edit your project.", "page.verification.managing_funds.four": "Please provide additional wallet addresses used for managing funds within your project.", "page.verification.managing_funds.one": "The funds raised are expected to be used for public benefit and not for personal gain. How will you use the funds that your project raises?", @@ -1616,7 +1616,7 @@ "page.verification.tos.four": "Only “first touch” donations count for GIVbacks. If your project receives funding from outside of Giveth and is found to be circulating these donations within the Giveth platform to receive GIVbacks, you will be disqualified.", "page.verification.tos.one": "I pledge that funds raised will be used for public benefit, not for personal gain.", "page.verification.tos.three": "We will only accept new, external donations through Giveth, and we understand that if we are found to be recirculating our own funds through Giveth this will be considered abuse of the system.", - "page.verification.tos.two": "We understand that Giveth will be analyzing all donations looking for fraud or abuse. If there is any reason to suspect abuse, we understand that we may lose our verified status, our donors may not receive GIVbacks and that Giveth may share any evidence of fraud publicly.", + "page.verification.tos.two": "We understand that Giveth will be analyzing all donations looking for fraud or abuse. If there is any reason to suspect abuse, we understand that we may lose our GIVbacks eligible status, our donors may not receive GIVbacks and that Giveth may share any evidence of fraud publicly.", "page.verification.update_your_project_social": "Update your project details to provide any relevant social media links.", "partnerships": "Partnerships", "peace-and-justice": "Peace & Justice", @@ -1638,7 +1638,7 @@ "project.givback_toast.title.non_verified_owner_deactive": "Project Deactivated", "project.givback_toast.title.non_verified_owner_draft": "Publish your project today!", "project.givback_toast.title.non_verified_owner_incomplete": "Application incomplete", - "project.givback_toast.title.non_verified_owner_rejected": "We couldn't verify your project as a public good", + "project.givback_toast.title.non_verified_owner_rejected": "We couldn't approve your project as GIVbacks eligible", "project.givback_toast.title.non_verified_owner_submitted": "Application submitted", "project.givback_toast.title.non_verified_public": "Why no GIVbacks?", "project.givback_toast.title.verified_owner_1": "Donors get rewarded with up to ", diff --git a/lang/es.json b/lang/es.json index 12754c7a8c..733599fbb3 100644 --- a/lang/es.json +++ b/lang/es.json @@ -38,7 +38,7 @@ "component.end_stream_modal.confirm_question": "Está a punto de finalizar una donación recurrente activa. Este proyecto ya no se beneficiará de su apoyo continuo. ¿Está seguro?", "component.end_stream_modal.ended_description": "{name} ya no se beneficiará de su donación recurrente.", "component.end_stream_modal.ended_title": "Ha finalizado una donación recurrente", - "component.givback_eligible.desc": "Cuando donas a proyectos verificados, tienes derecho a recibir GIVtokens. A través de GIVbacks, GIV otorga a los donantes derechos de gobernanza a través del GIVgarden.", + "component.givback_eligible.desc": "Cuando donas a proyectos elegibles para GIVbacks, calificas para recibir tokens GIV. A través de GIVbacks, GIV empodera a los donantes con derechos de gobernanza a través del GIVgarden.", "component.givback_toast.desc": "Obtienes GIVbacks al donar a este proyecto.", "component.improve_tip.categories": "Asegúrate de que los donantes entiendan el propósito de tu proyecto eligiendo al menos una categoría.", "component.improve_tip.desc": "La descripción del proyecto es demasiado corta, usa al menos 1200 caracteres para describir tu proyecto.", diff --git a/src/components/modals/StakeLock/LockInfo.tsx b/src/components/modals/StakeLock/LockInfo.tsx index d470f71895..6393754f4b 100644 --- a/src/components/modals/StakeLock/LockInfo.tsx +++ b/src/components/modals/StakeLock/LockInfo.tsx @@ -91,7 +91,7 @@ const LockInfo: FC = ({ round, amount, farmIsNotStarted }) => { direction={'right'} > - GIVpower allows you to support verified projects + GIVpower allows you to support vouched projects on Giveth while earning rewards. diff --git a/src/components/views/claim/cards/Connect.tsx b/src/components/views/claim/cards/Connect.tsx index c53df11704..d7f62764b7 100644 --- a/src/components/views/claim/cards/Connect.tsx +++ b/src/components/views/claim/cards/Connect.tsx @@ -90,7 +90,7 @@ export const ConnectCard: FC = ({ index }) => { desc = ( But there are more ways to get GIV! Try another address or - donate to verified projects to qualify for{' '} + donate to GIVbacks eligible projects to qualify for{' '} GIVbacks diff --git a/src/components/views/claim/cards/Donate.tsx b/src/components/views/claim/cards/Donate.tsx index 6d21edfa5c..ddadbcbc6a 100644 --- a/src/components/views/claim/cards/Donate.tsx +++ b/src/components/views/claim/cards/Donate.tsx @@ -143,7 +143,7 @@ export const DonateCard: FC = ({ index }) => { Donate & get GIV back - Donate to verified projects to get GIV with GIVbacks. + Donate to GIVbacks eligible projects to get GIV with GIVbacks. The project gets 100% of your donation, and you get rewarded by Giveth with GIV! diff --git a/src/components/views/landings/GIVBacks/HowGIVbacksWork.tsx b/src/components/views/landings/GIVBacks/HowGIVbacksWork.tsx index adb08cf46f..e86038956a 100644 --- a/src/components/views/landings/GIVBacks/HowGIVbacksWork.tsx +++ b/src/components/views/landings/GIVBacks/HowGIVbacksWork.tsx @@ -20,13 +20,13 @@ const HowGIVbacksWork = () => {
  • - Select a Verified Project: Browse through our list of - impactful and vetted projects. Project Verification​. - 'Verified' is a seal of approval for legitimate projects on - Giveth. If you are a project owner, when you get your - project verified, your donors become eligible to receive - GIVbacks. On Giveth verified projects receive more - donations. + Select a GIVbacks Eligible Project: Browse through + our list of impactful and vetted projects. Project + Verification​. 'Verified' is a seal of approval for + legitimate projects on Giveth. If you are a project owner, + when you get your project verified, your donors become + eligible to receive GIVbacks. On Giveth GIVbacks eligible + projects receive more donations.
  • Donate Directly: Once you've chosen a project that diff --git a/src/components/views/landings/GIVBacks/WhatAreGIVbacks.tsx b/src/components/views/landings/GIVBacks/WhatAreGIVbacks.tsx index 99e0a363f2..c329c86f17 100644 --- a/src/components/views/landings/GIVBacks/WhatAreGIVbacks.tsx +++ b/src/components/views/landings/GIVBacks/WhatAreGIVbacks.tsx @@ -20,19 +20,19 @@ const WhatAreGIVbacks = () => {

    GIVbacks are GIV tokens that you receive every time you - donate to a verified project on Giveth. Think of them like a - tax deduction on your donation, but instead of needing to - fill a form or get a government rebate, you are given GIV - tokens directly to your wallet! + donate to a GIVbacks eligible project on Giveth. Think of + them like a tax deduction on your donation, but instead of + needing to fill a form or get a government rebate, you are + given GIV tokens directly to your wallet!

    Let’s give an example of how this works. Let’s say you - donate $100 to a verified project on Giveth. Based on a - project's real-time ranking, you could receive up to $70 - back in GIV token rewards just for donating! Some of this - amount would be given to you right away (within a 2 week - period), and some of it would be streamed to you over the - next few years. + donate $100 to a GIVbacks eligible project on Giveth. Based + on a project's real-time ranking, you could receive up to + $70 back in GIV token rewards just for donating! Some of + this amount would be given to you right away (within a 2 + week period), and some of it would be streamed to you over + the next few years.

    You can then use those GIV rewards to either take part in diff --git a/src/components/views/landings/GIVBacks/WhatCanYouDo.tsx b/src/components/views/landings/GIVBacks/WhatCanYouDo.tsx index 23c28ab087..2131f2bf44 100644 --- a/src/components/views/landings/GIVBacks/WhatCanYouDo.tsx +++ b/src/components/views/landings/GIVBacks/WhatCanYouDo.tsx @@ -44,9 +44,9 @@ const WhatCanYouDo = () => {
  • Earn GIVpower to boost projects: If you lock your GIV tokens with Giveth, you can also get GIVpower, which will - allow you to boost verified projects to improve their - project ranking. Donors to higher ranked projects will get - more GIV from our GIVbacks program. + allow you to boost vouched projects to improve their project + ranking. Donors to higher ranked projects will get more GIV + from our GIVbacks program.
  • Watch Your Impact Grow: Stay updated with regular diff --git a/src/components/views/landings/GIVBacks/WhatMakesGIVbacks.tsx b/src/components/views/landings/GIVBacks/WhatMakesGIVbacks.tsx index cfa660cd26..9cc97b63fd 100644 --- a/src/components/views/landings/GIVBacks/WhatMakesGIVbacks.tsx +++ b/src/components/views/landings/GIVBacks/WhatMakesGIVbacks.tsx @@ -13,9 +13,9 @@ const WhatMakesGIVbacks = () => {
    Our mission at Giveth is to recognize and incentivize those who selflessly give. Through GIVbacks, every - donation made to our verified projects doesn’t just + donation made to our GIVbacks eligible projects doesn’t just create societal value, but also earns you GIV tokens. - When you donate to verified projects you qualify to + When you donate to GIVbacks eligible projects you qualify to receive GIV tokens. Through GIVbacks, GIV empowers donors with governance rights.
  • diff --git a/src/components/views/landings/GIVBacks/YouKnowHow.tsx b/src/components/views/landings/GIVBacks/YouKnowHow.tsx index 78644b0d27..4eb7b45354 100644 --- a/src/components/views/landings/GIVBacks/YouKnowHow.tsx +++ b/src/components/views/landings/GIVBacks/YouKnowHow.tsx @@ -26,7 +26,7 @@ const YouKnowHow = () => { create impact, but rewards you in return. The Giveth mission is to reward & empower those who give — to projects, to society, and to the world. With GIVbacks, we’re rewarding - givers by giving GIV to donors to verified projects on + givers by giving GIV to donors to GIVbacks eligible projects on Giveth. diff --git a/src/components/views/landings/onboarding/GIVeconomy/GIVeconomySteps.tsx b/src/components/views/landings/onboarding/GIVeconomy/GIVeconomySteps.tsx index 81552f7d9a..524a365528 100644 --- a/src/components/views/landings/onboarding/GIVeconomy/GIVeconomySteps.tsx +++ b/src/components/views/landings/onboarding/GIVeconomy/GIVeconomySteps.tsx @@ -18,7 +18,7 @@ const GIVeconomySteps = [ { title: 'GIVBacks: Get Rewarded for Donating', description: - 'Not only does Giveth take zero fees for all donations, but we actually reward donors for donating! Learn about our revolutionary GIVbacks program, and how you can earn GIV tokens when you donate to a verified project on Giveth.', + 'Not only does Giveth take zero fees for all donations, but we actually reward donors for donating! Learn about our revolutionary GIVbacks program, and how you can earn GIV tokens when you donate to a GIVbacks eligible project on Giveth.', element: (