Я создал проект для DApp на языке Solidity для Ethereum со следующей структурой:
... ReinsuranceProject
..... договор
....... Reinsure.sol
.....библиотека
....... Strings.sol
В контракте Reinsure.sol я импортировал Strings.sol, который является библиотекой, например:
import "../Strings.sol";
Эта библиотека содержит функцию, которая преобразует байты в строку.
В мой основной контракт Reinsure.sol я добавил следующие строки:
using StringsLib for bytes;
(StringLib его, потому что сама библиотека называется так, а не файл)
и в другом методе я хочу вернуть varBytes.toString();
Однако при компиляции проекта я получаю эту ошибку:
TypeError: член "toString" не найден или не виден после зависимого от аргумента поиска в байтовой памяти \ n
Метод toString объявлен так:
function toString(bytes32 x) constant internal returns (string)
Версия Solidity для компилятора pragma solidity "0.4.25";
(я использую код Visual Studio с расширением для Solidity)
Вопросы: если проблема заключается в импорте, как правильно импортировать библиотеку Strings.sol с указанной структурой проекта?
Если нет, я неправильно назвал классы, и если да, то как это исправить?
Есть ли способ сделать файл конфигурации для путей, чтобы сделать это проще?
Буду очень признателен за помощь и заранее благодарю!