Truffle: Truffle will always recompile contracts

Created on 10 Oct 2018  ยท  5Comments  ยท  Source: trufflesuite/truffle

Issue

Truffle always compiles files, regardless if they have been compiled already

Steps to Reproduce

truffle compile
truffle test
or
truffle develop
compile
test

Expected Behavior

After the contracts are compile using compile, they should not be compiled again when running test, migrate, or compile

Actual Results

Contracts always compile again, example output:

Compiling ./contracts/Migrations.sol...
Compiling ./contracts/commodity/BasicCommodity.sol...
Compiling ./contracts/commodity/CommodityLib.sol...
Compiling ./contracts/commodity/ICommodity.sol...
Compiling ./contracts/commodity/ICommodityOperator.sol...
Compiling ./contracts/commodity/ICommodityRecipient.sol...
Compiling ./contracts/commodity/ICommoditySender.sol...
Compiling ./contracts/commodity/IMintableCommodity.sol...
Compiling ./contracts/commodity/IVerifiableCommodity.sol...
Compiling ./contracts/commodity/MintableCommodity.sol...
Compiling ./contracts/commodity/SplittableCommodity.sol...
Compiling ./contracts/commodity/VerifiableCommodity.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC20Token.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777BaseToken.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777ERC20BaseToken.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777Token.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777TokensOperator.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777TokensRecipient.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777TokensSender.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ERC820ImplementerInterface_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ERC820Implementer_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ERC820Registry_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ExampleImplementer2_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ExampleImplementer_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/TestEip165_all.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ERC820Implementer.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ERC820ImplementerInterface.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ERC820Registry.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ExampleImplementer2.sol...
Compiling ./contracts/crc/CRCV0_3_0.sol...
Compiling ./contracts/lifecycle/Pausable.sol...
Compiling ./contracts/market/FifoCrcMarketV0_2_0.sol...
Compiling ./contracts/market/FifoTokenizedCommodityMarket.sol...
Compiling ./contracts/market/Market.sol...
Compiling ./contracts/market/MarketLib.sol...
Compiling ./contracts/market/StandardTokenizedCommodityMarket.sol...
Compiling ./contracts/participant/IParticipant.sol...
Compiling ./contracts/participant/IParticipantRegistry.sol...
Compiling ./contracts/participant/ISupplier.sol...
Compiling ./contracts/participant/IVerifier.sol...
Compiling ./contracts/participant/MultiAdmin.sol...
Compiling ./contracts/participant/ParticipantRegistryV0_2_0.sol...
Compiling ./contracts/participant/ParticipantV0_3_0.sol...
Compiling ./contracts/participant/SupplierV0_3_0.sol...
Compiling ./contracts/participant/VerifierV0_3_0.sol...
Compiling ./contracts/registry/ContractRegistryBase.sol...
Compiling ./contracts/registry/ContractRegistryV0_3_0.sol...
Compiling ./contracts/registry/IContractRegistry.sol...
Compiling ./contracts/registry/RootRegistryV0_2_0.sol...
Compiling ./contracts/token/NoriV0_2_0.sol...
Compiling ./contracts/token/PausableToken.sol...
Compiling ./contracts/token/UpgradeableToken.sol...
Compiling ./contracts/upgradeable/unstructured/test/UnstructuredUpgradeableTokenV0_1_0.sol...
Compiling ./contracts/upgradeable/unstructured/test/UnstructuredUpgradeableTokenV0_2_0.sol...
Compiling ./contracts/upgradeable/unstructured/test/UnstructuredUpgradeableTokenV0_3_0.sol...
Compiling ./contracts/wallet/IRiskMitigationAccount.sol...
Compiling ./contracts/wallet/MultiSigWallet.sol...
Compiling ./contracts/wallet/RiskMitigationAccountV0_1_0.sol...
Compiling eip820/contracts/ERC820Implementer.sol...
Compiling openzeppelin-solidity/contracts//math/SafeMath.sol...
Compiling openzeppelin-solidity/contracts/math/SafeMath.sol...
Compiling openzeppelin-solidity/contracts/ownership/Ownable.sol...

Compilation warnings encountered:

