Giter Club home page Giter Club logo

discovery-cli's Introduction

discovery-cli

Command Line Interface (CLI) for the Discovery Enigma Protocol developer testnet.

Requirements

  • Docker
  • Docker Compose version 1.23.2 or higher. Please be aware that docker-compose introduced a bug in 1.23.0 (also present in 1.23.1) that appended random strings to container names that causes this network configuration to break.
  • Git
  • Node.js (version 10 or higher): node and npm
  • Rust: rustup, rustc and cargo

Installation

discovery-cli should be installed as a global package:

npm install -g @enigmampc/discovery-cli

For detailed instructions on how to install all the required dependencies, see the Installation instructions

Usage

$ discovery <command>

Commands:
  discovery init     Initialize Enigma Discovery development environment
  discovery compile  Compile Secret Contracts and Smart Contracts
  discovery migrate  Migrate Secret Contracts and Smart Contracts
  discovery pull     Pull the latest images for the containers in the network
  discovery start    Launch the Discovery Docker network
  discovery stop     Stop the network by stopping and removing all containers
  discovery test     Test Secret Contracts and Smart Contracts

Options:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]

Advanced Usage

By default discovery-cli will run a docker network with one worker. As of version 0.1.0, if you want to have more than 1 worker node in the network, you can specify the environment variable NODES to specify any number of nodes between 1 and 9. For example, to have 3 worker nodes, we would run:

NODES=3 discovery start

NOTE: In order for the network to operate robustly with more than one node, you have to edit your .env file and change the following line (until we merge the changes in develop to stable in the docker images, at which point we will remove this notice)

DOCKER_TAG=develop

As of version 0.1.6, the initialization of discovery init can be automated to bypass user input on the terminal, by adding the following optional parameters:

discovery init -y --mode=hw|sw

where --mode takes either hw for hardware mode or sw for software mode.

Uninstall

npm remove -g @enigmampc/discovery-cli

How it works

This repo provides an intuitive and user-friendly interface for dApp developers of secret contracts. It uses an analogous workflow and functionality to Truffle Suite. In fact, it builds on truffle packages and adapts the existing workflow to incorporate the functionality needed to compile, migrate and test secret contracts when having a running instance of the Enigma network.

For a detailed walkthrough guide on how to use this repo following a step-by-step example, refer to Getting Started with Enigma: An Intro to Secret Contracts.

What follows is more geared to advanced users that want to understand what happens under the hood:

  • discovery init calls init() to initialize the folder structure and download the required files for any given project. Specifically:

    • Checks that the following list of dependecies exist in the system.
    • Creates the following directory structure:
    {your_project_folder}
     |
     ├-- build
     |    ├-- enigma_contracts
     |    └-- secret_contracts
     ├-- client
     ├-- migrations
     ├-- smart_contracts
     ├-- secret_contracts
     |    └-- sample_contract
     └-- test
    
    • Downloads the required files populating the above folder structure
    • Asks the user whether to run in SGX Hardware or Software mode, and configures it accordingly
    • Pulls the required docker images from enigmampc Docker Hub
  • discovery start launches a dockerized version of the Discovery release of the Enigma network. This is the analogous command to truffle develop or ganache-cli. It is a more streamlined version of the discovery-docker-network configured through either one of the following docker-compose.yml files: hardware version, software version. It exposes these two ports to the host: 9545 (Ganache/Truffle) and 3333 (Peer-to-Peer/Nginx proxy: the client entry point to the P2P network). Make sure that these two ports are free and available on the host. Having this command running is a prerequisite to running discovery compile, discovery migrate and discovery test.

  • discovery stopis the countercommand to discovery start to properly shut down the network. It is automatically called before starting the network to ensure that it starts from a blank state every time.

  • discovery pull pulls the latest docker images for the network. It's a shortcut for docker-compose pull

  • discovery compile calls deps/compile which in turn calls first truffle compile and then executes Rust cargo to compile all secret contract to their WebAssembly format. Puts both sets of contracts under their respective subfolders under the build folder.

  • discovery migrate runs the migrations in the migrations folder. Specifically, the 2_deploy_contracts.js file is a customized migration Javascript file that migrates both the Smart Contracts and Secret Contracts, following the Truffle specs.

  • discovery test run the tests in the test folder. Similarly as above, test_simple_addition.js is a customized Javascript test file that tests the sample simple_addition contract provided in this repo, following the Truffle specs.

discovery-cli's People

Contributors

assafmo avatar dontcallmelarry avatar fredfortier avatar lacabra avatar lenak25 avatar levackt avatar moriaab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

discovery-cli's Issues

Implement `discovery update`

Provide a way to run something like discovery update that can update the configuration of an existing project. Right now the only way to set things up is with discovery init and there are commands in there that can only be run once. When new functionality is introduced in this repo that requires new configuration, there is no easy way for the user to update their files other than starting anew with a new project.

Add option to automate discovery init

Add additional command line arguments to discovery init so that it does not require user input, and can be run in automated scripts (for integration in CI in this very same repo, and other repos).

Proposal:

  • optional -f parameter answers Yes to first and last question.
  • optional --mode=sw or --mode=hw provides an answer to the second question. If --mode is present, should validate sw|hw before executing any code to prevent leaving the folder in an "unknown" state.

discovery init followed by start error

windows platform

here is the output

