From 7a24bdc1e875143b65234251fe7b66147b7deb8f Mon Sep 17 00:00:00 2001 From: Moe Shehab <52987806+mhmdksh@users.noreply.github.com> Date: Thu, 19 Dec 2024 20:40:46 +0400 Subject: [PATCH 01/20] Update README.md Deploying build From 97fecc4945af57253dc21426d815b9f2de508f2b Mon Sep 17 00:00:00 2001 From: Kilter Date: Thu, 19 Dec 2024 16:43:39 -0500 Subject: [PATCH 02/20] feat: recurring donation setup on creation --- src/apollo/types/types.ts | 7 + .../views/create/AddressInterface.tsx | 115 ++++++++----- .../create/AlloProtocol/AlloProtocolModal.tsx | 151 +++++++++--------- src/components/views/create/CreateProject.tsx | 24 +-- src/components/views/create/types.tsx | 10 +- 5 files changed, 177 insertions(+), 130 deletions(-) diff --git a/src/apollo/types/types.ts b/src/apollo/types/types.ts index 582960c8e9..3524bbfbd7 100644 --- a/src/apollo/types/types.ts +++ b/src/apollo/types/types.ts @@ -35,6 +35,13 @@ export interface IAnchorContractData { networkId: number; } +export interface IAnchorContractBasicData { + contractAddress?: Address; + recipientAddress: Address; + hash?: string; + enabled?: boolean; +} + export interface IProject { id: string; title?: string; diff --git a/src/components/views/create/AddressInterface.tsx b/src/components/views/create/AddressInterface.tsx index 2e6da5a77e..65571d33aa 100644 --- a/src/components/views/create/AddressInterface.tsx +++ b/src/components/views/create/AddressInterface.tsx @@ -25,11 +25,14 @@ import { getChainName } from '@/lib/network'; import { IChainType } from '@/types/config'; import { findAddressByChain } from '@/lib/helpers'; import { useGeneralWallet } from '@/providers/generalWalletProvider'; -import { IAnchorContractData, IProject } from '@/apollo/types/types'; +import { + IAnchorContractBasicData, + IAnchorContractData, + IProject, +} from '@/apollo/types/types'; import { IconWithTooltip } from '@/components/IconWithToolTip'; import { EInputs } from './types'; import links from '@/lib/constants/links'; -import { STOP_RECURRING_SETUP_ON_CREATION } from './CreateProject'; import { saveAnchorContract } from './AlloProtocol/AlloProtocolModal'; interface IAddressInterfaceProps extends IChainType { @@ -58,6 +61,8 @@ const AddressInterface = ({ const { formatMessage } = useIntl(); const { isOnEVM } = useGeneralWallet(); + const DO_RECURRING_SETUP_ON_ENABLE = isEditMode; + const [hasAnchorContract, setHasAnchorContract] = useState( anchorContractData?.isActive || false, ); @@ -68,13 +73,18 @@ const AddressInterface = ({ const isOnBase = chain ? chain.id === config.BASE_NETWORK_NUMBER : false; const inputName = EInputs.addresses; - const alloProtocolRegistry = watch(EInputs.alloProtocolRegistry) as boolean; - const value = watch(inputName); const isOptimism = networkId === config.OPTIMISM_NETWORK_NUMBER; const isBase = networkId === config.BASE_NETWORK_NUMBER; + const alloContract = isBase + ? EInputs.baseAnchorContract + : EInputs.opAnchorContract; + const alloProtocolRegistry = watch( + alloContract, + ) as IAnchorContractBasicData; + const addressObj = findAddressByChain(value, networkId, chainType); const walletAddress = addressObj?.address; @@ -168,12 +178,7 @@ const AddressInterface = ({ 1, ); setValue(inputName, _addresses); - if (isOptimism) { - setValue( - EInputs.alloProtocolRegistry, - false, - ); - } + setValue(alloContract, false); }} > @@ -219,7 +224,7 @@ const AddressInterface = ({ - ) : STOP_RECURRING_SETUP_ON_CREATION ? ( + ) : DO_RECURRING_SETUP_ON_ENABLE ? (