/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ExampleImplementer2_all.sol:37:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function ExampleImplementer2() public {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/TestEip165_all.sol:46:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function ERC165MappingImplementation() internal {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/TestEip165_all.sol:61:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function Lisa() public {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/ExampleImplementer2.sol:7:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function ExampleImplementer2() public {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/registry/ContractRegistryBase.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2; //solium-disable-line
^-------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodityRecipient.sol:4:3: Warning: Functions in interfaces should be declared external.
  function commodityReceived(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodityOperator.sol:4:3: Warning: Functions in interfaces should be declared external.
  function madeOperatorForCommodity(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodityOperator.sol:14:3: Warning: Functions in interfaces should be declared external.
  function revokedOperatorForCommodity(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommoditySender.sol:4:3: Warning: Functions in interfaces should be declared external.
  function commodityToSend(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:4:3: Warning: Functions in interfaces should be declared external.
  function balanceOf(address owner) public view returns (uint256);
  ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:5:3: Warning: Functions in interfaces should be declared external.
  function bundleBalanceOf(address owner) public view returns (uint256);
  ^--------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:6:3: Warning: Functions in interfaces should be declared external.
  function ownerOf(uint256 tokenId) public view returns (address owner);
  ^--------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:8:3: Warning: Functions in interfaces should be declared external.
  function send(address to, uint256 amount) public;
  ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:9:3: Warning: Functions in interfaces should be declared external.
  function send(address to, uint256 amount, bytes userData) public;
  ^---------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:10:3: Warning: Functions in interfaces should be declared external.
  function approve(address to, uint256 tokenId) public;
  ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:13:3: Warning: Functions in interfaces should be declared external.
  function authorizeOperator(address operator, uint256 tokenId) public;
  ^-------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:14:3: Warning: Functions in interfaces should be declared external.
  function revokeOperator(address operator, uint256 tokenId) public;
  ^----------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:17:3: Warning: Functions in interfaces should be declared external.
  function isOperatorForOne(address operator, uint256 tokenId) public view returns (bool);
  ^--------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:18:3: Warning: Functions in interfaces should be declared external.
  function operatorSendOne(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:26:3: Warning: Functions in interfaces should be declared external.
  function operatorSend(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:34:3: Warning: Functions in interfaces should be declared external.
  function split(uint tokenId, address to, uint256 amount) public;
  ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:35:3: Warning: Functions in interfaces should be declared external.
  function getCommodityCategoryByIndex(uint256 index) public view returns (uint256);
  ^--------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipantRegistry.sol:4:5: Warning: Functions in interfaces should be declared external.
    function isAllowed(address _ifaceImpAddr, string ifaceLabel) public view returns (bool);
    ^--------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipantRegistry.sol:5:5: Warning: Functions in interfaces should be declared external.
    function toggleParticipantType(string _participantType, address _impAddress, bool _toggle) public;
    ^------------------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/IMintableCommodity.sol:4:3: Warning: Functions in interfaces should be declared external.
  function mint(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/IVerifiableCommodity.sol:4:3: Warning: Functions in interfaces should be declared external.
  function verify(uint256 commodityId, bytes verifierData, uint64 category) public;
  ^-------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipant.sol:4:5: Warning: Functions in interfaces should be declared external.
    function setParticipantRegistry (address participantRegistry) public;
    ^-------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipant.sol:5:5: Warning: Functions in interfaces should be declared external.
    function getParticipantRegistry() public view returns(address);
    ^-------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:4:5: Warning: Functions in interfaces should be declared external.
    function isAllowed(address _ifaceImpAddr, string ifaceLabel) public returns (bool);
    ^---------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:5:5: Warning: Functions in interfaces should be declared external.
    function forward(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:11:5: Warning: Functions in interfaces should be declared external.
    function toggleSupplier(address _supplier, bool _toggle) public;
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:12:5: Warning: Functions in interfaces should be declared external.
    function toggleParticipantType(bool _toggle) public;
    ^--------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:13:5: Warning: Functions in interfaces should be declared external.
    function toggleInterface(string _ifaceLabel, address _ifaceImpAddr, bool _toggle) public;
    ^---------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:12:5: Warning: Functions in interfaces should be declared external.
    function name() public view returns (string);
    ^-------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:13:5: Warning: Functions in interfaces should be declared external.
    function symbol() public view returns (string);
    ^---------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:14:5: Warning: Functions in interfaces should be declared external.
    function decimals() public view returns (uint8);
    ^----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:15:5: Warning: Functions in interfaces should be declared external.
    function totalSupply() public view returns (uint256);
    ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:16:5: Warning: Functions in interfaces should be declared external.
    function balanceOf(address owner) public view returns (uint256);
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:17:5: Warning: Functions in interfaces should be declared external.
    function transfer(address to, uint256 amount) public returns (bool);
    ^------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:18:5: Warning: Functions in interfaces should be declared external.
    function transferFrom(address from, address to, uint256 amount) public returns (bool);
    ^------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:19:5: Warning: Functions in interfaces should be declared external.
    function approve(address spender, uint256 amount) public returns (bool);
    ^----------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:20:5: Warning: Functions in interfaces should be declared external.
    function allowance(address owner, address spender) public view returns (uint256);
    ^-------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:12:5: Warning: Functions in interfaces should be declared external.
    function name() public view returns (string);
    ^-------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:13:5: Warning: Functions in interfaces should be declared external.
    function symbol() public view returns (string);
    ^---------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:14:5: Warning: Functions in interfaces should be declared external.
    function totalSupply() public view returns (uint256);
    ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:15:5: Warning: Functions in interfaces should be declared external.
    function balanceOf(address owner) public view returns (uint256);
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:16:5: Warning: Functions in interfaces should be declared external.
    function granularity() public view returns (uint256);
    ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:18:5: Warning: Functions in interfaces should be declared external.
    function defaultOperators() public view returns (address[]);
    ^----------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:19:5: Warning: Functions in interfaces should be declared external.
    function isOperatorFor(address operator, address tokenHolder) public view returns (bool);
    ^---------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:20:5: Warning: Functions in interfaces should be declared external.
    function authorizeOperator(address operator) public;
    ^--------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:21:5: Warning: Functions in interfaces should be declared external.
    function revokeOperator(address operator) public;
    ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:23:5: Warning: Functions in interfaces should be declared external.
    function send(address to, uint256 amount, bytes data) public;
    ^-----------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:24:5: Warning: Functions in interfaces should be declared external.
    function operatorSend(address from, address to, uint256 amount, bytes data, bytes operatorData) public;
    ^-----------------------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:25:5: Warning: Functions in interfaces should be declared external.
    function transferFromAndCall(address _from, address _to, uint256 _amount, bytes _data, bytes _operatorData)
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:28:5: Warning: Functions in interfaces should be declared external.
    function burn(uint256 amount, bytes data) public;
    ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:29:5: Warning: Functions in interfaces should be declared external.
    function operatorBurn(address from, uint256 amount, bytes data, bytes operatorData) public;
    ^-----------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777TokensSender.sol:12:5: Warning: Functions in interfaces should be declared external.
    function tokensToSend(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777TokensRecipient.sol:13:5: Warning: Functions in interfaces should be declared external.
    function tokensReceived(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777TokensOperator.sol:4:3: Warning: Functions in interfaces should be declared external.
  function madeOperatorForTokens(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ERC820Registry_all.sol:10:5: Warning: Functions in interfaces should be declared external.
    function canImplementInterfaceForAddress(address addr, bytes32 interfaceHash) public view returns(bytes32);
    ^---------------------------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/ERC820Registry.sol:8:5: Warning: Functions in interfaces should be declared external.
    function canImplementInterfaceForAddress(address addr, bytes32 interfaceHash) public view returns(bytes32);
    ^---------------------------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:4:5: Warning: Functions in interfaces should be declared external.
    function isAllowed(address _ifaceImpAddr, string ifaceLabel) public returns (bool);
    ^---------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:5:5: Warning: Functions in interfaces should be declared external.
    function forward(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:11:5: Warning: Functions in interfaces should be declared external.
    function toggleVerifier(address _verifier, bool _toggle) public;
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:12:5: Warning: Functions in interfaces should be declared external.
    function toggleInterface(string _ifaceLabel, address _ifaceImpAddr, bool _toggle) public;
    ^---------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:13:5: Warning: Functions in interfaces should be declared external.
    function toggleParticipantType(bool _toggle) public;
    ^--------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/wallet/IRiskMitigationAccount.sol:5:3: Warning: Functions in interfaces should be declared external.
  function getRestrictedBalance(address _addressToCheck) public view returns(uint256);
  ^----------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/wallet/IRiskMitigationAccount.sol:6:3: Warning: Functions in interfaces should be declared external.
  function toggleTokenReceipt(bool _toggle) public;
  ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ExampleImplementer_all.sol:22:46: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function canImplementInterfaceForAddress(address addr, bytes32 interfaceHash) public view returns(bytes32) {
                                             ^----------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ExampleImplementer_all.sol:22:60: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function canImplementInterfaceForAddress(address addr, bytes32 interfaceHash) public view returns(bytes32) {
                                                           ^-------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/TestEip165_all.sol:10:5: Warning: No visibility specified. Defaulting to "public". 
    function() {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/TestEip165_all.sol:47:29: Warning: "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
        supportedInterfaces[this.supportsInterface.selector] = true;
                            ^--^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/TestEip165_all.sol:62:29: Warning: "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
        supportedInterfaces[this.is2D.selector ^ this.skinColor.selector] = true;
                            ^--^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/TestEip165_all.sol:62:50: Warning: "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
        supportedInterfaces[this.is2D.selector ^ this.skinColor.selector] = true;
                                                 ^--^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/token/PausableToken.sol:14:3: Warning: No visibility specified. Defaulting to "public". 
  constructor(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ERC820Registry_all.sol:100:13: Warning: Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
            updateERC165Cache(_contract, _interfaceId);
            ^----------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/ERC820Registry.sol:98:13: Warning: Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
            updateERC165Cache(_contract, _interfaceId);
            ^----------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ParticipantV0_3_0.sol:52:3: Warning: Function state mutability can be restricted to view
  function _isAllowed(address _ifaceImpAddr, string ifaceLabel) internal returns (bool) {
  ^ (Relevant source part starts here and spans across multiple lines).

Writing artifacts to ./build/contracts

Using network 'test'.

Compiling ./contracts/commodity/BasicCommodity.sol...
Compiling ./contracts/commodity/CommodityLib.sol...
Compiling ./contracts/commodity/ICommodity.sol...
Compiling ./contracts/commodity/ICommodityOperator.sol...
Compiling ./contracts/commodity/ICommodityRecipient.sol...
Compiling ./contracts/commodity/ICommoditySender.sol...
Compiling ./contracts/commodity/IMintableCommodity.sol...
Compiling ./contracts/commodity/IVerifiableCommodity.sol...
Compiling ./contracts/commodity/MintableCommodity.sol...
Compiling ./contracts/commodity/SplittableCommodity.sol...
Compiling ./contracts/commodity/VerifiableCommodity.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC20Token.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777BaseToken.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777ERC20BaseToken.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777Token.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777TokensOperator.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777TokensRecipient.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/ERC777TokensSender.sol...
Compiling ./contracts/contrib/EIP/eip777/contracts/Migrations.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ERC820ImplementerInterface_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ERC820Implementer_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ERC820Registry_all.sol...
Compiling ./contracts/contrib/EIP/eip820/build/ExampleImplementer2_all.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ERC820Implementer.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ERC820ImplementerInterface.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ExampleImplementer.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/ExampleImplementer2.sol...
Compiling ./contracts/contrib/EIP/eip820/contracts/TestEip165.sol...
Compiling ./contracts/crc/CRCV0_3_0.sol...
Compiling ./contracts/lifecycle/Pausable.sol...
Compiling ./contracts/market/FifoCrcMarketV0_2_0.sol...
Compiling ./contracts/market/FifoTokenizedCommodityMarket.sol...
Compiling ./contracts/market/Market.sol...
Compiling ./contracts/market/MarketLib.sol...
Compiling ./contracts/market/StandardTokenizedCommodityMarket.sol...
Compiling ./contracts/participant/IParticipant.sol...
Compiling ./contracts/participant/IParticipantRegistry.sol...
Compiling ./contracts/participant/ISupplier.sol...
Compiling ./contracts/participant/IVerifier.sol...
Compiling ./contracts/participant/MultiAdmin.sol...
Compiling ./contracts/participant/ParticipantRegistryV0_2_0.sol...
Compiling ./contracts/participant/ParticipantV0_3_0.sol...
Compiling ./contracts/participant/SupplierV0_3_0.sol...
Compiling ./contracts/participant/VerifierV0_3_0.sol...
Compiling ./contracts/registry/ContractRegistryBase.sol...
Compiling ./contracts/registry/ContractRegistryV0_3_0.sol...
Compiling ./contracts/registry/IContractRegistry.sol...
Compiling ./contracts/registry/RootRegistryV0_2_0.sol...
Compiling ./contracts/token/NoriV0_2_0.sol...
Compiling ./contracts/token/PausableToken.sol...
Compiling ./contracts/token/UpgradeableToken.sol...
Compiling ./contracts/upgradeable/unstructured/test/UnstructuredUpgradeableTokenV0_1_0.sol...
Compiling ./contracts/upgradeable/unstructured/test/UnstructuredUpgradeableTokenV0_2_0.sol...
Compiling ./contracts/upgradeable/unstructured/test/UnstructuredUpgradeableTokenV0_3_0.sol...
Compiling ./contracts/wallet/IRiskMitigationAccount.sol...
Compiling ./contracts/wallet/MultiSigWallet.sol...
Compiling ./contracts/wallet/RiskMitigationAccountV0_1_0.sol...
Compiling eip820/contracts/ERC820Implementer.sol...
Compiling openzeppelin-solidity/contracts//math/SafeMath.sol...
Compiling openzeppelin-solidity/contracts/math/SafeMath.sol...
Compiling openzeppelin-solidity/contracts/ownership/Ownable.sol...

Compilation warnings encountered:

/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/Migrations.sol:19:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function Migrations() public {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ExampleImplementer2_all.sol:37:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function ExampleImplementer2() public {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/ExampleImplementer2.sol:7:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function ExampleImplementer2() public {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/TestEip165.sol:44:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function ERC165MappingImplementation() internal {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/TestEip165.sol:59:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
    function Lisa() public {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/registry/ContractRegistryBase.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2; //solium-disable-line
^-------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodityRecipient.sol:4:3: Warning: Functions in interfaces should be declared external.
  function commodityReceived(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodityOperator.sol:4:3: Warning: Functions in interfaces should be declared external.
  function madeOperatorForCommodity(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodityOperator.sol:14:3: Warning: Functions in interfaces should be declared external.
  function revokedOperatorForCommodity(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommoditySender.sol:4:3: Warning: Functions in interfaces should be declared external.
  function commodityToSend(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:4:3: Warning: Functions in interfaces should be declared external.
  function balanceOf(address owner) public view returns (uint256);
  ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:5:3: Warning: Functions in interfaces should be declared external.
  function bundleBalanceOf(address owner) public view returns (uint256);
  ^--------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:6:3: Warning: Functions in interfaces should be declared external.
  function ownerOf(uint256 tokenId) public view returns (address owner);
  ^--------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:8:3: Warning: Functions in interfaces should be declared external.
  function send(address to, uint256 amount) public;
  ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:9:3: Warning: Functions in interfaces should be declared external.
  function send(address to, uint256 amount, bytes userData) public;
  ^---------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:10:3: Warning: Functions in interfaces should be declared external.
  function approve(address to, uint256 tokenId) public;
  ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:13:3: Warning: Functions in interfaces should be declared external.
  function authorizeOperator(address operator, uint256 tokenId) public;
  ^-------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:14:3: Warning: Functions in interfaces should be declared external.
  function revokeOperator(address operator, uint256 tokenId) public;
  ^----------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:17:3: Warning: Functions in interfaces should be declared external.
  function isOperatorForOne(address operator, uint256 tokenId) public view returns (bool);
  ^--------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:18:3: Warning: Functions in interfaces should be declared external.
  function operatorSendOne(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:26:3: Warning: Functions in interfaces should be declared external.
  function operatorSend(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:34:3: Warning: Functions in interfaces should be declared external.
  function split(uint tokenId, address to, uint256 amount) public;
  ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/ICommodity.sol:35:3: Warning: Functions in interfaces should be declared external.
  function getCommodityCategoryByIndex(uint256 index) public view returns (uint256);
  ^--------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipantRegistry.sol:4:5: Warning: Functions in interfaces should be declared external.
    function isAllowed(address _ifaceImpAddr, string ifaceLabel) public view returns (bool);
    ^--------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipantRegistry.sol:5:5: Warning: Functions in interfaces should be declared external.
    function toggleParticipantType(string _participantType, address _impAddress, bool _toggle) public;
    ^------------------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/IMintableCommodity.sol:4:3: Warning: Functions in interfaces should be declared external.
  function mint(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/commodity/IVerifiableCommodity.sol:4:3: Warning: Functions in interfaces should be declared external.
  function verify(uint256 commodityId, bytes verifierData, uint64 category) public;
  ^-------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipant.sol:4:5: Warning: Functions in interfaces should be declared external.
    function setParticipantRegistry (address participantRegistry) public;
    ^-------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IParticipant.sol:5:5: Warning: Functions in interfaces should be declared external.
    function getParticipantRegistry() public view returns(address);
    ^-------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:4:5: Warning: Functions in interfaces should be declared external.
    function isAllowed(address _ifaceImpAddr, string ifaceLabel) public returns (bool);
    ^---------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:5:5: Warning: Functions in interfaces should be declared external.
    function forward(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:11:5: Warning: Functions in interfaces should be declared external.
    function toggleSupplier(address _supplier, bool _toggle) public;
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:12:5: Warning: Functions in interfaces should be declared external.
    function toggleParticipantType(bool _toggle) public;
    ^--------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ISupplier.sol:13:5: Warning: Functions in interfaces should be declared external.
    function toggleInterface(string _ifaceLabel, address _ifaceImpAddr, bool _toggle) public;
    ^---------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:12:5: Warning: Functions in interfaces should be declared external.
    function name() public view returns (string);
    ^-------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:13:5: Warning: Functions in interfaces should be declared external.
    function symbol() public view returns (string);
    ^---------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:14:5: Warning: Functions in interfaces should be declared external.
    function decimals() public view returns (uint8);
    ^----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:15:5: Warning: Functions in interfaces should be declared external.
    function totalSupply() public view returns (uint256);
    ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:16:5: Warning: Functions in interfaces should be declared external.
    function balanceOf(address owner) public view returns (uint256);
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:17:5: Warning: Functions in interfaces should be declared external.
    function transfer(address to, uint256 amount) public returns (bool);
    ^------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:18:5: Warning: Functions in interfaces should be declared external.
    function transferFrom(address from, address to, uint256 amount) public returns (bool);
    ^------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:19:5: Warning: Functions in interfaces should be declared external.
    function approve(address spender, uint256 amount) public returns (bool);
    ^----------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC20Token.sol:20:5: Warning: Functions in interfaces should be declared external.
    function allowance(address owner, address spender) public view returns (uint256);
    ^-------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:12:5: Warning: Functions in interfaces should be declared external.
    function name() public view returns (string);
    ^-------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:13:5: Warning: Functions in interfaces should be declared external.
    function symbol() public view returns (string);
    ^---------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:14:5: Warning: Functions in interfaces should be declared external.
    function totalSupply() public view returns (uint256);
    ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:15:5: Warning: Functions in interfaces should be declared external.
    function balanceOf(address owner) public view returns (uint256);
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:16:5: Warning: Functions in interfaces should be declared external.
    function granularity() public view returns (uint256);
    ^---------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:18:5: Warning: Functions in interfaces should be declared external.
    function defaultOperators() public view returns (address[]);
    ^----------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:19:5: Warning: Functions in interfaces should be declared external.
    function isOperatorFor(address operator, address tokenHolder) public view returns (bool);
    ^---------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:20:5: Warning: Functions in interfaces should be declared external.
    function authorizeOperator(address operator) public;
    ^--------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:21:5: Warning: Functions in interfaces should be declared external.
    function revokeOperator(address operator) public;
    ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:23:5: Warning: Functions in interfaces should be declared external.
    function send(address to, uint256 amount, bytes data) public;
    ^-----------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:24:5: Warning: Functions in interfaces should be declared external.
    function operatorSend(address from, address to, uint256 amount, bytes data, bytes operatorData) public;
    ^-----------------------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:25:5: Warning: Functions in interfaces should be declared external.
    function transferFromAndCall(address _from, address _to, uint256 _amount, bytes _data, bytes _operatorData)
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:28:5: Warning: Functions in interfaces should be declared external.
    function burn(uint256 amount, bytes data) public;
    ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777Token.sol:29:5: Warning: Functions in interfaces should be declared external.
    function operatorBurn(address from, uint256 amount, bytes data, bytes operatorData) public;
    ^-----------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777TokensSender.sol:12:5: Warning: Functions in interfaces should be declared external.
    function tokensToSend(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777TokensRecipient.sol:13:5: Warning: Functions in interfaces should be declared external.
    function tokensReceived(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip777/contracts/ERC777TokensOperator.sol:4:3: Warning: Functions in interfaces should be declared external.
  function madeOperatorForTokens(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ERC820Registry_all.sol:10:5: Warning: Functions in interfaces should be declared external.
    function canImplementInterfaceForAddress(address addr, bytes32 interfaceHash) public view returns(bytes32);
    ^---------------------------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:4:5: Warning: Functions in interfaces should be declared external.
    function isAllowed(address _ifaceImpAddr, string ifaceLabel) public returns (bool);
    ^---------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:5:5: Warning: Functions in interfaces should be declared external.
    function forward(
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:11:5: Warning: Functions in interfaces should be declared external.
    function toggleVerifier(address _verifier, bool _toggle) public;
    ^--------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:12:5: Warning: Functions in interfaces should be declared external.
    function toggleInterface(string _ifaceLabel, address _ifaceImpAddr, bool _toggle) public;
    ^---------------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/IVerifier.sol:13:5: Warning: Functions in interfaces should be declared external.
    function toggleParticipantType(bool _toggle) public;
    ^--------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/wallet/IRiskMitigationAccount.sol:5:3: Warning: Functions in interfaces should be declared external.
  function getRestrictedBalance(address _addressToCheck) public view returns(uint256);
  ^----------------------------------------------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/wallet/IRiskMitigationAccount.sol:6:3: Warning: Functions in interfaces should be declared external.
  function toggleTokenReceipt(bool _toggle) public;
  ^-----------------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/ExampleImplementer.sol:7:46: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function canImplementInterfaceForAddress(address addr, bytes32 interfaceHash) public view returns(bytes32) {
                                             ^----------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/ExampleImplementer.sol:7:60: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function canImplementInterfaceForAddress(address addr, bytes32 interfaceHash) public view returns(bytes32) {
                                                           ^-------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/TestEip165.sol:8:5: Warning: No visibility specified. Defaulting to "public". 
    function() {
    ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/TestEip165.sol:45:29: Warning: "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
        supportedInterfaces[this.supportsInterface.selector] = true;
                            ^--^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/TestEip165.sol:60:29: Warning: "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
        supportedInterfaces[this.is2D.selector ^ this.skinColor.selector] = true;
                            ^--^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/contracts/TestEip165.sol:60:50: Warning: "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
        supportedInterfaces[this.is2D.selector ^ this.skinColor.selector] = true;
                                                 ^--^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/token/PausableToken.sol:14:3: Warning: No visibility specified. Defaulting to "public". 
  constructor(
  ^ (Relevant source part starts here and spans across multiple lines).
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/contrib/EIP/eip820/build/ERC820Registry_all.sol:100:13: Warning: Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
            updateERC165Cache(_contract, _interfaceId);
            ^----------------------------------------^
,/home/ubuntu/dev/nori/@noridoteco/contracts/contracts/participant/ParticipantV0_3_0.sol:52:3: Warning: Function state mutability can be restricted to view
  function _isAllowed(address _ifaceImpAddr, string ifaceLabel) internal returns (bool) {
  ^ (Relevant source part starts here and spans across multiple lines).



  Setup test environment


==========

 Migration Info:

----------

 RootRegistry Info: 

 ~ Implementation: 0xf12b5dd4ead5f743c6baa640b0216200e89b60da 

   Registered Contracts:

   ->    MultiAdmin: 0xf25186b5081ff5ce73482ad761db0eb0d25abfbf
   ->    MultiSigWallet: 0x345ca3e014aaf5dca488057592ee47305d9b3e10
   ->    ContractRegistryV0_3_0 (proxy): 0xeec918d74c746167564401103096d45bbd494b74

----------

 ContractRegistry Info:

 ~ Implementation: 0x82d50ad3c1091866e258fd0f1a7cc9674609d254 

 ~ Proxy: 0xeec918d74c746167564401103096d45bbd494b74 

   Registered Contracts:

   ->    Nori                 |  Upgraded: true  |  Version: 0_2_0  |  Proxy: 0x13274fe19c0178208bcbee397af8167a7be27f6f  |  Implementation: 0x4e72770760c011647d4873f60a3cf6cdea896cd8
   ->    ParticipantRegistry  |  Upgraded: true  |  Version: 0_2_0  |  Proxy: 0x2eca6fcfef74e2c8d03fbaf0ff6712314c9bd58b  |  Implementation: 0x2a504b5e7ec284aca5b6f49716611237239f0b97
   ->    CRC                  |  Upgraded: true  |  Version: 0_3_0  |  Proxy: 0xd54b47f8e6a1b97f3a84f63c867286272b273b7c  |  Implementation: 0xb9b7e0cb2edf5ea031c8b297a5a1fa20379b6a0a
   ->    Participant          |  Upgraded: true  |  Version: 0_3_0  |  Proxy: 0x98d9f9e8debd4a632682ba207670d2a5acd3c489  |  Implementation: 0xf08df3efdd854fede77ed3b2e515090eee765154
   ->    Supplier             |  Upgraded: true  |  Version: 0_3_0  |  Proxy: 0x8065f4c7b8c2bf53561af92d9da2ea022a0b28ca  |  Implementation: 0x855d1c79ad3fb086d516554dc7187e3fdfc1c79a
   ->    Verifier             |  Upgraded: true  |  Version: 0_3_0  |  Proxy: 0x8cd918cee8f93989e334bc0107bb33a9586d05c0  |  Implementation: 0x23e84570f7b28ad0d5e5545d398009194a8734f3
   ->    RiskMitigationAccount|  Upgraded: true  |  Version: 0_1_0  |  Proxy: 0xe134eee40a4a313a413e9b1da94bb5d01b79f433  |  Implementation: 0xd95b1dbec167c6cf547d018ddecf41a4cb2e2f73
   ->    FifoCrcMarket        |  Upgraded: true  |  Version: 0_2_0  |  Proxy: 0x27032850077abef46fc9c2b39b96885b40abc3ec  |  Implementation: 0xa509542ada3196a38bd6fd03b253547ee09220c4

==========


      Tests have been set up with:
      admin0: 0x627306090abab3a6e1400e9345bc60c78a8bef57
      admin1: 0xf17f52151ebef6c7334fad080c5704d77216b732
      supplier0: 0xc5fdf4076b8f3a5357c5e395ab970b5b54098fef
      supplier1: 0x821aea9a577a9b44299b9c15c88cf3087f3b5544
      buyer0: 0x0d1d4e623d10f9fba5db95830f7d3839406c6af2
      buyer1: 0x2932b7a2355d6fecc4b5c0b6bd44cc31df247a2e
      verifier0: 0x2191ef87e392377ec08e7c08eb105ef5448eced5
      verifier1: 0x0f4f2ac550a1b4e2280d04c21cea7ebd822934b5
      auditor: 0x6330a553fc93768f612722bb8c2ec78ac90b3bbc
      unregistered0: 0x5aeda56215b167893e80b4fe645ba6d5bab767de

    Execute tests
      Contract: MultiSigWallet
        EIP820 compatibility
          toggleTokenReceiver
            โœ“ should disable ERC777TokensRecipient interface
            โœ“ should enable ERC777TokensRecipient interface after disabling (68ms)
          tokensReceived
            โœ“ should disable ERC777TokensRecipient interface then fail receiving tokens (60ms)
        MultiSigWallet standard functions
          addOwner
            โœ“ should add a new owner (86ms)
            โœ“ should not allow adding duplicate owner (40ms)
          removeOwner
            โœ“ should remove an existing owner (80ms)
          replaceOwner
            โœ“ should replace an existing owner (104ms)
            โœ“ should not be possible to replace owner with an already existing owner (38ms)
        Transfer tokens from wallet to user account by satisfying minimum number of mutual confirmations amongst multisig owners
          โœ“ should transfer tokens after checking payload size (124ms)
        Disallow token transfers when receiving multiple confirmations from a single multisig owner
          โœ“ should fail transferring tokens (69ms)
        Test transactions after changing the number of mutual confirmations from multisig owners
          โœ“ change multisig transaction requirements and invoke a newly valid transaction (205ms)
        Test assembly encodings done by multisig wallet in order to invoke contract functions
          โœ“ callReceive1uint (121ms)
          โœ“ callReceive2uint (93ms)
          โœ“ callReceive1bytes (193ms)


  14 passing (10s)


You can recreate using the repo here

Environment

  • Operating System: Ubuntu
  • Ethereum client: truffle/ganache/testrpc
  • Truffle version (truffle version): 4.1.14
  • node version (node --version): 9.1.0
  • npm version (npm --version): 5.5.1
Compiler stale

Most helpful comment

@jaycenhorton @iciakky You should consider upgrading to version 5 of Truffle that was released last month. It should only compile when it needs to.
https://github.com/trufflesuite/truffle/releases/tag/v5.0.1

All 5 comments

having the same issue with my own project, even with truffle-config.js

module.exports = {
    all: false,
    compileAll: false
}

I try this config because this line

Truffle v4.1.14 (core: 4.1.14)
Solidity v0.4.24 (solc-js)

Thank you for raising this issue! It has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. If you would like to keep this issue open, please respond with information about the current state of this problem.

@jaycenhorton @iciakky You should consider upgrading to version 5 of Truffle that was released last month. It should only compile when it needs to.
https://github.com/trufflesuite/truffle/releases/tag/v5.0.1

Thanks for the info! I will report back when I am able to try. Assuming truffle v5 still requires web3@1 it'll be a bit before I am able to migrate

Super, I am going to close this issue for now. Please re-open it if you still find a problem!

Was this page helpful?
0 / 5 - 0 ratings