{"version":3,"file":"static/chunks/8548-c186f1775f29fc17.js","mappings":"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","sources":["webpack://_N_E/./ui/addressVerification/fields/AddressVerificationFieldAddress.tsx","webpack://_N_E/./ui/addressVerification/steps/AddressVerificationStepAddress.tsx","webpack://_N_E/./ui/addressVerification/fields/AddressVerificationFieldMessage.tsx","webpack://_N_E/./lib/validations/signature.ts","webpack://_N_E/./ui/addressVerification/fields/AddressVerificationFieldSignature.tsx","webpack://_N_E/./ui/addressVerification/steps/AddressVerificationStepSignature.tsx","webpack://_N_E/./ui/addressVerification/steps/AddressVerificationStepSuccess.tsx","webpack://_N_E/./ui/addressVerification/AddressVerificationModal.tsx","webpack://_N_E/./ui/shared/InputPlaceholder.tsx","webpack://_N_E/./ui/shared/ListItemMobile/ListItemMobileGrid.tsx","webpack://_N_E/./ui/shared/texts/AdminSupportText.tsx"],"sourcesContent":["import { FormControl, Input } from '@chakra-ui/react';\nimport React from 'react';\nimport type { Control, ControllerRenderProps, FormState } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport type { AddressVerificationFormFirstStepFields, RootFields } from '../types';\n\nimport { ADDRESS_REGEXP, ADDRESS_LENGTH } from 'lib/validations/address';\nimport InputPlaceholder from 'ui/shared/InputPlaceholder';\ntype Fields = RootFields & AddressVerificationFormFirstStepFields;\n\ninterface Props {\n formState: FormState;\n control: Control;\n}\n\nconst AddressVerificationFieldAddress = ({ formState, control }: Props) => {\n const renderControl = React.useCallback(({ field }: {field: ControllerRenderProps}) => {\n const error = 'address' in formState.errors ? formState.errors.address : undefined;\n\n return (\n \n \n \n \n );\n }, [ formState.errors, formState.isSubmitting ]);\n\n return (\n \n );\n};\n\nexport default React.memo(AddressVerificationFieldAddress);\n","import { Alert, Box, Button, Flex } from '@chakra-ui/react';\nimport React from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\nimport { useForm } from 'react-hook-form';\n\nimport type {\n AddressVerificationResponseError,\n AddressCheckResponseSuccess,\n AddressCheckStatusSuccess,\n AddressVerificationFormFirstStepFields,\n RootFields,\n} from '../types';\n\nimport { route } from 'nextjs-routes';\n\nimport config from 'configs/app';\nimport type { ResourceError } from 'lib/api/resources';\nimport useApiFetch from 'lib/api/useApiFetch';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\nimport AdminSupportText from 'ui/shared/texts/AdminSupportText';\n\nimport AddressVerificationFieldAddress from '../fields/AddressVerificationFieldAddress';\ntype Fields = RootFields & AddressVerificationFormFirstStepFields;\n\ninterface Props {\n defaultAddress?: string;\n onContinue: (data: AddressVerificationFormFirstStepFields & AddressCheckStatusSuccess) => void;\n}\n\nconst AddressVerificationStepAddress = ({ defaultAddress, onContinue }: Props) => {\n const formApi = useForm({\n mode: 'onBlur',\n defaultValues: {\n address: defaultAddress,\n },\n });\n const { handleSubmit, formState, control, setError, clearErrors, watch } = formApi;\n const apiFetch = useApiFetch();\n\n const address = watch('address');\n\n React.useEffect(() => {\n clearErrors('root');\n }, [ address, clearErrors ]);\n\n const onFormSubmit: SubmitHandler = React.useCallback(async(data) => {\n try {\n const body = {\n contractAddress: data.address,\n };\n const response = await apiFetch<'address_verification', AddressCheckResponseSuccess, AddressVerificationResponseError>('address_verification', {\n fetchParams: { method: 'POST', body },\n pathParams: { chainId: config.chain.id, type: ':prepare' },\n });\n\n if (response.status !== 'SUCCESS') {\n const type = typeof response.status === 'number' ? 'UNKNOWN_ERROR' : response.status;\n const message = ('payload' in response ? response.payload?.message : undefined) || 'Oops! Something went wrong';\n return setError('root', { type, message });\n }\n\n onContinue({ ...response.result, address: data.address });\n } catch (_error) {\n const error = _error as ResourceError;\n setError('root', { type: 'manual', message: error.payload?.message || 'Oops! Something went wrong' });\n }\n\n }, [ apiFetch, onContinue, setError ]);\n\n const onSubmit = handleSubmit(onFormSubmit);\n\n const rootError = (() => {\n switch (formState.errors.root?.type) {\n case 'INVALID_ADDRESS_ERROR': {\n return Specified address either does not exist or is EOA.;\n }\n case 'IS_OWNER_ERROR': {\n return Ownership of this contract address is already verified by this account.;\n }\n case 'OWNERSHIP_VERIFIED_ERROR': {\n return Ownership of this contract address is already verified by another account.;\n }\n case 'SOURCE_CODE_NOT_VERIFIED_ERROR': {\n const href = route({ pathname: '/address/[hash]/contract-verification', query: { hash: address } });\n return (\n \n The contract source code you entered is not yet verified. Please follow these steps to \n verify the contract\n .\n \n );\n }\n case undefined: {\n return null;\n }\n default: {\n return formState.errors.root?.message;\n }\n }\n })();\n\n return (\n
\n Enter the contract address you are verifying ownership for.\n { rootError && { rootError } }\n \n \n \n \n \n \n );\n};\n\nexport default React.memo(AddressVerificationStepAddress);\n","import { FormControl, Textarea } from '@chakra-ui/react';\nimport React from 'react';\nimport type { Control, ControllerRenderProps, FormState } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport type { AddressVerificationFormSecondStepFields, RootFields } from '../types';\n\nimport InputPlaceholder from 'ui/shared/InputPlaceholder';\n\ntype Fields = RootFields & AddressVerificationFormSecondStepFields;\n\ninterface Props {\n formState: FormState;\n control: Control;\n}\n\nconst AddressVerificationFieldMessage = ({ formState, control }: Props) => {\n const renderControl = React.useCallback(({ field }: {field: ControllerRenderProps}) => {\n const error = 'message' in formState.errors ? formState.errors.message : undefined;\n\n return (\n \n \n \n \n );\n }, [ formState.errors ]);\n\n return (\n \n );\n};\n\nexport default React.memo(AddressVerificationFieldMessage);\n","export const SIGNATURE_REGEXP = /^0x[a-fA-F\\d]{130}$/;\n","import { FormControl, Input } from '@chakra-ui/react';\nimport React from 'react';\nimport type { Control, ControllerRenderProps, FormState } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport type { AddressVerificationFormSecondStepFields, RootFields } from '../types';\n\nimport { SIGNATURE_REGEXP } from 'lib/validations/signature';\nimport InputPlaceholder from 'ui/shared/InputPlaceholder';\n\ntype Fields = RootFields & AddressVerificationFormSecondStepFields;\n\ninterface Props {\n formState: FormState;\n control: Control;\n}\n\nconst AddressVerificationFieldSignature = ({ formState, control }: Props) => {\n const renderControl = React.useCallback(({ field }: {field: ControllerRenderProps}) => {\n const error = 'signature' in formState.errors ? formState.errors.signature : undefined;\n\n return (\n \n \n \n \n );\n }, [ formState.errors, formState.isSubmitting ]);\n\n return (\n \n );\n};\n\nexport default React.memo(AddressVerificationFieldSignature);\n","import { Alert, Box, Button, chakra, Flex, Link, Radio, RadioGroup } from '@chakra-ui/react';\nimport { useWeb3Modal } from '@web3modal/wagmi/react';\nimport React from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\nimport { useForm } from 'react-hook-form';\nimport { useSignMessage, useAccount } from 'wagmi';\n\nimport type {\n AddressVerificationFormSecondStepFields,\n AddressCheckStatusSuccess,\n AddressVerificationFormFirstStepFields,\n RootFields,\n AddressVerificationResponseError,\n AddressValidationResponseSuccess,\n} from '../types';\nimport type { VerifiedAddress } from 'types/api/account';\n\nimport config from 'configs/app';\nimport useApiFetch from 'lib/api/useApiFetch';\nimport shortenString from 'lib/shortenString';\nimport CopyToClipboard from 'ui/shared/CopyToClipboard';\nimport AdminSupportText from 'ui/shared/texts/AdminSupportText';\n\nimport AddressVerificationFieldMessage from '../fields/AddressVerificationFieldMessage';\nimport AddressVerificationFieldSignature from '../fields/AddressVerificationFieldSignature';\n\ntype Fields = RootFields & AddressVerificationFormSecondStepFields;\n\ntype SignMethod = 'wallet' | 'manual';\n\ninterface Props extends AddressVerificationFormFirstStepFields, AddressCheckStatusSuccess{\n onContinue: (newItem: VerifiedAddress, signMethod: SignMethod) => void;\n noWeb3Provider?: boolean;\n}\n\nconst AddressVerificationStepSignature = ({ address, signingMessage, contractCreator, contractOwner, onContinue, noWeb3Provider }: Props) => {\n const [ signMethod, setSignMethod ] = React.useState(noWeb3Provider ? 'manual' : 'wallet');\n\n const { open: openWeb3Modal } = useWeb3Modal();\n const { isConnected } = useAccount();\n\n const formApi = useForm({\n mode: 'onBlur',\n defaultValues: {\n message: signingMessage,\n },\n });\n const { handleSubmit, formState, control, setValue, getValues, setError, clearErrors, watch } = formApi;\n\n const apiFetch = useApiFetch();\n\n const signature = watch('signature');\n React.useEffect(() => {\n clearErrors('root');\n }, [ clearErrors, signature ]);\n\n const onFormSubmit: SubmitHandler = React.useCallback(async(data) => {\n try {\n const body = {\n contractAddress: address,\n message: data.message,\n signature: data.signature,\n };\n\n const response = await apiFetch<'address_verification', AddressValidationResponseSuccess, AddressVerificationResponseError>('address_verification', {\n fetchParams: { method: 'POST', body },\n pathParams: { chainId: config.chain.id, type: ':verify' },\n });\n\n if (response.status !== 'SUCCESS') {\n const type = typeof response.status === 'number' ? 'UNKNOWN_STATUS' : response.status;\n return setError('root', { type, message: response.status === 'INVALID_SIGNER_ERROR' ? response.invalidSigner.signer : undefined });\n }\n\n onContinue(response.result.verifiedAddress, signMethod);\n } catch (error) {\n setError('root', { type: 'UNKNOWN_STATUS' });\n }\n }, [ address, apiFetch, onContinue, setError, signMethod ]);\n\n const onSubmit = handleSubmit(onFormSubmit);\n\n const { signMessage, isPending: isSigning } = useSignMessage();\n\n const handleSignMethodChange = React.useCallback((value: typeof signMethod) => {\n setSignMethod(value);\n clearErrors('root');\n }, [ clearErrors ]);\n\n const handleOpenWeb3Modal = React.useCallback(() => {\n clearErrors('root');\n openWeb3Modal();\n }, [ clearErrors, openWeb3Modal ]);\n\n const handleWeb3SignClick = React.useCallback(() => {\n clearErrors('root');\n\n if (!isConnected) {\n return setError('root', { type: 'manual', message: 'Please connect to your Web3 wallet first' });\n }\n\n const message = getValues('message');\n signMessage({ message }, {\n onSuccess: (data) => {\n setValue('signature', data);\n onSubmit();\n },\n onError: (error) => {\n return setError('root', { type: 'SIGNING_FAIL', message: (error as Error)?.message || 'Oops! Something went wrong' });\n },\n });\n }, [ clearErrors, isConnected, getValues, signMessage, setError, setValue, onSubmit ]);\n\n const handleManualSignClick = React.useCallback(() => {\n clearErrors('root');\n onSubmit();\n }, [ clearErrors, onSubmit ]);\n\n const button = (() => {\n if (signMethod === 'manual') {\n return (\n \n Verify\n \n );\n }\n\n return (\n \n { isConnected ? 'Sign and verify' : 'Connect wallet' }\n \n );\n })();\n\n const contactUsLink = contact us help@blockscout.com;\n\n const rootError = (() => {\n switch (formState.errors.root?.type) {\n case 'INVALID_SIGNATURE_ERROR': {\n return The signature could not be processed.;\n }\n case 'VALIDITY_EXPIRED_ERROR': {\n return This verification message has expired. Add the contract address to restart the process.;\n }\n case 'SIGNING_FAIL': {\n return { formState.errors.root.message };\n }\n case 'INVALID_SIGNER_ERROR': {\n const signer = shortenString(formState.errors.root.message || '');\n const expectedSigners = [ contractCreator, contractOwner ].filter(Boolean).map(s => shortenString(s)).join(', ');\n return (\n \n This address \n { signer }\n is not a creator/owner of the requested contract and cannot claim ownership. Only \n { expectedSigners }\n can verify ownership of this contract.\n \n );\n }\n case 'UNKNOWN_STATUS': {\n return (\n \n We are not able to process the verify account ownership for this contract address. Kindly \n { contactUsLink }\n for further assistance.\n \n );\n }\n case undefined: {\n return null;\n }\n }\n })();\n\n return (\n
\n { rootError && { rootError } }\n \n Please select the address to sign and copy the message and sign it using the Blockscout message provider of your choice. \n \n Additional instructions\n \n . If you do not see your address here but are sure that you are the owner of the contract, kindly \n { contactUsLink }\n for further assistance.\n \n { (contractOwner || contractCreator) && (\n \n { contractCreator && (\n \n Contract creator: \n { contractCreator }\n \n ) }\n { contractOwner && (\n \n Contract owner: \n { contractOwner }\n \n ) }\n \n ) }\n \n
\n \n \n
\n { !noWeb3Provider && (\n \n Sign via Web3 wallet\n Sign manually\n \n ) }\n { signMethod === 'manual' && }\n
\n \n { button }\n \n \n
\n );\n};\n\nexport default React.memo(AddressVerificationStepSignature);\n","import { Alert, Box, Button, chakra, Flex } from '@chakra-ui/react';\nimport React from 'react';\n\ninterface Props {\n onShowListClick: () => void;\n onAddTokenInfoClick: () => void;\n isToken?: boolean;\n address: string;\n}\n\nconst AddressVerificationStepSuccess = ({ onAddTokenInfoClick, onShowListClick, isToken, address }: Props) => {\n return (\n \n \n The address ownership for \n { address }\n is verified.\n \n

You may now submit the “Add token information” request

\n \n \n { isToken && (\n \n ) }\n \n
\n );\n};\n\nexport default React.memo(AddressVerificationStepSuccess);\n","import { Modal, ModalBody, ModalCloseButton, ModalContent, ModalHeader, ModalOverlay, Link } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { AddressVerificationFormFirstStepFields, AddressCheckStatusSuccess } from './types';\nimport type { VerifiedAddress } from 'types/api/account';\n\nimport config from 'configs/app';\nimport * as mixpanel from 'lib/mixpanel/index';\nimport IconSvg from 'ui/shared/IconSvg';\nimport Web3ModalProvider from 'ui/shared/Web3ModalProvider';\n\nimport AddressVerificationStepAddress from './steps/AddressVerificationStepAddress';\nimport AddressVerificationStepSignature from './steps/AddressVerificationStepSignature';\nimport AddressVerificationStepSuccess from './steps/AddressVerificationStepSuccess';\n\ntype StateData = AddressVerificationFormFirstStepFields & AddressCheckStatusSuccess & { isToken?: boolean };\n\ninterface Props {\n isOpen: boolean;\n onClose: () => void;\n onSubmit: (address: VerifiedAddress) => void;\n onAddTokenInfoClick: (address: string) => void;\n onShowListClick: () => void;\n defaultAddress?: string;\n pageType: string;\n}\n\nconst AddressVerificationModal = ({ defaultAddress, isOpen, onClose, onSubmit, onAddTokenInfoClick, onShowListClick, pageType }: Props) => {\n const [ stepIndex, setStepIndex ] = React.useState(0);\n const [ data, setData ] = React.useState({ address: '', signingMessage: '' });\n\n React.useEffect(() => {\n isOpen && mixpanel.logEvent(\n mixpanel.EventTypes.VERIFY_ADDRESS,\n { Action: 'Form opened', 'Page type': pageType },\n );\n }, [ isOpen, pageType ]);\n\n const handleGoToSecondStep = React.useCallback((firstStepResult: typeof data) => {\n setData(firstStepResult);\n setStepIndex((prev) => prev + 1);\n mixpanel.logEvent(\n mixpanel.EventTypes.VERIFY_ADDRESS,\n { Action: 'Address entered', 'Page type': pageType },\n );\n }, [ pageType ]);\n\n const handleGoToThirdStep = React.useCallback((address: VerifiedAddress, signMethod: 'wallet' | 'manual') => {\n onSubmit(address);\n setStepIndex((prev) => prev + 1);\n setData((prev) => ({ ...prev, isToken: Boolean(address.metadata.tokenName) }));\n mixpanel.logEvent(\n mixpanel.EventTypes.VERIFY_ADDRESS,\n { Action: 'Sign ownership', 'Page type': pageType, 'Sign method': signMethod },\n );\n }, [ onSubmit, pageType ]);\n\n const handleGoToPrevStep = React.useCallback(() => {\n setStepIndex((prev) => prev - 1);\n }, []);\n\n const handleClose = React.useCallback(() => {\n onClose();\n setStepIndex(0);\n setData({ address: '', signingMessage: '' });\n }, [ onClose ]);\n\n const handleAddTokenInfoClick = React.useCallback(() => {\n onAddTokenInfoClick(data.address);\n handleClose();\n }, [ handleClose, data.address, onAddTokenInfoClick ]);\n\n const steps = [\n {\n title: 'Verify new address ownership',\n content: ,\n },\n {\n title: 'Copy and sign message',\n content: (\n \n ),\n },\n {\n title: 'Congrats! Address is verified.',\n content: (\n \n ),\n },\n ];\n const step = steps[stepIndex];\n\n return (\n \n \n \n \n { stepIndex !== 0 && (\n \n \n \n ) }\n { step.title }\n \n \n \n \n { step.content }\n \n \n \n \n );\n};\n\nexport default React.memo(AddressVerificationModal);\n","import { FormLabel, chakra } from '@chakra-ui/react';\nimport React from 'react';\nimport type { FieldError } from 'react-hook-form';\n\ninterface Props {\n text: string;\n icon?: React.ReactNode;\n error?: Partial;\n isFancy?: boolean;\n}\n\nconst InputPlaceholder = ({ text, icon, error, isFancy }: Props) => {\n let errorMessage = error?.message;\n\n if (!errorMessage && error?.type === 'pattern') {\n errorMessage = 'Invalid format';\n }\n\n return (\n \n { icon }\n { text }\n { errorMessage && - { errorMessage } }\n \n );\n};\n\nexport default React.memo(InputPlaceholder);\n","import { Grid, chakra, GridItem, Skeleton } from '@chakra-ui/react';\nimport { motion } from 'framer-motion';\nimport React from 'react';\n\ninterface ContainerProps {\n className?: string;\n isAnimated?: boolean;\n children: React.ReactNode;\n}\n\nconst Container = chakra(({ isAnimated, children, className }: ContainerProps) => {\n return (\n \n { children }\n \n );\n});\n\ninterface LabelProps {\n className?: string;\n children: React.ReactNode;\n isLoading?: boolean;\n}\n\nconst Label = chakra(({ children, className, isLoading }: LabelProps) => {\n return (\n \n { children }\n \n );\n});\n\ninterface ValueProps {\n className?: string;\n children: React.ReactNode;\n}\n\nconst Value = chakra(({ children, className }: ValueProps) => {\n return (\n \n { children }\n \n );\n});\n\nconst ListItemMobileGrid = {\n Container,\n Label,\n Value,\n};\n\nexport default ListItemMobileGrid;\n","import { Box, Link, chakra } from '@chakra-ui/react';\nimport React from 'react';\n\ninterface Props {\n className?: string;\n}\n\nconst AdminSupportText = ({ className }: Props) => {\n return (\n \n Need help? Contact admin team at \n help@blockscout.com\n for assistance!\n \n );\n};\n\nexport default chakra(AdminSupportText);\n"],"names":["fields_AddressVerificationFieldAddress","React","formState","control","param","renderControl","field","error","errors","address","undefined","jsx_runtime","jsxs","FormControl","variant","id","name","isRequired","size","bgColor","mt","jsx","Input","required","isInvalid","Boolean","maxLength","ADDRESS_LENGTH","isDisabled","isSubmitting","autoComplete","InputPlaceholder","text","Controller","render","rules","pattern","ADDRESS_REGEXP","steps_AddressVerificationStepAddress","defaultAddress","onContinue","handleSubmit","setError","clearErrors","watch","useForm","mode","defaultValues","apiFetch","useApiFetch","onSubmit","data","response","body","contractAddress","fetchParams","method","pathParams","chainId","config","chain","type","status","message","payload","result","_error","rootError","root","span","href","route","pathname","query","hash","Box","LinkInternal","form","noValidate","Alert","AddressVerificationFieldAddress","Flex","alignItems","base","lg","columnGap","rowGap","flexDir","Button","isLoading","loadingText","flexShrink","AdminSupportText","fields_AddressVerificationFieldMessage","Textarea","isReadOnly","maxH","defaultValue","SIGNATURE_REGEXP","fields_AddressVerificationFieldSignature","signature","steps_AddressVerificationStepSignature","signingMessage","contractCreator","contractOwner","noWeb3Provider","signMethod","setSignMethod","open","openWeb3Modal","useWeb3Modal","isConnected","useAccount","setValue","getValues","invalidSigner","signer","verifiedAddress","signMessage","isPending","isSigning","useSignMessage","handleSignMethodChange","value","handleOpenWeb3Modal","handleWeb3SignClick","onSuccess","onError","handleManualSignClick","button","onClick","contactUsLink","Link","shortenString","expectedSigners","filter","map","s","join","mb","target","chakra","fontWeight","div","CopyToClipboard","ml","display","AddressVerificationFieldMessage","RadioGroup","onChange","Radio","AddressVerificationFieldSignature","steps_AddressVerificationStepSuccess","onAddTokenInfoClick","onShowListClick","isToken","flexWrap","whiteSpace","wordBreak","p","addressVerification_AddressVerificationModal","isOpen","onClose","pageType","stepIndex","setStepIndex","setData","mixpanel","VERIFY_ADDRESS","Action","handleGoToSecondStep","firstStepResult","prev","handleGoToThirdStep","metadata","tokenName","handleGoToPrevStep","handleClose","handleAddTokenInfoClick","step","steps","title","content","AddressVerificationStepAddress","AddressVerificationStepSignature","features","blockchainInteraction","isEnabled","AddressVerificationStepSuccess","Modal","ModalOverlay","ModalContent","ModalHeader","textStyle","mr","IconSvg","boxSize","transform","verticalAlign","color","ModalCloseButton","ModalBody","Web3ModalProvider","__webpack_exports__","Z","icon","isFancy","errorMessage","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","FormLabel","order","Container","isAnimated","children","className","Grid","as","motion","w","initial","opacity","scale","animate","transitionDuration","transitionTimingFunction","gridTemplateColumns","paddingY","borderColor","borderTopWidth","_last","borderBottomWidth","fontSize","lineHeight","Label","Skeleton","isLoaded","my","justifySelf","Value","GridItem","py","overflow"],"sourceRoot":""}