title: web3.js how to access contracts array property
body: <p>I have a contract like this :</p>
  <pre><code>contract Test
  {
       uint256 public delay;
       uint256[] public timings;
  }
  </code></pre>
  <p>Now I am interacting from web3.js with the contract like this</p>
  <pre><code>const contract = new Web3(window.ethereum).eth.Contract(ABI, address)
  // works fine
  const deley = await contract.methods.delay().call()
  // fails with 'reverted' error
  const deley = await contract.methods.timings(0).call()
  </code></pre>
  <p>And as you can see get 2 different results. When I am accessing a regular property the value is returned correctly, however when I am trying to access an array I am getting just the 'reverted' error:</p>
  <pre><code>{code: -32000, message: &quot;execution reverted&quot;}
  </code></pre>
  <p>Any idea how can I access the array from just simeple js frontend app ?</p>
  <p>Mind you that the following construct works just fine when I execute it via truffle exec:</p>
  <pre><code>const contract = await Test.at(address);
  const first = await contract.timings(0);
  </code></pre>
  <p>Which puzzles me even more!</p>