Could someone help me with Contract ABI?

Could someone help me i am getting crazy! my ABI is not working although I follow every step of the tutorial. pleas help if you can ! Thanks so much in advance!

const [contractABI, setContractABI] = ‘[
{
“inputs”: [],
“stateMutability”: “nonpayable”,
“type”: “constructor”
},
{
“anonymous”: false,
“inputs”: [
{
“indexed”: true,
“internalType”: “uint256”,
“name”: “itemId”,
“type”: “uint256”
},
{
“indexed”: true,
“internalType”: “address”,
“name”: “nftContract”,
“type”: “address”
},
{
“indexed”: true,
“internalType”: “uint256”,
“name”: “tokenId”,
“type”: “uint256”
},
{
“indexed”: false,
“internalType”: “address”,
“name”: “seller”,
“type”: “address”
},
{
“indexed”: false,
“internalType”: “address”,
“name”: “owner”,
“type”: “address”
},
{
“indexed”: false,
“internalType”: “uint256”,
“name”: “price”,
“type”: “uint256”
},
{
“indexed”: false,
“internalType”: “bool”,
“name”: “sold”,
“type”: “bool”
}
],
“name”: “MarketItemCreated”,
“type”: “event”
},
{
“anonymous”: false,
“inputs”: [
{
“indexed”: true,
“internalType”: “uint256”,
“name”: “itemId”,
“type”: “uint256”
},
{
“indexed”: false,
“internalType”: “address”,
“name”: “owner”,
“type”: “address”
}
],
“name”: “MarketItemSold”,
“type”: “event”
},
{
“inputs”: [
{
“internalType”: “address”,
“name”: “nftContract”,
“type”: “address”
},
{
“internalType”: “uint256”,
“name”: “tokenId”,
“type”: “uint256”
},
{
“internalType”: “uint256”,
“name”: “price”,
“type”: “uint256”
}
],
“name”: “createMarketItem”,
“outputs”: [],
“stateMutability”: “payable”,
“type”: “function”
},
{
“inputs”: [
{
“internalType”: “address”,
“name”: “nftContract”,
“type”: “address”
},
{
“internalType”: “uint256”,
“name”: “itemId”,
“type”: “uint256”
}
],
“name”: “createMarketSale”,
“outputs”: [],
“stateMutability”: “payable”,
“type”: “function”
},
{
“inputs”: [],
“name”: “fetchMarketItems”,
“outputs”: [
{
“components”: [
{
“internalType”: “uint256”,
“name”: “itemId”,
“type”: “uint256”
},
{
“internalType”: “address”,
“name”: “nftContract”,
“type”: “address”
},
{
“internalType”: “uint256”,
“name”: “tokenId”,
“type”: “uint256”
},
{
“internalType”: “address payable”,
“name”: “seller”,
“type”: “address”
},
{
“internalType”: “address payable”,
“name”: “owner”,
“type”: “address”
},
{
“internalType”: “uint256”,
“name”: “price”,
“type”: “uint256”
},
{
“internalType”: “bool”,
“name”: “sold”,
“type”: “bool”
}
],
“internalType”: “struct marketPlaceBoilerPlate.MarketItem[]”,
“name”: “”,
“type”: “tuple[]”
}
],
“stateMutability”: “view”,
“type”: “function”
},
{
“inputs”: [],
“name”: “owner”,
“outputs”: [
{
“internalType”: “address”,
“name”: “”,
“type”: “address”
}
],
“stateMutability”: “view”,
“type”: “function”
}
]’

where is this ABI not working?

./src/providers/MoralisDappProvider/MoralisDappProvider.js
SyntaxError: C:\Users\Superwokkel\Documents\GitHub\ethereum-boilerplate\src\providers\MoralisDappProvider\MoralisDappProvider.js: Unterminated string constant. (9:40)

Failed to compile.

./src/providers/MoralisDappProvider/MoralisDappProvider.js
SyntaxError: C:\Users\Superwokkel\Documents\GitHub\ethereum-boilerplate\src\providers\MoralisDappProvider\MoralisDappProvider.js: Unterminated string constant. (9:40)

7 | const [walletAddress, setWalletAddress] = useState();
8 | const [chainId, setChainId] = useState();

