Как определить длину массива памяти в надёжности, если я не знаю эту длину до того, как l oop не будет выполнено - PullRequest
0 голосов
/ 12 марта 2020

Например, у меня есть глобальный массив, в котором хранятся все токены в моем контракте, и мне нужно написать некоторую функцию, которая возвращает новый отсортированный массив с токенами, которые могут быть проданы только в Bancor.

ПРИМЕР:

  address[] memory bancorTokens = new address[](I DONT KNOW WHAT LENGTH SHOULD BE ???);
  uint ercIndex = 0;

  for (uint256 i = 1; i < tokenAddresses.length; i++) {
      // add only Bancor trade able tokens 
      if(!isBancorAvailable[tokenAddresses[i]]){
        bancorTokens[ercIndex] = tokenAddresses[i];
        ercIndex++;
      }
  }

  return bancorTokens;

НО Я НЕ ЗНАЮ, ЧТО ДЛИТЕЛЬНОСТЬ ДОЛЖНА БЫТЬ ДЛЯ bancorTokens ДО того, как l oop не будет выполнен.

Какая лучшая практика должна быть для этого случая?

...