D:\Enigma\millionaires_problem_demo>discovery init
.:.
______ _ .::::-:/:.
/ / ()___ _____ ___ ____ _ .:::- .:/:.
/ / / __ / / __ / __ / __ `/ .:::- .- .//:
/ // / / / / // / / / / / / // / .:::- : .//:
/
// ///_, // // //_,/ /o: -::/- -/s
/
___/ -/ ://. -:::. -//. -:::.-/
____ __ __ + :/+/:. :o/::. +
/ __ _
____ / /_____ _________ / / /- /-:/:. -:::/. /-
/ // / / __ / __/ __ / / __ / / .+ .+ .:/:-:::. ./ .+
/ _/ / / // / // // / /
/ /
/ / / +. +. +. /. +.
/
/ /
/ _
/_/_/_/_// -: -/ -/ -: -/
+ - :/: + .:::-. +
____ _ /-. .- .//- /-.:::- -.. /-
/ __ (
)_____________ _ _____ _______ __ o.- -/o:- ::/
/ / / / / / / __ \ | / / _ / / / / / ://. +. -:::-
/ /
/ / ( ) /
/ /
/ / |/ / __/ / / /
/ / ://. -/ -:::.
/
//___/_/_/|/__// _, / .:/:. + -:::.
/____/ .:/://:::.
.:.

? Set up the Discovery Enigma Protocol development environment in the current folder? (Y/n) y
Checking if "docker" is installed in the system... FOUND
Checking if "docker-compose" is installed in the system... FOUND
Checking if "rustc" is installed in the system... FOUND
Checking if "cargo" is installed in the system... FOUND
Checking if "rustup" is installed in the system... FOUND
Checking if "npm" is installed in the system... FOUND
Checking if "git" is installed in the system... FOUND
Checking if Rust "nightly-2019-08-01" is installed in the system... FOUND
Checking for Rust wasm32-unknown-unknown...
info: component 'rust-std' for target 'wasm32-unknown-unknown' is up to date
Downloading files...
Installing package dependendecies...
{ Error: spawn npm ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:247:19)
at onErrorNT (internal/child_process.js:429:16)
at processTicksAndRejections (internal/process/task_queues.js:81:17)
errno: 'ENOENT',
code: 'ENOENT',
syscall: 'spawn npm',
path: 'npm',
spawnargs: [ 'install' ] }
? Running in SGX Hardware (HW) or Software (SW) mode? (HW/sw) sw
(node:1000) UnhandledPromiseRejectionWarning: Error: EPERM: operation not permitted, symlink 'docker-compose.cli-sw.yml' -> 'docker-compose.yml'
at Object.symlinkSync (fs.js:925:3)
at inquirer.prompt.then.answer (d:\nvm\nvm\v11.15.0\node_modules@enigmampc\discovery-cli\src\index.js:166:10)
at processTicksAndRejections (internal/process/task_queues.js:86:5)
(node:1000) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1000) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

D:\Enigma\millionaires_problem_demo>discovery start
Cannot find the expected directory structure.

nginx.conf is a directory not a regular file

In version 0.1.0, the discovery init script creates config/nginx.conf as a folder instead of a regular file, and the network fails to start because nginx complains:

ERROR: for enigma_nginx_1  Cannot start service nginx: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:58: mounting \\\"(...)/enigma/multi-nodes/config/nginx.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/25f54ded6d2c5b470572fb44b37c459ea2521ad2fb6e01d834796b57f60d1bd5/merged\\\" at \\\"/var/lib/docker/overlay2/25f54ded6d2c5b470572fb44b37c459ea2521ad2fb6e01d834796b57f60d1bd5/merged/etc/nginx/nginx.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

discovery network not working and Integration tests failing with 'develop' docker tag

Hi @lacabra, I added this issue to the salad repo (mistakenly): scrtlabs/salad#50

and just closed it with a resolution of changing the .env to use the "latest" docker images instead of "develop."

I'm not sure if this is an issue with using the "develop" docker images at this point, or some other element in my or the OP's configuration/environment. From the dev forum: https://forum.enigma.co/t/salad-some-integration-tests-fail/1243/6.

I wanted to keep you in the loop in case it is an issue with the latest version of discovery-cli (0.1.8) using the "develop" docker images.

The README says to change the docker tag to "develop," when using multiple worker nodes. I also tried running with NODES=3 discovery start but got the same error(s).

NOTE:

  • I did an uninstall of discovery-cli with npm uninstall -g @enigmampc/discovery-cli
  • removed all discovery docker images (including orphaned and dangling)
  • Fresh install with npm install -g @enigmampc/discovery-cli
  • discovery init using 'SW'
    -discovery start
  • integration tests PASSED
  • discovery stop
  • cleaned out build directory
  • changed .env to "develop"
  • discovery start
  • integration tests FAILED (6 of them)

Check version of docker-compose, and reject incompatible versions 1.23.0, 1.23.1

A distracted installation of a previous version of docker-compose that is known to be incompatible with our setup caused one hackathon participant to not to be able to set his dev environment properly, preventing from developing on our network. He pulled an old blog where that incompatible version was hardcoded in the instructions.

If discovery init would have flagged that for him (which is doable), it would have saved him a lot of time and frustration.

Add option to choose which test file to run from the command line.

https://github.com/enigmampc/discovery-cli/blob/e3e9a438738d50a1fc4e987f2508f2b9b08a5a66/src/contracts.js#L46

In this function, we should read the command line arguments after test and treat each as a file path. These paths should be normalized and then compared to the files listed in config.test_files. If a file listed on the command line does not exist in the filesystem, then an error should be issued. If there are files listed on the command line, and they all refer to existing paths under the tests directory(this is important for security reasons to prevent arbitrary code execution), then those files should replace the list under config.test_files.

As the title suggests, this will allow limiting the set of tests that run under discovery test from the command line.

EDIT:
I tried looking at the relevant code in truffle (1, 2) but it doesn't seem like it actually reads the environment variables either, even though the documentation says it should. Since our test command just calls the same function in truffle as truffle's test command (1, 2, 3), I'm somewhat confused.

discovery start error

when I ran discovery srat it shows

(node:26032) UnhandledPromiseRejectionWarning: #<Object>
(node:26032) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:26032) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

my node version is 10

Error while installing discovery-cli.

I'm exactly using the command npm install -g @enigmampc/discovery-cli to install it.
Here's some of the output:

npm WARN tar ENOENT: no such file or directory, open '/root/.nvm/versions/node/v11.15.0/lib/node_modules/.staging/lodash-47f770d0/lang.js'
npm WARN tar ENOENT: no such file or directory, open '/root/.nvm/versions/node/v11.15.0/lib/node_modules/.staging/lodash-47f770d0/fp/last.js'
npm WARN tar ENOENT: no such file or directory, open '/root/.nvm/versions/node/v11.15.0/lib/node_modules/.staging/lodash-47f770d0/last.js'
npm WARN tar ENOENT: no such file or directory, open '/root/.nvm/versions/node/v11.15.0/lib/node_modules/.staging/lodash-47f770d0/fp/lastIndexOf.js'
npm WARN tar ENOENT: no such file or directory, open '/root/.nvm/versions/node/v11.15.0/lib/node_modules/.staging/lodash-47f770d0/lastIndexOf.js'
npm WARN tar ENOENT: no such file or directory, open '/root/.nvm/versions/node/v11.15.0/lib/node_modules/.staging/lodash-47f770d0/fp/lastIndexOfFrom.js'
npm WARN tar ENOENT: no such file or directory, open '/root/.nvm/versions/node/v11.15.0/lib/node_modules/.staging/lodash-47f770d0/lodash.js'
npm WARN @truffle/[email protected] requires a peer of truffle@^5.0.14 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of acorn@^6.0.0 || ^7.0.0 but none is installed. You must install peer dependencies yourself.

npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://github.com/ethereumjs/ethereumjs-abi.git
npm ERR! 
npm ERR! fatal: cannot come back to cwd: Permission denied
npm ERR! 
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-11-07T13_03_06_844Z-debug.log

Actually there are tens of rows indicating the "no such file or directory" error. Even adding the parameters --unsafe-perm or--allow-root doesn't work.
I'm using node v11.15 with nvm and npm v6.13.0 on Ubuntu 18.04. And i also have tried node v8 LTS and v10 LTS.

Compilation Errors with Some Smart Contracts

I'm getting this compilation error with some smart contracts. This error is familiar and probably related to rust-web3. I'm documenting it here to keep track of it. I decided to create a Solidity interface and use that abi instead of the main contract. This is how I got around rust-web3 abi issues in the past.

Smart Contracts:
Compiling your contracts...
===========================
> Artifacts written to /home/fredfortier/Code/Mixer/enigma-mixer/build/smart_contracts
> Compiled successfully using:
   - solc: 0.5.8+commit.23d335f2.Emscripten.clang

Compiling Secret Contract "mixer"...
   Compiling contract v0.1.0 (/home/fredfortier/Code/Mixer/enigma-mixer/secret_contracts/mixer)
error: custom attribute panicked
  --> src/lib.rs:26:1
   |
26 | #[eth_contract("Mixer.json")]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: message: called `Result::unwrap()` on an `Err` value: TokenParseError { error: "unexpected token" }

error: aborting due to previous error

error: Could not compile `contract`.

To learn more, run the command again with --verbose.
Something went wrong compiling secret contract mixer, aborting.

npm error

When I install it using npm it shows

pos.target.mk:109: recipe for target 'Release/obj.target/pos/src/pos.o' failed
make: *** [Release/obj.target/pos/src/pos.o] Error 1
make: Leaving directory '/opt/nodejs/lib/node_modules/@enigmampc/discovery-cli/node_modules/get-cursor-position/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/opt/nodejs/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:311:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.15.0-30deepin-generic
gyp ERR! command "/opt/nodejs/bin/node" "/opt/nodejs/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/nodejs/lib/node_modules/@enigmampc/discovery-cli/node_modules/get-cursor-position
gyp ERR! node -v v12.16.1
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 
npm WARN [email protected] requires a peer of acorn@^6.0.0 || ^7.0.0 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/wystanwei/.npm/_logs/2020-04-22T05_14_21_068Z-debug.log

my node version is 12

Error for the installation of the discovery CLI

Hi. I'm under Windows 10, using NPM v6.11.3 and Node.js 11.14.0 and trying to install the discovery CLI throught the command line in the tutorials. But I have this error :

gyp ERR! build error gyp ERR! stack Error: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:196:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Soul\AppData\Roaming\npm\node_modules@enigmampc\discovery-cli\node_modules\get-cursor-position
gyp ERR! node -v v12.11.1
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
npm WARN [email protected] requires a peer of acorn@^6.0.0 || ^7.0.0 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Soul\AppData\Roaming\npm-cache_logs\2020-05-08T08_17_12_663Z-debug.log

Can anyone help me ? Looks similar to another issue, but not on the same environment.

Initialization Issue

  • OS: Linux localhost.localdomain 5.1.8-300.fc30.x86_64
  • Node: v11.14.0
$ discovery init
...
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

added 411 packages from 321 contributors and audited 227299 packages in 25.14s
found 0 vulnerabilities

? Running in SGX Hardware (HW) or Software (SW) mode? (HW/sw) HW
? About to pull Docker images. This requires 15 GB of space. Continue? (Y/n) Y
Pulling Enigma Docker images...
(node:4281) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'row' of undefined
    at Object.module.exports.pullImage (/home/fredfortier/Code/Enigma/discovery/genesis-game-client/env/lib/node_modules/@enigmampc/discovery-cli/src/docker.js:64:33)
    at /home/fredfortier/Code/Enigma/discovery/genesis-game-client/env/lib/node_modules/@enigmampc/discovery-cli/src/index.js:164:18
    at processTicksAndRejections (internal/process/task_queues.js:86:5)
(node:4281) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)

.env file has machine specific pathway.

BUILD_CONTRACTS_PATH=/Users/jesseabramowitz/Desktop/moodles/eth_waterloo/build/enigma_contracts

this makes it harder working in teams. If I init then push to github and my teammates pull it down, it should probably cause issues.

migrate and test should call compile first

To emulate the original truffle behavior, where migrate and test call compile if the Ethereum contracts are not compiled up to date, these two commands should do the same for secret contracts and call compile as needed.

Error while discovery init

Hi,
Right now I'm in the tutorial Part two. During discovery init I get below error. Could anyone help?

I'm using Mac 10.13.6.
Node is v11.15.0.

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at /Users/Mitsu/.nvm/versions/node/v11.15.0/lib/node_modules/@enigmampc/discovery-cli/src/docker.js:14:23
    at Array.forEach (<anonymous>)
    at IncomingMessage.stream.on (/Users/Mitsu/.nvm/versions/node/v11.15.0/lib/node_modules/@enigmampc/discovery-cli/src/docker.js:11:29)
    at IncomingMessage.emit (events.js:193:13)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:276:11)
    at IncomingMessage.Readable.push (_stream_readable.js:231:10)
    at HTTPParser.parserOnBody (_http_common.js:126:22)
    at Socket.socketOnData (_http_client.js:447:22)
    at Socket.emit (events.js:193:13)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:276:11)
    at Socket.Readable.push (_stream_readable.js:231:10)
    at Pipe.onStreamRead (internal/stream_base_commons.js:154:17)

Below is all the output during discovery init:

Mitsu@sumire-no-MacBook-Air:~/coding/millionaires_problem_demo$ discovery init
                                                                            .:.             
    ______      _                                                      .::::-:/:.          
   / ____/___  (_)___ _____ ___  ____ _                            .:::-       .:/:.       
  / __/ / __ \/ / __ `/ __ `__ \/ __ `/                        .:::-      .-      .//:     
 / /___/ / / / / /_/ / / / / / / /_/ /                     .:::-          :          .//:  
