diff --git a/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx b/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx index 57afe859809..96d0bd6e50d 100644 --- a/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx +++ b/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx @@ -14,7 +14,12 @@ import { Flex, FormControl } from "@chakra-ui/react"; import { useMutation, useQuery } from "@tanstack/react-query"; import { verifyContract } from "app/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/ContractSourcesPage"; import { NetworkSelectorButton } from "components/selects/NetworkSelectorButton"; -import { DEFAULT_FEE_BPS, DEFAULT_FEE_RECIPIENT } from "constants/addresses"; +import { + DEFAULT_FEE_BPS, + DEFAULT_FEE_BPS_NEW, + DEFAULT_FEE_RECIPIENT, + THIRDWEB_PUBLISHER_ADDRESS, +} from "constants/addresses"; import { SolidityInput } from "contract-ui/components/solidity-inputs"; import { useTrack } from "hooks/analytics/useTrack"; import { useTxNotifications } from "hooks/useTxNotifications"; @@ -161,6 +166,13 @@ export const CustomContractForm: React.FC = ({ const constructorParams = metadata.abi.find((a) => a.type === "constructor")?.inputs || []; + const defaultFeeRecipientFunction = metadata.abi.find( + (a) => a.type === "function" && a.name === "DEFAULT_FEE_RECIPIENT", + ); + const hasInbuiltDefaultFeeConfig = + defaultFeeRecipientFunction && + metadata.publisher === THIRDWEB_PUBLISHER_ADDRESS; + const [customFactoryNetwork, customFactoryAddress] = Object.entries( metadata?.factoryDeploymentData?.customFactoryInput ?.customFactoryAddresses || {}, @@ -457,7 +469,9 @@ export const CustomContractForm: React.FC = ({ name: params.contractMetadata?.name || "", contractURI: _contractURI, defaultAdmin: params.deployParams._defaultAdmin as string, - platformFeeBps: DEFAULT_FEE_BPS, + platformFeeBps: hasInbuiltDefaultFeeConfig + ? DEFAULT_FEE_BPS_NEW + : DEFAULT_FEE_BPS, platformFeeRecipient: DEFAULT_FEE_RECIPIENT, trustedForwarders: params.deployParams._trustedForwarders ? JSON.parse(params.deployParams._trustedForwarders as string) @@ -473,8 +487,10 @@ export const CustomContractForm: React.FC = ({ payees, shares, _contractURI, - _platformFeeBps: DEFAULT_FEE_BPS, - _platformFeeRecipient: DEFAULT_FEE_RECIPIENT, + platformFeeBps: hasInbuiltDefaultFeeConfig + ? DEFAULT_FEE_BPS_NEW + : DEFAULT_FEE_BPS, + platformFeeRecipient: DEFAULT_FEE_RECIPIENT, }; const salt = params.deployDeterministic diff --git a/apps/dashboard/src/components/contract-components/contract-deploy-form/platform-fee-fieldset.tsx b/apps/dashboard/src/components/contract-components/contract-deploy-form/platform-fee-fieldset.tsx index ff6fe32a870..093664d516d 100644 --- a/apps/dashboard/src/components/contract-components/contract-deploy-form/platform-fee-fieldset.tsx +++ b/apps/dashboard/src/components/contract-components/contract-deploy-form/platform-fee-fieldset.tsx @@ -5,13 +5,13 @@ interface PlatformFeeFieldsetProps { isMarketplace: boolean; } -export const PlatformFeeFieldset: React.FC = ( - props, -) => { +export const PlatformFeeFieldset: React.FC = ({ + isMarketplace, +}) => { return (
- {props.isMarketplace ? ( + {isMarketplace ? (

A 2.5% platform fee is deducted from each sale to support ongoing platform operations and improvements.{" "} diff --git a/apps/dashboard/src/components/contract-functions/contract-function.tsx b/apps/dashboard/src/components/contract-functions/contract-function.tsx index 2d4b10873b9..a34c06b8e4f 100644 --- a/apps/dashboard/src/components/contract-functions/contract-function.tsx +++ b/apps/dashboard/src/components/contract-functions/contract-function.tsx @@ -285,6 +285,7 @@ export const ContractFunctionsPanel: React.FC = ({ twAccount, }) => { // TODO: clean this up + const functionsWithExtension = useMemo(() => { const allFunctions = fnsOrEvents.filter((f) => f.type === "function"); const results: ExtensionFunctions[] = []; diff --git a/apps/dashboard/src/constants/addresses.ts b/apps/dashboard/src/constants/addresses.ts index 1ad1fc134e9..42b94a80456 100644 --- a/apps/dashboard/src/constants/addresses.ts +++ b/apps/dashboard/src/constants/addresses.ts @@ -1,7 +1,11 @@ export const THIRDWEB_DEPLOYER_ADDRESS = "0xdd99b75f095d0c4d5112aCe938e4e6ed962fb024"; +export const THIRDWEB_PUBLISHER_ADDRESS = + "0xdd99b75f095d0c4d5112aCe938e4e6ed962fb024"; + export const DEFAULT_FEE_RECIPIENT = "0x1af20c6b23373350ad464700b5965ce4b0d2ad94"; export const DEFAULT_FEE_BPS = 250; +export const DEFAULT_FEE_BPS_NEW = 150;