Having installed npm and truffle, I wish to use
import “@openzeppelin/contracts/token/ERC20/ERC20.sol”;
to import openzeppelin packages for deploying using Remix. However, I cannot truffle-flatten the main .sol and get an error referring to invalid ALT.
Environment
MacOS Big Sur, Truffle v5.1.567, Remix IDE
Details
users-mbp:STK user$ truffle-flattener contracts/SimpleToken.sol > contracts/FlattenedSimpleToken.sol
(node:7324) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:7324) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency
Error: None of the sub-resolvers resolved "@openzeppelin/contracts/token/ERC20/StandardToken.sol" location.
at ResolverEngine.<anonymous> (/usr/local/lib/node_modules/truffle-flattener/node_modules/@resolver-engine/core/build/src/resolverengine.js:35:23)
at Generator.next (<anonymous>)
at fulfilled (/usr/local/lib/node_modules/truffle-flattener/node_modules/@resolver-engine/core/build/src/resolverengine.js:4:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
users-mbp:STK user$ truffle-flattener contracts/SimpleToken.sol > contracts/FlattenedSimpleToken.sol
(node:7746) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:7746) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency
Error: None of the sub-resolvers resolved "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol" location.
at ResolverEngine.<anonymous> (/usr/local/lib/node_modules/truffle-flattener/node_modules/@resolver-engine/core/build/src/resolverengine.js:35:23)
at Generator.next (<anonymous>)
at fulfilled (/usr/local/lib/node_modules/truffle-flattener/node_modules/@resolver-engine/core/build/src/resolverengine.js:4:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Code to reproduce
pragma solidity ^0.6.2;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol";
contract SimpleToken is ERC20, ERC20Detailed {
constructor () public ERC20Detailed("SimpleToken", "STt", 18) {
_mint(msg.sender, 25000000000 * (10 ** uint256(decimals())));
}
}