/_____/_/ /_/_/\__, /_/ /_/ /_/\__,_/                    /o:           -::/-           -/s 
              /____/                                    -/ ://.    -:::.   -//.    -:::.-/ 
    ____             __                   __            +     :/+/:.          :o/::.    +  
   / __ \_________  / /_____  _________  / /           /-      /-:/:.      -:::/.      /-  
  / /_/ / ___/ __ \/ __/ __ \/ ___/ __ \/ /           .+      .+   .:/:-:::.  ./      .+   
 / ____/ /  / /_/ / /_/ /_/ / /__/ /_/ / /            +.      +.      +.      /.      +.  
/_/   /_/   \____/\__/\____/\___/\____/_/            -:      -/      -/      -:      -/   
                                                     +     - :/:     +    .:::-.     +    
    ____  _                                         /-. .-     .//- /-.:::-     -.. /-   
   / __ \(_)_____________ _   _____  _______  __    o.-           -/o:-           ::/     
  / / / / / ___/ ___/ __ \ | / / _ \/ ___/ / / /     ://.          +.         -:::-       
 / /_/ / (__  ) /__/ /_/ / |/ /  __/ /  / /_/ /         ://.      -/      -:::.           
/_____/_/____/\___/\____/|___/\___/_/   \__, /            .:/:.   +   -:::.               
                                       /____/                .:/://:::.                  
                                                                 .:.                   

? Set up the Discovery Enigma Protocol development environment in the current fo
lder? (Y/n) y
Checking if "docker" is installed in the system... FOUND
Checking if "docker-compose" is installed in the system... FOUND
Checking if "rustc" is installed in the system... FOUND
Checking if "cargo" is installed in the system... FOUND
Checking if "rustup" is installed in the system... FOUND
Checking if "npm" is installed in the system... FOUND
Checking if "git" is installed in the system... FOUND
Checking if Rust "nightly-2019-08-01" is installed in the system... FOUND
Checking for Rust wasm32-unknown-unknown...
info: component 'rust-std' for target 'wasm32-unknown-unknown' is up to date
Downloading files...
Installing package dependendecies...
npm WARN deprecated [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated [email protected]: Way too old
npm WARN deprecated [email protected]: core-js@<2.6.8 is no longer maintained. Please, upgrade to core-js@3 or at least to actual version of core-js@2.
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated [email protected]: Use mz or fs-extra^3.0 with Promise Support
npm WARN deprecated [email protected]: ⚠️  WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar
npm WARN deprecated [email protected]: Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
npm WARN deprecated [email protected]: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated [email protected]: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: use String.prototype.padStart()

> [email protected] preinstall /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/scrypt
> node node-scrypt-preinstall.js


> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/CoreServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork.tbd and library file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList are out of sync. Falling back to library file for linking.

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/fsevents
> node install

node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.4/fse-v1.2.4-node-v67-darwin-x64.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v67 ABI, unknown) (falling back to source compile with node-gyp) 
  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