9 | const [contractABI, setContractABI] = '[
| ^
10 | {
11 | “inputs”: [],
12 | “stateMutability”: “nonpayable”,

in the terminal en i get syntax error in terminal, cant start nft marketplace section

that ABI should be added as string there? const [contractABI, setContractABI] = ‘[ (I see that '[ there)
it looks like it should have 2 items too based on that, it it should be some kind of useState?

I dont understand what you mean cryptokid. Thanks for helping me tho! to be specific.
const [contractABI, setContractABI] = ’ paste abi ’

or do i need this const?

const [contractABI, setContractABI] = useState(‘paste abi here’)

This is also not working

const [contractABI, setContractABI] = useState(’[

{

  "inputs": [],

  "stateMutability": "nonpayable",

  "type": "constructor"

},

{

  "anonymous": false,

  "inputs": [

    {

      "indexed": true,

      "internalType": "uint256",

      "name": "itemId",

      "type": "uint256"

    },

    {

      "indexed": true,

      "internalType": "address",

      "name": "nftContract",

      "type": "address"

    },

    {

      "indexed": true,

      "internalType": "uint256",

      "name": "tokenId",

      "type": "uint256"

    },

    {

      "indexed": false,

      "internalType": "address",

      "name": "seller",

      "type": "address"

    },

    {

      "indexed": false,

      "internalType": "address",

      "name": "owner",

      "type": "address"

    },

    {

      "indexed": false,

      "internalType": "uint256",

      "name": "price",

      "type": "uint256"

    },

    {

      "indexed": false,

      "internalType": "bool",

      "name": "sold",

      "type": "bool"

    }

  ],

  "name": "MarketItemCreated",

  "type": "event"

},

{

  "anonymous": false,

  "inputs": [

    {

      "indexed": true,

      "internalType": "uint256",

      "name": "itemId",

      "type": "uint256"

    },

    {

      "indexed": false,

      "internalType": "address",

      "name": "owner",

      "type": "address"

    }

  ],

  "name": "MarketItemSold",

  "type": "event"

},

{

  "inputs": [

    {

      "internalType": "address",

      "name": "nftContract",

      "type": "address"

    },

    {

      "internalType": "uint256",

      "name": "tokenId",

      "type": "uint256"

    },

    {

      "internalType": "uint256",

      "name": "price",

      "type": "uint256"

    }

  ],

  "name": "createMarketItem",

  "outputs": [],

  "stateMutability": "payable",

  "type": "function"

},

{

  "inputs": [

    {

      "internalType": "address",

      "name": "nftContract",

      "type": "address"

    },

    {

      "internalType": "uint256",

      "name": "itemId",

      "type": "uint256"

    }

  ],

  "name": "createMarketSale",

  "outputs": [],

  "stateMutability": "payable",

  "type": "function"

},

{

  "inputs": [],

  "name": "fetchMarketItems",

  "outputs": [

    {

      "components": [

        {

          "internalType": "uint256",

          "name": "itemId",

          "type": "uint256"

        },

        {

          "internalType": "address",

          "name": "nftContract",

          "type": "address"

        },

        {

          "internalType": "uint256",

          "name": "tokenId",

          "type": "uint256"

        },

        {

          "internalType": "address payable",

          "name": "seller",

          "type": "address"

        },

        {

          "internalType": "address payable",

          "name": "owner",

          "type": "address"

        },

        {

          "internalType": "uint256",

          "name": "price",

          "type": "uint256"

        },

        {

          "internalType": "bool",

          "name": "sold",

          "type": "bool"

        }

      ],

      "internalType": "struct marketPlaceBoilerPlate.MarketItem[]",

      "name": "",

      "type": "tuple[]"

    }

  ],

  "stateMutability": "view",

  "type": "function"

},

{

  "inputs": [],

  "name": "owner",

  "outputs": [

    {

      "internalType": "address",

      "name": "",

      "type": "address"

    }

  ],

  "stateMutability": "view",

  "type": "function"

}

]’)

const [contractABI, setContractABI] = useState([
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "itemId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "nftContract",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "seller",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "price",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "sold",
        "type": "bool"
      }
    ],
    "name": "MarketItemCreated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "itemId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "MarketItemSold",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "nftContract",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "price",
        "type": "uint256"
      }
    ],
    "name": "createMarketItem",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "nftContract",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "itemId",
        "type": "uint256"
      }
    ],
    "name": "createMarketSale",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "fetchMarketItems",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "itemId",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "nftContract",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          },
          {
            "internalType": "address payable",
            "name": "seller",
            "type": "address"
          },
          {
            "internalType": "address payable",
            "name": "owner",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "price",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "sold",
            "type": "bool"
          }
        ],
        "internalType": "struct marketPlaceBoilerPlate.MarketItem[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
])

Thank so much! now the abi is working and i set market address to my addres from metamask or do i need the mining address? I dont understand how this work I followed the tutorial of moralis opensea. Tho that way is not working for me. is there a video or good doc? that i can follow?

get this error now… I have installed the moralis server the same way as the video clone opensea moraLIS

SyntaxError: Unexpected token o in JSON at position 1

NFTTokenIds

C:/Users/Superwokkel/Documents/GitHub/ethereum-boilerplate/src/components/NFTMarketplace.jsx:35

  32 | const nativeName = getNativeByChain(chainId);  33 | const contractProcessor = useWeb3ExecuteFunction();  34 | const purchaseItemFunction = "createMarketSale"> 35 | const contractABIJson = JSON.parse(contractABI);     | ^  36 | const NFTCollections = getCollectionsByChain(chainId)  37 | const [nftToBuy, setNftToBuy] = useState();  38 | const queryMarketItems = useMoralisQuery("CreatedMarketItems");

View compiled

What do you have in NFTMarketplace.js line 35 ?