../fsevents.cc:63:6: warning: field 'async_resource' will be initialized after field 'lockStarted' [-Wreorder]
   : async_resource("fsevents:FSEvents"), lockStarted(false) {
     ^
1 warning generated.
  SOLINK_MODULE(target) Release/fse.node
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/CoreServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork.tbd and library file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList are out of sync. Falling back to library file for linking.
  COPY /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64/fse.node
  TOUCH Release/obj.target/action_after_build.stamp

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/scrypt
> node-gyp rebuild

  SOLINK_MODULE(target) Release/copied_files.node
  CC(target) Release/obj.target/scrypt_wrapper/src/util/memlimit.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/pickparams.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/hash.o
  LIBTOOL-STATIC Release/scrypt_wrapper.a
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt_smix.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/warnp.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/alg/sha256.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/insecure_memzero.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/scryptenc/scryptenc_cpuperf.o
  LIBTOOL-STATIC Release/scrypt_lib.a
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_common.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_params_async.o
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_params_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_params_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_params_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_params_async.h:28:
../src/node-boilerplate/inc/scrypt_async.h:53:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      callback->Call(1, argv);
                ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h:35:24: warning: 'NumberValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
      maxtime(info[0]->NumberValue()),
                       ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2569:3: note: 'NumberValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", double NumberValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h:36:27: warning: 'NumberValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
      maxmemfrac(info[1]->NumberValue()),
                          ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2569:3: note: 'NumberValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", double NumberValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h:37:23: warning: 'IntegerValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
      maxmem(info[2]->IntegerValue()),
                      ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2570:3: note: 'IntegerValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h:38:26: warning: 'IntegerValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
      osfreemem(info[3]->IntegerValue())
                         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2570:3: note: 'IntegerValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_params_async.cc:32:13: warning: 'Call' is deprecated [-Wdeprecated-declarations]
  callback->Call(2, argv);
            ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
9 warnings generated.
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_params_sync.o
In file included from ../src/node-boilerplate/scrypt_params_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_params_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_params_sync.cc:25:35: warning: 'NumberValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
  const double maxtime = info[0]->NumberValue();
                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2569:3: note: 'NumberValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", double NumberValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_params_sync.cc:26:34: warning: 'IntegerValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
  const size_t maxmem = info[2]->IntegerValue();
                                 ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2570:3: note: 'IntegerValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_params_sync.cc:27:38: warning: 'NumberValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
  const double maxmemfrac = info[1]->NumberValue();
                                     ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2569:3: note: 'NumberValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", double NumberValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_params_sync.cc:28:37: warning: 'IntegerValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
  const size_t osfreemem = info[3]->IntegerValue();
                                    ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2570:3: note: 'IntegerValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
7 warnings generated.
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf_async.o
In file included from ../src/node-boilerplate/scrypt_kdf_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf_async.h:28:
../src/node-boilerplate/inc/scrypt_async.h:53:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      callback->Call(1, argv);
                ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
In file included from ../src/node-boilerplate/scrypt_kdf_async.cc:4:
../src/node-boilerplate/inc/scrypt_kdf_async.h:36:23: warning: 'ToObject' is deprecated: Use maybe version [-Wdeprecated-declarations]
      params(args[1]->ToObject()),
                      ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2549:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_kdf_async.cc:25:53: warning: 'ToObject' is deprecated: Use maybe version [-Wdeprecated-declarations]
        GetFromPersistent("ScryptPeristentObject")->ToObject()->Get(Nan::New("KDFResult").ToLocalChecked())
                                                    ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2549:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_kdf_async.cc:28:15: warning: 'Call' is deprecated [-Wdeprecated-declarations]
    callback->Call(2, argv);
              ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
7 warnings generated.
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf_sync.o
In file included from ../src/node-boilerplate/scrypt_kdf_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_kdf_sync.cc:29:48: warning: 'ToObject' is deprecated: Use maybe version [-Wdeprecated-declarations]
    const NodeScrypt::Params params = info[1]->ToObject();
                                               ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2549:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
4 warnings generated.
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf-verify_sync.o
In file included from ../src/node-boilerplate/scrypt_kdf-verify_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf-verify_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf-verify_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
3 warnings generated.
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf-verify_async.o
In file included from ../src/node-boilerplate/scrypt_kdf-verify_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf-verify_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf-verify_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf-verify_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf-verify_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf-verify_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_kdf-verify_async.cc:4:
In file included from ../src/node-boilerplate/inc/scrypt_kdf-verify_async.h:28:
../src/node-boilerplate/inc/scrypt_async.h:53:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      callback->Call(1, argv);
                ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/node-boilerplate/scrypt_kdf-verify_async.cc:30:13: warning: 'Call' is deprecated [-Wdeprecated-declarations]
  callback->Call(2, argv);
            ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
5 warnings generated.
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_hash_sync.o
In file included from ../src/node-boilerplate/scrypt_hash_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_hash_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_hash_sync.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_hash_sync.cc:24:46: warning: 'ToObject' is deprecated: Use maybe version [-Wdeprecated-declarations]
  const NodeScrypt::Params params = info[1]->ToObject();
                                             ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2549:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_hash_sync.cc:25:37: warning: 'IntegerValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
  const size_t hash_size = info[2]->IntegerValue();
                                    ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2570:3: note: 'IntegerValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
5 warnings generated.
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_hash_async.o
In file included from ../src/node-boilerplate/scrypt_hash_async.cc:28:
In file included from ../src/node-boilerplate/inc/scrypt_hash_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:39:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_hash_async.cc:28:
In file included from ../src/node-boilerplate/inc/scrypt_hash_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:40:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_hash_async.cc:28:
In file included from ../src/node-boilerplate/inc/scrypt_hash_async.h:28:
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28:
../src/node-boilerplate/inc/scrypt_common.h:41:51: warning: 'Uint32Value' is deprecated: Use maybe version [-Wdeprecated-declarations]
      p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
                                                  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2571:3: note: 'Uint32Value' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_hash_async.cc:28:
In file included from ../src/node-boilerplate/inc/scrypt_hash_async.h:28:
../src/node-boilerplate/inc/scrypt_async.h:53:17: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      callback->Call(1, argv);
                ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
In file included from ../src/node-boilerplate/scrypt_hash_async.cc:28:
../src/node-boilerplate/inc/scrypt_hash_async.h:36:23: warning: 'ToObject' is deprecated: Use maybe version [-Wdeprecated-declarations]
      params(info[1]->ToObject()),
                      ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2549:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../src/node-boilerplate/scrypt_hash_async.cc:28:
../src/node-boilerplate/inc/scrypt_hash_async.h:37:26: warning: 'IntegerValue' is deprecated: Use maybe version [-Wdeprecated-declarations]
      hash_size(info[2]->IntegerValue()),
                         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2570:3: note: 'IntegerValue' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
  ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_hash_async.cc:49:49: warning: 'ToObject' is deprecated: Use maybe version [-Wdeprecated-declarations]
    GetFromPersistent("ScryptPeristentObject")->ToObject()->Get(Nan::New("HashBuffer").ToLocalChecked())
                                                ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8.h:2549:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/Mitsu/.node-gyp/11.15.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/node-boilerplate/scrypt_hash_async.cc:52:13: warning: 'Call' is deprecated [-Wdeprecated-declarations]
  callback->Call(2, argv);
            ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
8 warnings generated.
  CXX(target) Release/obj.target/scrypt/scrypt_node.o
  SOLINK_MODULE(target) Release/scrypt.node

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/sha3
> node-gyp rebuild

  CXX(target) Release/obj.target/sha3/src/addon.o
In file included from ../src/addon.cpp:9:
In file included from ../src/KeccakNISTInterface.h:17:
../src/KeccakSponge.h:23:9: warning: 'ALIGN' macro redefined [-Wmacro-redefined]
#define ALIGN __attribute__ ((aligned(32)))
        ^
/usr/include/i386/param.h:83:9: note: previous definition is here
#define ALIGN(p)        __DARWIN_ALIGN(p)
        ^
1 warning generated.
  CXX(target) Release/obj.target/sha3/src/displayIntermediateValues.o
  CXX(target) Release/obj.target/sha3/src/KeccakF-1600-reference.o
  CXX(target) Release/obj.target/sha3/src/KeccakNISTInterface.o
  CXX(target) Release/obj.target/sha3/src/KeccakSponge.o
  SOLINK_MODULE(target) Release/sha3.node

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node

> [email protected] postinstall /Users/Mitsu/coding/millionaires_problem_demo/client/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] requires a peer of react-redux@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of canvas@^2.5.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself.

added 2290 packages from 837 contributors and audited 138626 packages in 207.163s
found 71 vulnerabilities (63 low, 2 moderate, 6 high)
  run `npm audit fix` to fix them, or `npm audit` for details
npm WARN deprecated [email protected]: WARNING: This package has been renamed to @truffle/contract.
npm WARN deprecated [email protected]: WARNING: This package has been renamed to @truffle/interface-adapter.
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/node_modules/keccak
> npm run rebuild || echo "Keccak bindings compilation fail. Pure JS implementation will be used."


> [email protected] rebuild /Users/Mitsu/coding/millionaires_problem_demo/node_modules/keccak
> node-gyp rebuild

  CXX(target) Release/obj.target/keccak/src/addon.o
  CC(target) Release/obj.target/keccak/src/libkeccak-64/KeccakSpongeWidth1600.o
  CC(target) Release/obj.target/keccak/src/libkeccak-64/KeccakP-1600-opt64.o
  SOLINK_MODULE(target) Release/keccak.node

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/node_modules/eccrypto/node_modules/secp256k1
> npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."


> [email protected] rebuild /Users/Mitsu/coding/millionaires_problem_demo/node_modules/eccrypto/node_modules/secp256k1
> node-gyp rebuild

  CXX(target) Release/obj.target/secp256k1/src/addon.o
  CXX(target) Release/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc:73:3: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
  secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
In file included from ../src/secp256k1-src/src/group.h:11:
../src/secp256k1-src/src/field.h:36:13: warning: unused function 'secp256k1_fe_normalize' [-Wunused-function]
static void secp256k1_fe_normalize(secp256k1_fe *r);
            ^
../src/secp256k1-src/src/field.h:39:13: warning: unused function 'secp256k1_fe_normalize_weak' [-Wunused-function]
static void secp256k1_fe_normalize_weak(secp256k1_fe *r);
            ^
../src/secp256k1-src/src/field.h:42:13: warning: unused function 'secp256k1_fe_normalize_var' [-Wunused-function]
static void secp256k1_fe_normalize_var(secp256k1_fe *r);
            ^
../src/secp256k1-src/src/field.h:46:12: warning: unused function 'secp256k1_fe_normalizes_to_zero' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r);
           ^
../src/secp256k1-src/src/field.h:50:12: warning: unused function 'secp256k1_fe_normalizes_to_zero_var' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r);
           ^
../src/secp256k1-src/src/field.h:53:13: warning: unused function 'secp256k1_fe_set_int' [-Wunused-function]
static void secp256k1_fe_set_int(secp256k1_fe *r, int a);
            ^
../src/secp256k1-src/src/field.h:56:13: warning: unused function 'secp256k1_fe_clear' [-Wunused-function]
static void secp256k1_fe_clear(secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:59:12: warning: unused function 'secp256k1_fe_is_zero' [-Wunused-function]
static int secp256k1_fe_is_zero(const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:62:12: warning: unused function 'secp256k1_fe_is_odd' [-Wunused-function]
static int secp256k1_fe_is_odd(const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:65:12: warning: unused function 'secp256k1_fe_equal' [-Wunused-function]
static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b);
           ^
../src/secp256k1-src/src/field.h:68:12: warning: unused function 'secp256k1_fe_equal_var' [-Wunused-function]
static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b);
           ^
../src/secp256k1-src/src/field.h:71:12: warning: unused function 'secp256k1_fe_cmp_var' [-Wunused-function]
static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b);
           ^
../src/secp256k1-src/src/field.h:74:12: warning: unused function 'secp256k1_fe_set_b32' [-Wunused-function]
static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a);
           ^
../src/secp256k1-src/src/field.h:77:13: warning: unused function 'secp256k1_fe_get_b32' [-Wunused-function]
static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:81:13: warning: unused function 'secp256k1_fe_negate' [-Wunused-function]
static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m);
            ^
../src/secp256k1-src/src/field.h:85:13: warning: unused function 'secp256k1_fe_mul_int' [-Wunused-function]
static void secp256k1_fe_mul_int(secp256k1_fe *r, int a);
            ^
../src/secp256k1-src/src/field.h:88:13: warning: unused function 'secp256k1_fe_add' [-Wunused-function]
static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:92:13: warning: unused function 'secp256k1_fe_mul' [-Wunused-function]
static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b);
            ^
../src/secp256k1-src/src/field.h:96:13: warning: unused function 'secp256k1_fe_sqr' [-Wunused-function]
static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:103:12: warning: unused function 'secp256k1_fe_sqrt' [-Wunused-function]
static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:106:12: warning: unused function 'secp256k1_fe_is_quad_var' [-Wunused-function]
static int secp256k1_fe_is_quad_var(const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:110:13: warning: unused function 'secp256k1_fe_inv' [-Wunused-function]
static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:113:13: warning: unused function 'secp256k1_fe_inv_var' [-Wunused-function]
static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:118:13: warning: unused function 'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len);
            ^
../src/secp256k1-src/src/field.h:121:13: warning: unused function 'secp256k1_fe_to_storage' [-Wunused-function]
static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:124:13: warning: unused function 'secp256k1_fe_from_storage' [-Wunused-function]
static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a);
            ^
../src/secp256k1-src/src/field.h:127:13: warning: unused function 'secp256k1_fe_storage_cmov' [-Wunused-function]
static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag);
            ^
../src/secp256k1-src/src/field.h:130:13: warning: unused function 'secp256k1_fe_cmov' [-Wunused-function]
static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag);
            ^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
../src/secp256k1-src/src/group.h:44:13: warning: unused function 'secp256k1_ge_set_xy' [-Wunused-function]
static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y);
            ^
../src/secp256k1-src/src/group.h:50:12: warning: unused function 'secp256k1_ge_set_xquad' [-Wunused-function]
static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x);
           ^
../src/secp256k1-src/src/group.h:54:12: warning: unused function 'secp256k1_ge_set_xo_var' [-Wunused-function]
static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd);
           ^
../src/secp256k1-src/src/group.h:57:12: warning: unused function 'secp256k1_ge_is_infinity' [-Wunused-function]
static int secp256k1_ge_is_infinity(const secp256k1_ge *a);
           ^
../src/secp256k1-src/src/group.h:60:12: warning: unused function 'secp256k1_ge_is_valid_var' [-Wunused-function]
static int secp256k1_ge_is_valid_var(const secp256k1_ge *a);
           ^
../src/secp256k1-src/src/group.h:62:13: warning: unused function 'secp256k1_ge_neg' [-Wunused-function]
static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a);
            ^
../src/secp256k1-src/src/group.h:65:13: warning: unused function 'secp256k1_ge_set_gej' [-Wunused-function]
static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a);
            ^
../src/secp256k1-src/src/group.h:68:13: warning: unused function 'secp256k1_ge_set_all_gej_var' [-Wunused-function]
static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len);
            ^
../src/secp256k1-src/src/group.h:75:13: warning: unused function 'secp256k1_ge_globalz_set_table_gej' [-Wunused-function]
static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe *globalz, const secp256k1_gej *a, const secp256k1_fe *zr);
            ^
../src/secp256k1-src/src/group.h:78:13: warning: unused function 'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r);
            ^
../src/secp256k1-src/src/group.h:81:13: warning: unused function 'secp256k1_gej_set_infinity' [-Wunused-function]
static void secp256k1_gej_set_infinity(secp256k1_gej *r);
            ^
../src/secp256k1-src/src/group.h:84:13: warning: unused function 'secp256k1_gej_set_ge' [-Wunused-function]
static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a);
            ^
../src/secp256k1-src/src/group.h:87:12: warning: unused function 'secp256k1_gej_eq_x_var' [-Wunused-function]
static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a);
           ^
../src/secp256k1-src/src/group.h:90:13: warning: unused function 'secp256k1_gej_neg' [-Wunused-function]
static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a);
            ^
../src/secp256k1-src/src/group.h:93:12: warning: unused function 'secp256k1_gej_is_infinity' [-Wunused-function]
static int secp256k1_gej_is_infinity(const secp256k1_gej *a);
           ^
../src/secp256k1-src/src/group.h:96:12: warning: unused function 'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a);
           ^
../src/secp256k1-src/src/group.h:100:13: warning: unused function 'secp256k1_gej_double_nonzero' [-Wunused-function]
static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:103:13: warning: unused function 'secp256k1_gej_double_var' [-Wunused-function]
static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:106:13: warning: unused function 'secp256k1_gej_add_var' [-Wunused-function]
static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:109:13: warning: unused function 'secp256k1_gej_add_ge' [-Wunused-function]
static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b);
            ^
../src/secp256k1-src/src/group.h:114:13: warning: unused function 'secp256k1_gej_add_ge_var' [-Wunused-function]
static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:117:13: warning: unused function 'secp256k1_gej_add_zinv_var' [-Wunused-function]
static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, const secp256k1_fe *bzinv);
            ^
../src/secp256k1-src/src/group.h:125:13: warning: unused function 'secp256k1_gej_clear' [-Wunused-function]
static void secp256k1_gej_clear(secp256k1_gej *r);
            ^
../src/secp256k1-src/src/group.h:128:13: warning: unused function 'secp256k1_ge_clear' [-Wunused-function]
static void secp256k1_ge_clear(secp256k1_ge *r);
            ^
../src/secp256k1-src/src/group.h:131:13: warning: unused function 'secp256k1_ge_to_storage' [-Wunused-function]
static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a);
            ^
../src/secp256k1-src/src/group.h:134:13: warning: unused function 'secp256k1_ge_from_storage' [-Wunused-function]
static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a);
            ^
../src/secp256k1-src/src/group.h:137:13: warning: unused function 'secp256k1_ge_storage_cmov' [-Wunused-function]
static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storage *a, int flag);
            ^
../src/secp256k1-src/src/group.h:140:13: warning: unused function 'secp256k1_gej_rescale' [-Wunused-function]
static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b);
            ^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:83:12: warning: unused function 'secp256k1_scalar_add' [-Wunused-function]
static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) {
           ^
../src/secp256k1-src/src/scalar_4x64_impl.h:897:12: warning: unused function 'secp256k1_scalar_shr_int' [-Wunused-function]
static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) {
           ^
In file included from ../src/privatekey.cc:4:
../src/secp256k1-src/src/scalar_impl.h:225:13: warning: unused function 'secp256k1_scalar_inverse_var' [-Wunused-function]
static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *x) {
            ^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:140:13: warning: unused function 'secp256k1_scalar_negate' [-Wunused-function]
static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) {
            ^
../src/secp256k1-src/src/scalar_4x64_impl.h:156:12: warning: unused function 'secp256k1_scalar_is_high' [-Wunused-function]
static int secp256k1_scalar_is_high(const secp256k1_scalar *a) {
           ^
../src/secp256k1-src/src/scalar_4x64_impl.h:168:12: warning: unused function 'secp256k1_scalar_cond_negate' [-Wunused-function]
static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) {
           ^
63 warnings generated.
  CXX(target) Release/obj.target/secp256k1/src/publickey.o
  CXX(target) Release/obj.target/secp256k1/src/signature.o
  CXX(target) Release/obj.target/secp256k1/src/ecdsa.o
  CXX(target) Release/obj.target/secp256k1/src/ecdh.o
  CC(target) Release/obj.target/secp256k1/src/secp256k1-src/src/secp256k1.o
In file included from ../src/secp256k1-src/src/secp256k1.c:11:
../src/secp256k1-src/src/field_impl.h:266:13: warning: unused function 'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len) {
            ^
In file included from ../src/secp256k1-src/src/secp256k1.c:13:
../src/secp256k1-src/src/group_impl.h:202:13: warning: unused function 'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r) {
            ^
../src/secp256k1-src/src/group_impl.h:691:12: warning: unused function 'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
           ^
../src/secp256k1-src/src/group_impl.h:272:12: warning: unused function 'secp256k1_gej_is_valid_var' [-Wunused-function]
static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
           ^
In file included from ../src/secp256k1-src/src/secp256k1.c:14:
../src/secp256k1-src/src/ecmult_impl.h:1135:12: warning: unused function 'secp256k1_ecmult_multi_var' [-Wunused-function]
static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) {
           ^
../src/secp256k1-src/src/ecmult_impl.h:669:12: warning: unused function 'secp256k1_ecmult_strauss_batch_single' [-Wunused-function]
static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_context *actx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) {
           ^
../src/secp256k1-src/src/ecmult_impl.h:1042:12: warning: unused function 'secp256k1_ecmult_pippenger_batch_single' [-Wunused-function]
static int secp256k1_ecmult_pippenger_batch_single(const secp256k1_ecmult_context *actx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) {
           ^
7 warnings generated.
  CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_parsing.o
  CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_privatekey_parsing.o
  SOLINK_MODULE(target) Release/secp256k1.node

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/node_modules/eccrypto
> node-gyp rebuild || exit 0

  CXX(target) Release/obj.target/ecdh/ecdh.o
  SOLINK_MODULE(target) Release/ecdh.node

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/node_modules/secp256k1
> npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."


> [email protected] rebuild /Users/Mitsu/coding/millionaires_problem_demo/node_modules/secp256k1
> node-gyp rebuild

  CXX(target) Release/obj.target/secp256k1/src/addon.o
  CXX(target) Release/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc:73:3: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
  secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
In file included from ../src/secp256k1-src/src/group.h:11:
../src/secp256k1-src/src/field.h:36:13: warning: unused function 'secp256k1_fe_normalize' [-Wunused-function]
static void secp256k1_fe_normalize(secp256k1_fe *r);
            ^
../src/secp256k1-src/src/field.h:39:13: warning: unused function 'secp256k1_fe_normalize_weak' [-Wunused-function]
static void secp256k1_fe_normalize_weak(secp256k1_fe *r);
            ^
../src/secp256k1-src/src/field.h:42:13: warning: unused function 'secp256k1_fe_normalize_var' [-Wunused-function]
static void secp256k1_fe_normalize_var(secp256k1_fe *r);
            ^
../src/secp256k1-src/src/field.h:46:12: warning: unused function 'secp256k1_fe_normalizes_to_zero' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r);
           ^
../src/secp256k1-src/src/field.h:50:12: warning: unused function 'secp256k1_fe_normalizes_to_zero_var' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r);
           ^
../src/secp256k1-src/src/field.h:53:13: warning: unused function 'secp256k1_fe_set_int' [-Wunused-function]
static void secp256k1_fe_set_int(secp256k1_fe *r, int a);
            ^
../src/secp256k1-src/src/field.h:56:13: warning: unused function 'secp256k1_fe_clear' [-Wunused-function]
static void secp256k1_fe_clear(secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:59:12: warning: unused function 'secp256k1_fe_is_zero' [-Wunused-function]
static int secp256k1_fe_is_zero(const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:62:12: warning: unused function 'secp256k1_fe_is_odd' [-Wunused-function]
static int secp256k1_fe_is_odd(const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:65:12: warning: unused function 'secp256k1_fe_equal' [-Wunused-function]
static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b);
           ^
../src/secp256k1-src/src/field.h:68:12: warning: unused function 'secp256k1_fe_equal_var' [-Wunused-function]
static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b);
           ^
../src/secp256k1-src/src/field.h:71:12: warning: unused function 'secp256k1_fe_cmp_var' [-Wunused-function]
static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b);
           ^
../src/secp256k1-src/src/field.h:74:12: warning: unused function 'secp256k1_fe_set_b32' [-Wunused-function]
static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a);
           ^
../src/secp256k1-src/src/field.h:77:13: warning: unused function 'secp256k1_fe_get_b32' [-Wunused-function]
static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:81:13: warning: unused function 'secp256k1_fe_negate' [-Wunused-function]
static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m);
            ^
../src/secp256k1-src/src/field.h:85:13: warning: unused function 'secp256k1_fe_mul_int' [-Wunused-function]
static void secp256k1_fe_mul_int(secp256k1_fe *r, int a);
            ^
../src/secp256k1-src/src/field.h:88:13: warning: unused function 'secp256k1_fe_add' [-Wunused-function]
static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:92:13: warning: unused function 'secp256k1_fe_mul' [-Wunused-function]
static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b);
            ^
../src/secp256k1-src/src/field.h:96:13: warning: unused function 'secp256k1_fe_sqr' [-Wunused-function]
static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:103:12: warning: unused function 'secp256k1_fe_sqrt' [-Wunused-function]
static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:106:12: warning: unused function 'secp256k1_fe_is_quad_var' [-Wunused-function]
static int secp256k1_fe_is_quad_var(const secp256k1_fe *a);
           ^
../src/secp256k1-src/src/field.h:110:13: warning: unused function 'secp256k1_fe_inv' [-Wunused-function]
static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:113:13: warning: unused function 'secp256k1_fe_inv_var' [-Wunused-function]
static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:118:13: warning: unused function 'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len);
            ^
../src/secp256k1-src/src/field.h:121:13: warning: unused function 'secp256k1_fe_to_storage' [-Wunused-function]
static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a);
            ^
../src/secp256k1-src/src/field.h:124:13: warning: unused function 'secp256k1_fe_from_storage' [-Wunused-function]
static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a);
            ^
../src/secp256k1-src/src/field.h:127:13: warning: unused function 'secp256k1_fe_storage_cmov' [-Wunused-function]
static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag);
            ^
../src/secp256k1-src/src/field.h:130:13: warning: unused function 'secp256k1_fe_cmov' [-Wunused-function]
static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag);
            ^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
../src/secp256k1-src/src/group.h:44:13: warning: unused function 'secp256k1_ge_set_xy' [-Wunused-function]
static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y);
            ^
../src/secp256k1-src/src/group.h:50:12: warning: unused function 'secp256k1_ge_set_xquad' [-Wunused-function]
static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x);
           ^
../src/secp256k1-src/src/group.h:54:12: warning: unused function 'secp256k1_ge_set_xo_var' [-Wunused-function]
static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd);
           ^
../src/secp256k1-src/src/group.h:57:12: warning: unused function 'secp256k1_ge_is_infinity' [-Wunused-function]
static int secp256k1_ge_is_infinity(const secp256k1_ge *a);
           ^
../src/secp256k1-src/src/group.h:60:12: warning: unused function 'secp256k1_ge_is_valid_var' [-Wunused-function]
static int secp256k1_ge_is_valid_var(const secp256k1_ge *a);
           ^
../src/secp256k1-src/src/group.h:62:13: warning: unused function 'secp256k1_ge_neg' [-Wunused-function]
static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a);
            ^
../src/secp256k1-src/src/group.h:65:13: warning: unused function 'secp256k1_ge_set_gej' [-Wunused-function]
static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a);
            ^
../src/secp256k1-src/src/group.h:68:13: warning: unused function 'secp256k1_ge_set_all_gej_var' [-Wunused-function]
static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len);
            ^
../src/secp256k1-src/src/group.h:75:13: warning: unused function 'secp256k1_ge_globalz_set_table_gej' [-Wunused-function]
static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe *globalz, const secp256k1_gej *a, const secp256k1_fe *zr);
            ^
../src/secp256k1-src/src/group.h:78:13: warning: unused function 'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r);
            ^
../src/secp256k1-src/src/group.h:81:13: warning: unused function 'secp256k1_gej_set_infinity' [-Wunused-function]
static void secp256k1_gej_set_infinity(secp256k1_gej *r);
            ^
../src/secp256k1-src/src/group.h:84:13: warning: unused function 'secp256k1_gej_set_ge' [-Wunused-function]
static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a);
            ^
../src/secp256k1-src/src/group.h:87:12: warning: unused function 'secp256k1_gej_eq_x_var' [-Wunused-function]
static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a);
           ^
../src/secp256k1-src/src/group.h:90:13: warning: unused function 'secp256k1_gej_neg' [-Wunused-function]
static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a);
            ^
../src/secp256k1-src/src/group.h:93:12: warning: unused function 'secp256k1_gej_is_infinity' [-Wunused-function]
static int secp256k1_gej_is_infinity(const secp256k1_gej *a);
           ^
../src/secp256k1-src/src/group.h:96:12: warning: unused function 'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a);
           ^
../src/secp256k1-src/src/group.h:100:13: warning: unused function 'secp256k1_gej_double_nonzero' [-Wunused-function]
static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:103:13: warning: unused function 'secp256k1_gej_double_var' [-Wunused-function]
static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:106:13: warning: unused function 'secp256k1_gej_add_var' [-Wunused-function]
static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:109:13: warning: unused function 'secp256k1_gej_add_ge' [-Wunused-function]
static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b);
            ^
../src/secp256k1-src/src/group.h:114:13: warning: unused function 'secp256k1_gej_add_ge_var' [-Wunused-function]
static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, secp256k1_fe *rzr);
            ^
../src/secp256k1-src/src/group.h:117:13: warning: unused function 'secp256k1_gej_add_zinv_var' [-Wunused-function]
static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, const secp256k1_fe *bzinv);
            ^
../src/secp256k1-src/src/group.h:125:13: warning: unused function 'secp256k1_gej_clear' [-Wunused-function]
static void secp256k1_gej_clear(secp256k1_gej *r);
            ^
../src/secp256k1-src/src/group.h:128:13: warning: unused function 'secp256k1_ge_clear' [-Wunused-function]
static void secp256k1_ge_clear(secp256k1_ge *r);
            ^
../src/secp256k1-src/src/group.h:131:13: warning: unused function 'secp256k1_ge_to_storage' [-Wunused-function]
static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a);
            ^
../src/secp256k1-src/src/group.h:134:13: warning: unused function 'secp256k1_ge_from_storage' [-Wunused-function]
static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a);
            ^
../src/secp256k1-src/src/group.h:137:13: warning: unused function 'secp256k1_ge_storage_cmov' [-Wunused-function]
static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storage *a, int flag);
            ^
../src/secp256k1-src/src/group.h:140:13: warning: unused function 'secp256k1_gej_rescale' [-Wunused-function]
static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b);
            ^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:83:12: warning: unused function 'secp256k1_scalar_add' [-Wunused-function]
static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) {
           ^
../src/secp256k1-src/src/scalar_4x64_impl.h:897:12: warning: unused function 'secp256k1_scalar_shr_int' [-Wunused-function]
static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) {
           ^
In file included from ../src/privatekey.cc:4:
../src/secp256k1-src/src/scalar_impl.h:225:13: warning: unused function 'secp256k1_scalar_inverse_var' [-Wunused-function]
static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *x) {
            ^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:140:13: warning: unused function 'secp256k1_scalar_negate' [-Wunused-function]
static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) {
            ^
../src/secp256k1-src/src/scalar_4x64_impl.h:156:12: warning: unused function 'secp256k1_scalar_is_high' [-Wunused-function]
static int secp256k1_scalar_is_high(const secp256k1_scalar *a) {
           ^
../src/secp256k1-src/src/scalar_4x64_impl.h:168:12: warning: unused function 'secp256k1_scalar_cond_negate' [-Wunused-function]
static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) {
           ^
63 warnings generated.
  CXX(target) Release/obj.target/secp256k1/src/publickey.o
  CXX(target) Release/obj.target/secp256k1/src/signature.o
  CXX(target) Release/obj.target/secp256k1/src/ecdsa.o
  CXX(target) Release/obj.target/secp256k1/src/ecdh.o
  CC(target) Release/obj.target/secp256k1/src/secp256k1-src/src/secp256k1.o
In file included from ../src/secp256k1-src/src/secp256k1.c:11:
../src/secp256k1-src/src/field_impl.h:266:13: warning: unused function 'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len) {
            ^
In file included from ../src/secp256k1-src/src/secp256k1.c:13:
../src/secp256k1-src/src/group_impl.h:202:13: warning: unused function 'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r) {
            ^
../src/secp256k1-src/src/group_impl.h:691:12: warning: unused function 'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
           ^
../src/secp256k1-src/src/group_impl.h:272:12: warning: unused function 'secp256k1_gej_is_valid_var' [-Wunused-function]
static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
           ^
In file included from ../src/secp256k1-src/src/secp256k1.c:14:
../src/secp256k1-src/src/ecmult_impl.h:1135:12: warning: unused function 'secp256k1_ecmult_multi_var' [-Wunused-function]
static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) {
           ^
../src/secp256k1-src/src/ecmult_impl.h:669:12: warning: unused function 'secp256k1_ecmult_strauss_batch_single' [-Wunused-function]
static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_context *actx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) {
           ^
../src/secp256k1-src/src/ecmult_impl.h:1042:12: warning: unused function 'secp256k1_ecmult_pippenger_batch_single' [-Wunused-function]
static int secp256k1_ecmult_pippenger_batch_single(const secp256k1_ecmult_context *actx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) {
           ^
7 warnings generated.
  CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_parsing.o
  CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_privatekey_parsing.o
  SOLINK_MODULE(target) Release/secp256k1.node

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/node_modules/sha3
> node-gyp rebuild

  CXX(target) Release/obj.target/sha3/src/addon.o
In file included from ../src/addon.cpp:9:
In file included from ../src/KeccakNISTInterface.h:17:
../src/KeccakSponge.h:23:9: warning: 'ALIGN' macro redefined [-Wmacro-redefined]
#define ALIGN __attribute__ ((aligned(32)))
        ^
/usr/include/i386/param.h:83:9: note: previous definition is here
#define ALIGN(p)        __DARWIN_ALIGN(p)
        ^
1 warning generated.
  CXX(target) Release/obj.target/sha3/src/displayIntermediateValues.o
  CXX(target) Release/obj.target/sha3/src/KeccakF-1600-reference.o
  CXX(target) Release/obj.target/sha3/src/KeccakNISTInterface.o
  CXX(target) Release/obj.target/sha3/src/KeccakSponge.o
  SOLINK_MODULE(target) Release/sha3.node

> [email protected] install /Users/Mitsu/coding/millionaires_problem_demo/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node

> [email protected] postinstall /Users/Mitsu/coding/millionaires_problem_demo/node_modules/babel-runtime/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"


> [email protected] postinstall /Users/Mitsu/coding/millionaires_problem_demo/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"


> [email protected] postinstall /Users/Mitsu/coding/millionaires_problem_demo/node_modules/truffle
> node ./scripts/postinstall.js

- Fetching solc version list from solc-bin. Attempt #1
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

added 460 packages from 761 contributors and audited 42909 packages in 99.017s
found 2 low severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details
? Running in SGX Hardware (HW) or Software (SW) mode? (HW/sw) sw
? About to pull Docker images. This requires 15 GB of space. Continue? (Y/n) y
Pulling Enigma Docker images...
latest: Pulling from enigmampc/enigma_p2p                                       
092586df9206: Pull complete                                                     
ef599477fae0: Pull complete                                                     
4530c6472b5d: Pull complete                                                     
d34d61487075: Pull complete                                                     
87fc2710b63f: Pull complete                                                     
e83c771c5387: Pull complete                                                     
7e2d41c53938: Pull complete                                                     
a51441770e67: Pull complete                                                     
e9542e67f971: Pull complete                                                     
a30f99f04aba: Pull complete                                                     
25de974a4304: Pull complete                                                     
dadf9c3fcb58: Pull complete                                                     
ba95f5b75d39: Pull complete                                                     
Status: Downloaded newer image for enigmampc/enigma_p2p:latest                  

latest: Pulling from enigmampc/enigma_contract                                  
092586df9206: Already exists                                                    
ef599477fae0: Already exists                                                    
4530c6472b5d: Already exists                                                    
d34d61487075: Already exists                                                    
87fc2710b63f: Already exists                                                    
e83c771c5387: Already exists                                                    
7e2d41c53938: Already exists                                                    
a51441770e67: Already exists                                                    
e9542e67f971: Already exists                                                    
3dec4cae473d: Pull complete                                                     
3b2efba3d3ab: Pull complete                                                     
18e20e857183: Pull complete                                                     
ffadd455a188: Pull complete                                                     
f098c382df43: Pull complete                                                     
ccea8fdd759d: Pull complete                                                     
2b76469b05d2: Pull complete                                                     
589873540b2f: Pull complete                                                     
6671a1396de4: Pull complete                                                     
74ece559f70d: Pull complete                                                     
6a8920897bc9: Pull complete                                                     
ddd41406290e: Pull complete                                                     
Status: Downloaded newer image for enigmampc/enigma_contract:latest             

latest: Pulling from enigmampc/enigma_km_sw                                     
898c46f3b1a1: Pull complete                                                     
63366dfa0a50: Pull complete                                                     
041d4cd74a92: Pull complete                                                     
6e1bee0f8701: Pull complete                                                     
b353ca46611d: Extracting [||||||||-------------------------------] 21%          
fed736e45d30: Download complete                                                 
02b2efcc27a6: Download complete                                                 
9de315aae6c9: Download complete                                                 
2d7bfbc88ca3: Download complete                                                 
db13c76e8725: Download complete                                                 
ba836b999cea: Download complete                                                 
e460224a7797: Download complete                                                 
cf93077dc0b3: Download complete                                                 
348d441122eb: Download complete                                                 
7146b437e109: Download complete                                                 
cdb867d2d813: Download complete                                                 
592e18a561c0: Download complete                                                 
9f5871e7c923: Downloading [|||||----------------------------------] 14%         
c3ebcbdb9193: Download complete                                                 
3d278d186574: Download complete                                                 
undefined:1
{"status":"Downloading","progressDetail":{"current":136813180,"total":1032737123},"progress":"[======\u003e                     
                                                                                                                                

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at /Users/Mitsu/.nvm/versions/node/v11.15.0/lib/node_modules/@enigmampc/discovery-cli/src/docker.js:14:23
    at Array.forEach (<anonymous>)
    at IncomingMessage.stream.on (/Users/Mitsu/.nvm/versions/node/v11.15.0/lib/node_modules/@enigmampc/discovery-cli/src/docker.js:11:29)
    at IncomingMessage.emit (events.js:193:13)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:276:11)
    at IncomingMessage.Readable.push (_stream_readable.js:231:10)
    at HTTPParser.parserOnBody (_http_common.js:126:22)
    at Socket.socketOnData (_http_client.js:447:22)
    at Socket.emit (events.js:193:13)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:276:11)
    at Socket.Readable.push (_stream_readable.js:231:10)
    at Pipe.onStreamRead (internal/stream_base_commons.js:154:17)

Unresolved import `std::slice::Join` error with 'discovery compile'

Hey, I updated to the latest discovery-cli version at 0.0.28 and then started getting this error on discovery compile:

Compiling eng-wasm v0.1.6
error[E0432]: unresolved import 'self::std::slice::Join'
  --> /Users/lauraweindorf/.cargo/registry/src/github.com-1ecc6299db9ec823/eng-wasm-0.1.6/src/internal_std.rs:11:9
   |
11 | pub use self::std::slice::Join;
   |         ^^^^^^^^^^^^^^^^^^^^^^ no 'Join' in 'slice'

error[E0432]: unresolved import 'self::std::slice::Join'
  --> /Users/lauraweindorf/.cargo/registry/src/github.com-1ecc6299db9ec823/eng-wasm-0.1.6/src/internal_std.rs:11:9
   |
11 | pub use self::std::slice::Join;
   |         ^^^^^^^^^^^^^^^^^^^^^^ no 'Join` in `slice'

error: aborting due to previous error

For more information about this error, try 'rustc --explain E0432'.
error: Could not compile 'eng-wasm'.

I noticed that this version of discovery-cli is using a later version of eng-wasm (0.1.6) as opposed to 0.1.3. NOTE: the simple_addition secret contract's Cargo.toml is still using the earlier versions. Not sure if those versions should be updated to 0.1.6 though.

[package]
name = "contract"
version = "0.1.0"

[dependencies]
eng-wasm = "0.1.3"
eng-wasm-derive = "0.1.3"

[lib]
crate-type = ["cdylib"]

[profile.release]
panic = "abort"
lto = true
opt-level = "z"

I did some research on std::slice::Join and noticed that it's experimental and thought it might be in a more recent nightly build than what's being used in the latest release of discovery-cli.

After changing constants.js to use the latest rust nightly build and recreating my project with discovery init, it's now using the more recent toolchain (rustc 1.39.0 and nightly 09-20-2019 build). The simple_addition project compiles. I was able to migrate and run discovery test successfully too.

Not suggesting what the correct solution is, but just wanted to let you guys know what my experience was in case that's helpful.

I suspect devs will start having this issue after updating to the 0.0.28 version, unless something's wacky in my environment, which is totally possible :-P.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.