Commit Graph

2878 Commits

Author SHA1 Message Date
Iuri Matias 50740211da
cherry-pick features/react-routes 2018-10-23 10:21:39 +02:00
Iuri Matias 4e30ddeb1b
fix rebase issues 2018-10-23 10:21:39 +02:00
Richard Ramos 8da0d60b42
Fixing function invokation and result showing
- Booleans weren't being sent correctly (it always assumed true)
- Booleans now are shown on the results
- Handling result visualization when there's more than one parameter
2018-10-23 10:21:39 +02:00
Richard Ramos 42db8258e0
Allows copying commands to clipboard 2018-10-23 10:21:38 +02:00
Richard Ramos 92f1ac7576
Verifying if contract can be deployed or not 2018-10-23 10:21:38 +02:00
Richard Ramos 56afed906a
Added event to obtain list of contracts and show them on the dashboard 2018-10-23 10:21:38 +02:00
Richard Ramos 502d2c0dec
Handling errors and UI reorganization / features
- UI shows error screen if contract doesn't exist or fails fetching data
- Menu shows selected state and icons can be specified
- Component created for card alerts
2018-10-23 10:21:38 +02:00
Richard Ramos 1528dd9022
Added section to embark backend tab 2018-10-23 10:21:38 +02:00
Iuri Matias 05f0fef46d
track original filepath of the contract 2018-10-23 10:21:37 +02:00
Iuri Matias 4f51a3cf84
add event and API endpoint to get the contract sourcecode 2018-10-23 10:21:37 +02:00
Iuri Matias 23bd2c91a7
add event and API end poitn to get the JSON info of a contract 2018-10-23 10:21:37 +02:00
Iuri Matias 21440505e1
first stab a backend tab 2018-10-23 10:21:37 +02:00
Iuri Matias ad7b0fc74e
add api registration to plugin 2018-10-23 10:21:37 +02:00
Richard Ramos c393754c52
Moving components 2018-10-23 10:21:36 +02:00
Richard Ramos 3de60ef0c7
Components for Contract UI 2018-10-23 10:21:36 +02:00
Iuri Matias 6c88ebd874
move logger api call into logger 2018-10-23 10:21:36 +02:00
Iuri Matias 9ed4922367
move console api call into console 2018-10-23 10:20:09 +02:00
Iuri Matias 26d7e42218
move dashboard api into dashboard module 2018-10-23 10:20:09 +02:00
Iuri Matias 8b261cbc04
add api registration to plugin 2018-10-23 10:20:09 +02:00
Iuri Matias 09390276bc
fix ws send; attempt to fix missing contractsState in ws 2018-10-23 10:20:09 +02:00
Iuri Matias be68625c01
add dashboard endpoint 2018-10-23 10:20:08 +02:00
Iuri Matias 8bf344e4a0
send & parse JSON in the ws calls; add cb to avoid crash due to unavailable connection 2018-10-23 10:20:08 +02:00
Iuri Matias 5de1c6e539
trigger log events for all log levels 2018-10-23 10:20:08 +02:00
Iuri Matias ceb107f43b
send logs to ws 2018-10-23 10:20:08 +02:00
Iuri Matias 7bd6b9da8f
add basic ws functionality 2018-10-23 10:20:08 +02:00
Iuri Matias 0917acb02f
add 2nd endpoint to webserver; use express 2018-10-23 10:17:29 +02:00
Richard Ramos 246f24ef54
Changes based on code review
- Style changes for not requiring "else" in handlebar helpers
- Changed build to async
2018-10-23 10:17:29 +02:00
Richard Ramos 457d78815f
Fixing template 2018-10-23 10:17:28 +02:00
Richard Ramos f687b9880e
Reorganizing template 2018-10-23 10:17:28 +02:00
Richard Ramos 2d1d9994ad
Simplified error handling 2018-10-23 10:17:28 +02:00
Richard Ramos 152cf4c87b
Uncommented error throwing 2018-10-23 10:17:28 +02:00
Richard Ramos 8f1e19f1a2
Fixed plugin loading logic 2018-10-23 10:17:28 +02:00
Richard Ramos 1e4aa12665
Added payable functionality 2018-10-23 10:17:28 +02:00
Richard Ramos cdf34fa6ca
Disabling button while loading 2018-10-23 10:17:27 +02:00
Richard Ramos ca86a58244
Base logic for invoking send functions and showin results 2018-10-23 10:17:27 +02:00
Richard Ramos cab6b889b5
Alert for error invoking functions 2018-10-23 10:17:27 +02:00
Richard Ramos a247c43080
Form generation for view/constant/pure functions 2018-10-23 10:17:27 +02:00
Richard Ramos 83644b939f
Importing contract and bootstrap css 2018-10-23 10:17:27 +02:00
Richard Ramos 1dc513cdec
JS generation + embark.json configuration update 2018-10-23 10:17:27 +02:00
Richard Ramos 3d9dc2abe9
Addid basic templating to start building UI from here 2018-10-23 10:17:26 +02:00
Richard Ramos 2aa00a415b
Adding base command logic for scaffolding generation 2018-10-23 10:17:26 +02:00
Iuri Matias 713268538d
remove engine param 2018-10-23 10:15:47 +02:00
Iuri Matias f328be7ba5
remove console log 2018-10-23 10:15:46 +02:00
Anthony Laibe 99a38b08c8
Adding ipns 2018-10-23 10:15:46 +02:00
Anthony Laibe 6a3e8081a5
Add ipns resolve 2018-10-23 10:15:46 +02:00
Iuri Matias 3a532a05e8
move processes into core 2018-10-23 10:15:29 +02:00
Iuri Matias ac4b74588e
move intercept logs to utils 2018-10-23 10:15:29 +02:00
Iuri Matias 1e7f0ada5b
move blockchain connection code to its own module 2018-10-23 10:15:29 +02:00
Iuri Matias ad994ec393
get blockchain object from event bus 2018-10-23 10:14:36 +02:00
Iuri Matias 591dbf259f
rename blockchain connector 2018-10-23 10:14:03 +02:00
Iuri Matias 30f25ef389
clean up 2018-10-23 10:14:03 +02:00
Iuri Matias bae3ee884d
move code generator to a module 2018-10-23 10:14:03 +02:00
Iuri Matias c2002e16fe
move deployment to module 2018-10-23 10:14:03 +02:00
Iuri Matias 40021f968a
move contract deployer to deploy manager 2018-10-23 10:14:02 +02:00
Iuri Matias faf83ee16c
fix library manager init 2018-10-23 10:14:02 +02:00
Iuri Matias 9c04dd8c59
add missing utils 2018-10-23 10:14:02 +02:00
Iuri Matias c6f7658dc0
cleanup 2018-10-23 10:14:02 +02:00
Iuri Matias 90965f9a63
update to fix tests 2018-10-23 10:14:02 +02:00
Iuri Matias b43bda19d5
move graph into a module 2018-10-23 10:14:02 +02:00
Iuri Matias 75d85d57c0
move code runner to core modules 2018-10-23 10:14:01 +02:00
Iuri Matias e69ec3b7f1
move proxy out of core 2018-10-23 10:14:01 +02:00
Iuri Matias 621dee5840
rename process manager 2018-10-23 10:14:01 +02:00
Iuri Matias 326defc2f4
move process files into processes folder 2018-10-23 10:14:01 +02:00
Iuri Matias d459a83d28
move blockchain process related files into blockchain module 2018-10-23 10:14:01 +02:00
Iuri Matias 1011d136a8
remove debug 2018-10-23 10:14:01 +02:00
Iuri Matias 75551aa005
first stab at refactor blockchain launcher 2018-10-23 10:14:00 +02:00
Michael Bradley, Jr c0259e3ecb
proxy -- canonicalHost, defaultHost 2018-10-23 10:14:00 +02:00
Michael Bradley, Jr dd4bb22da5
blockchain -- defaultHost, dockerHostSwap 2018-10-23 10:14:00 +02:00
Michael Bradley, Jr f4b6dd420d
simulator -- defaultHost, dockerHostSwap 2018-10-23 10:14:00 +02:00
Jonathan Rainville 972ebe07cd
only enabble register in dev 2018-10-23 10:13:59 +02:00
Jonathan Rainville d30faa6b05
put register function in another module that can be used by embark and embark js 2018-10-23 10:12:13 +02:00
Jonathan Rainville 2484f9c72b
fix using only_owner 2018-10-23 10:12:13 +02:00
Jonathan Rainville ead79cd77f
fix lookup and also enable lookup for new subdomains 2018-10-23 10:11:37 +02:00
Jonathan Rainville 9125fe82d9
add function to register the domains from config 2018-10-23 10:09:59 +02:00
Jonathan Rainville fe00535bd9
add new blockchain event 2018-10-23 10:09:59 +02:00
Jonathan Rainville 0e93e75aba
conflict in embark js 2018-10-23 10:09:59 +02:00
Jonathan Rainville f43281bf42
conflict in lock 2018-10-23 10:09:59 +02:00
Jonathan Rainville c67a9ddf58
very wip working register 2018-10-23 10:09:23 +02:00
Anthony Laibe a4622c5ce4
Add dedicated writer for string result 2018-10-23 10:08:00 +02:00
Anthony Laibe f7c280b693
Use console and override evaluator 2018-10-23 10:08:00 +02:00
Michael Bradley, Jr f2cdd4d556
more conservative: only modify webpack's subclass of ProcessWrapper 2018-10-23 10:08:00 +02:00
Michael Bradley, Jr 0fdedf093c
env options property doesn't need to be passed to ProcessLauncher 2018-10-23 10:08:00 +02:00
Michael Bradley, Jr 567e4c8859
simplify ternary re: `__mainContext` and `this` 2018-10-23 10:07:59 +02:00
Michael Bradley, Jr b823b6ebca
mainContext -- fallback to `this`, then `self`, then `undefined` 2018-10-23 10:07:59 +02:00
Michael Bradley, Jr 54cb69f3db
propagate env 2018-10-23 10:05:25 +02:00
Michael Bradley, Jr c587cbdfa6
check for self 2018-10-23 10:05:25 +02:00
Anthony Laibe 7268a419c1
Adding profile command 2018-10-23 10:05:24 +02:00
Anthony Laibe 90e1476888
Remove code dependencies to underscore 2018-10-23 10:05:24 +02:00
Anthony Laibe 30f9166aa8
Use global in repl 2018-10-23 10:05:24 +02:00
Anthony Laibe cf0dc06818
nodashboard start a repl 2018-10-23 10:05:24 +02:00
Anthony Laibe 6dc9bdcfd2
Add on exit 2018-10-23 10:05:24 +02:00
Anthony Laibe 8df718cf3c
Replace light monitor by REPL 2018-10-23 10:05:24 +02:00
Anthony Laibe 797845c791
Adding light monitor 2018-10-23 10:05:23 +02:00
Michael Bradley, Jr 64eb955f02
set the host flag for ganache-cli 2018-10-23 10:05:23 +02:00
Michael Bradley, Jr 79eff4a856
rm commented code and extra whitespace 2018-10-23 10:05:23 +02:00
Michael Bradley, Jr cd9e715c6f
disable dead code path -- ganache will never be falsy 2018-10-23 10:05:23 +02:00
Michael Bradley, Jr 8e604f95b6
dont' need shelljs.which, can directly invoke embark's node_modules/.bin/ganache-cli 2018-10-23 10:05:23 +02:00
Jonathan Rainville d84ac05376
fix the indexOf instead by simulating what solc does 2018-10-23 10:05:22 +02:00
Jonathan Rainville 19ff41c4c3
fix duplicate dependencies and warn correctly for length 2018-10-23 10:05:22 +02:00
Michael Bradley, Jr 1e585e5186
include old `const ganache =` line in original pos wrt disabled code 2018-10-23 10:05:22 +02:00
Michael Bradley, Jr c6cc8ed8e3
comment out `testrpc` (no-unused-vars) 2018-10-23 10:05:22 +02:00
Michael Bradley, Jr e1aee21d08
Embark's own ganache-cli will always be found 2018-10-23 10:05:22 +02:00
Michael Bradley, Jr 2784303145
embark-ganache-cli -> ganache-cli-embark 2018-10-23 10:05:21 +02:00
Jonathan Rainville 6203ad3530
fix ens by using right addres depending on chain and also add isAvailable 2018-10-23 10:05:21 +02:00
Michael Bradley, Jr d0778555d1
always use Embark's own ganache-cli (embark-ganache-cli) 2018-10-23 10:05:21 +02:00
Iuri Matias 4877bb4956
fix plugin call 2018-10-23 10:05:20 +02:00
Iuri Matias a1e72e38ef
re-add register upload cmd api; refactor storage module initialization 2018-10-23 10:05:20 +02:00
Iuri Matias bd13626d49
fix logger 2018-10-23 10:05:20 +02:00
Iuri Matias 1564a2c511
check ipfs connection before attempting to connect 2018-10-23 10:05:19 +02:00
Iuri Matias fdfa474588
remove no longer used plugin cmd api 2018-10-23 10:05:19 +02:00
Jonathan Rainville 0f18c5caf1
display gas cost of each test 2018-10-23 10:05:08 +02:00
Jonathan Rainville 96419f6856
fix miner 2018-10-23 10:03:26 +02:00
Jonathan Rainville 7f6e77b65b
make it work 2018-10-23 10:03:26 +02:00
Jonathan Rainville 5e836dfb0f
change fund account function 2018-10-23 10:03:26 +02:00
Jonathan Rainville 419bfe4996
add geth miner. Needs to change eth and web3 2018-10-23 10:03:26 +02:00
Jonathan Rainville 92429ec694
revert caca code 2018-10-23 10:03:25 +02:00
RJ Catalano a682f754e9
fix line 2018-10-23 10:03:03 +02:00
VoR0220 35cad02b71
catch errors and handle gracefully in ENS 2018-10-23 10:03:03 +02:00
emizzle 86480440b1
Updated online/offline event checks so they are run during initialisation.
Changed the online event to `once` and set it to be bound every time the node goes offline.

The above changes handle the case where:
1) `embark run` runs and starts geth.
2) geth is killed manually
3) `embark blockchain` is run in separate process to restart geth
4) the `embark run` process detects this change and restarts the web3 provider and recompiles/deploys/builds

Every time `embark blochain` is restarted, an error is appended and all are emitted from the `eth-block-tracker`. This is a bug but can't figure out where it originates. The downside is that if, for example, `embark blockchain` is restarted 4 times, there will be 4 errors emitted from the `eth-block-tracker`. Because of this, errors emitted from `eth-block-tracker` have been reduced to trace to avoid clogging the logs.
2018-10-23 10:03:03 +02:00
emizzle 80e323bdd3
Handle geth process exit via crash/kill and also via killing `embark blockchain`
First case - run `embark run` which starts a blockchain node, then manually kill the `geth` process. Would throw `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` error and ruins the dashboard.

Second case, 1) run `embark blockchain` 2) run `embark run` 3) kill `embark blockchain` throws the error `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` and ruins the dashboard.

The first case was solved by having the child blockchain process that spawns geth listen for geth exit, then kill itself.

The second case required updating of `eth-block-tracker` to v4.0.1 inside of the `embark-web3-provider-engine`. v4.0.1 was a major version update and introduced breaking changes. Those changes were handled inside of `embark-web3-provider-engine`, covered in **blocker** PR https://github.com/jrainville/provider-engine/pull/1.
2018-10-23 10:03:03 +02:00
Richard Ramos 23eee6e19b
Fix for skip-undeployed is not specified 2018-10-23 10:03:03 +02:00
Jonathan Rainville bab0b71831
fix tests using new dependencies 2018-10-23 10:01:55 +02:00
Jonathan Rainville 38f32804f9
make groups of dependencyCount to do async by group 2018-10-23 10:01:55 +02:00
VoR0220 f2feff597f
callback fixes and get rid of resolver interface
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-10-23 10:01:54 +02:00
VoR0220 592e4db762
more unnecessary contracts gotten rid of, and fixes made to Embarkjs file
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-10-23 10:01:54 +02:00
VoR0220 ac6c741a15
get rid of unnecessary contracts for this iteration
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-10-23 10:01:54 +02:00
VoR0220 6efb5eee9d
add ens contracts
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
2018-10-23 10:00:30 +02:00
Iuri Matias 31a3fbef66
fixes due to bad rebase 2018-10-23 10:00:30 +02:00
Iuri Matias b3ccaa3b8a
fixes due to bad rebase 2018-10-23 09:57:47 +02:00
Iuri Matias f873a26caf
fixes due to bad rebase 2018-10-23 09:57:47 +02:00
Iuri Matias f02de020de
fixes due to bad rebase 2018-10-23 09:57:47 +02:00
Richard Ramos 94eca4751a
Addid basic templating to start building UI from here 2018-10-23 09:57:16 +02:00
Richard Ramos 8861588726
Adding base command logic for scaffolding generation 2018-10-23 09:57:16 +02:00
Anthony Laibe 1800f506b1
Add IPNS demo 2018-10-23 09:57:16 +02:00
Iuri Matias 663dac6009
move processes into core 2018-10-23 09:56:18 +02:00
Iuri Matias 43448f62ef
move blockchain connection code to its own module 2018-10-23 09:56:18 +02:00
Iuri Matias 0585c5b3eb
move blockchain process to own module 2018-10-23 09:55:10 +02:00
Iuri Matias db7f3d39d3
first stab at refactor blockchain launcher 2018-10-23 09:55:10 +02:00
Jonathan Rainville d5b224eee7
only enabble register in dev 2018-10-23 09:53:47 +02:00
Jonathan Rainville e95efbfc54
small cleanups 2018-10-23 09:53:47 +02:00
Jonathan Rainville 5a842c9b70
if no register config, dont register anything 2018-10-23 09:53:26 +02:00
Anthony Laibe 9fe14a0790
Remove code dependencies to underscore 2018-10-23 09:52:57 +02:00
Jonathan Rainville 0bbc1f89b6
remove provider-engine as it has been creating lots of issues 2018-10-23 09:52:57 +02:00
Jonathan Rainville 7b5e88a6a9
wip fixes 2018-10-23 09:52:40 +02:00
Jonathan Rainville bc837848d2
conflict in package json 2018-10-23 09:51:58 +02:00
emizzle 90be6125db
Removed p-iteration from embark altogether.
Replaced usage in storage module (on dapp side) with async.js `detectSeries`
2018-10-23 09:51:58 +02:00
Iuri Matias 4e881cd291
rebase fixes 2018-10-23 09:51:58 +02:00
Iuri Matias 8ed808a101
fixes due to bad rebase 2018-10-23 09:47:41 +02:00
Iuri Matias 95df68e67c
fixes due to bad rebase 2018-10-23 09:46:40 +02:00
Iuri Matias 6fac1f297d
fixes due to bad rebase 2018-10-23 09:42:59 +02:00
Iuri Matias c4ea6abc4b
fixes due to bad rebase 2018-10-23 09:42:59 +02:00
Iuri Matias 2e3102444d
fixes due to bad rebase 2018-10-23 09:42:58 +02:00
Richard Ramos fdb2d4aed3
Changes based on code review
- Style changes for not requiring "else" in handlebar helpers
- Changed build to async
2018-10-23 09:42:10 +02:00
Richard Ramos 2c18caf481
Fixing template 2018-10-23 09:42:10 +02:00
Richard Ramos 04ad83aee3
Reorganizing template 2018-10-23 09:42:10 +02:00
Richard Ramos 6dfd31639a
Simplified error handling 2018-10-23 09:42:10 +02:00
Richard Ramos 995b067f63
Uncommented error throwing 2018-10-23 09:42:10 +02:00
Richard Ramos 6f249df4bf
Fixed plugin loading logic 2018-10-23 09:42:09 +02:00
Richard Ramos 435b18d074
Added payable functionality 2018-10-23 09:42:09 +02:00
Richard Ramos c562128365
Disabling button while loading 2018-10-23 09:42:09 +02:00
Richard Ramos d19bcdcbf9
Base logic for invoking send functions and showin results 2018-10-23 09:42:09 +02:00
Richard Ramos 10c5b64b1c
Alert for error invoking functions 2018-10-23 09:42:09 +02:00
Richard Ramos e7d435f03d
Handling boolean parameters 2018-10-23 09:42:08 +02:00
Richard Ramos d80d16f4ca
Form generation for view/constant/pure functions 2018-10-23 09:42:08 +02:00
Richard Ramos 8acf136c01
Importing contract and bootstrap css 2018-10-23 09:42:08 +02:00
Richard Ramos c4961d69b6
JS generation + embark.json configuration update 2018-10-23 09:42:08 +02:00
Richard Ramos d1dd890407
Addid basic templating to start building UI from here 2018-10-23 09:42:08 +02:00
Richard Ramos 0eaafb77f1
Adding base command logic for scaffolding generation 2018-10-23 09:42:08 +02:00
Iuri Matias 6d0f4b67ae
move processes into core 2018-10-23 09:41:26 +02:00
Iuri Matias b8cbee460b
move blockchain connection code to its own module 2018-10-23 09:41:26 +02:00
Iuri Matias a0f209745f
move accountParser to utils 2018-10-23 09:39:03 +02:00
Iuri Matias 8136759bbb
refactor blockchain check 2018-10-23 09:39:03 +02:00
Iuri Matias 94422cd893
re-add events 2018-10-23 09:39:03 +02:00
Iuri Matias 91cc554978
cleanup 2018-10-23 09:39:03 +02:00
Iuri Matias 14ac24d657
move process files into processes folder 2018-10-23 09:39:02 +02:00
Iuri Matias c8fc515c03
move blockchain process related files into blockchain module 2018-10-23 09:39:02 +02:00
Iuri Matias c5d9a759af
move blockchain process to own module 2018-10-23 09:39:02 +02:00
Iuri Matias 4406dddf1e
first stab at refactor blockchain launcher 2018-10-23 09:39:02 +02:00
Michael Bradley, Jr d4940a339a
proxy -- canonicalHost, defaultHost 2018-10-23 09:37:24 +02:00
Michael Bradley, Jr fc27e710fc
blockchain -- defaultHost, dockerHostSwap 2018-10-23 09:37:24 +02:00
Michael Bradley, Jr a29d78cc5a
simulator -- defaultHost, dockerHostSwap 2018-10-23 09:37:24 +02:00
Jonathan Rainville 931f56db7d
only enabble register in dev 2018-10-23 09:37:24 +02:00
Jonathan Rainville 5488961a1e
small cleanups 2018-10-23 09:37:06 +02:00
Jonathan Rainville 81557258ce
pre-dploy using the same function as register 2018-10-23 09:07:19 +02:00
Jonathan Rainville 2cd11715bb
if no register config, dont register anything 2018-10-23 09:05:00 +02:00
Anthony Laibe 424d375f87
Remove code dependencies to underscore 2018-10-23 09:03:32 +02:00
Michael Bradley, Jr 0629f757a9
rm commented code and extra whitespace 2018-10-23 09:03:31 +02:00
Jonathan Rainville 3dcee19002
fix the indexOf instead by simulating what solc does 2018-10-23 09:03:31 +02:00
Jonathan Rainville 31162882c7
fix duplicate dependencies and warn correctly for length 2018-10-23 09:03:31 +02:00
Michael Bradley, Jr 15159e4ef3
Embark's own ganache-cli will always be found 2018-10-23 09:03:31 +02:00
Andre Medeiros 00410b7057
Fix failing test on blockchain 2018-10-23 09:03:30 +02:00
Jonathan Rainville 7e16691aa6
fix webserver errors 2018-10-23 09:02:41 +02:00
Iuri Matias 62c46063b3
refactor install template code 2018-10-23 09:02:41 +02:00
Iuri Matias aebc2a9b28
add support to download a template 2018-10-23 09:02:40 +02:00
Jonathan Rainville 3ca70d6e21
remove provider-engine as it has been creating lots of issues 2018-10-23 09:02:40 +02:00
Jonathan Rainville da82c2eba2
wip fixes 2018-10-23 09:02:15 +02:00
Jonathan Rainville 8572019957
fix when using mining script 2018-10-23 09:01:14 +02:00
Jonathan Rainville 91a7cc1a44
only put isDev when specifically set 2018-10-23 09:01:14 +02:00
Jonathan Rainville cb80b984d0
revert caca code 2018-10-23 09:01:14 +02:00
Jonathan Rainville 966252be97
conflict in package json 2018-10-23 09:01:13 +02:00
emizzle 3a145d4204
Removed p-iteration from embark altogether.
Replaced usage in storage module (on dapp side) with async.js `detectSeries`
2018-10-23 09:01:13 +02:00
emizzle c83b6dde60
Handle geth process exit via crash/kill and also via killing `embark blockchain`
First case - run `embark run` which starts a blockchain node, then manually kill the `geth` process. Would throw `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` error and ruins the dashboard.

Second case, 1) run `embark blockchain` 2) run `embark run` 3) kill `embark blockchain` throws the error `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` and ruins the dashboard.

The first case was solved by having the child blockchain process that spawns geth listen for geth exit, then kill itself.

The second case required updating of `eth-block-tracker` to v4.0.1 inside of the `embark-web3-provider-engine`. v4.0.1 was a major version update and introduced breaking changes. Those changes were handled inside of `embark-web3-provider-engine`, covered in **blocker** PR https://github.com/jrainville/provider-engine/pull/1.
2018-10-23 09:01:13 +02:00
Jonathan Rainville 8db33705c2
hotfix: rename event to blockchain:ready 2018-10-22 20:50:58 +02:00
Jonathan Rainville b6d89d9001
hotfix: fix empty assets array 2018-10-22 20:26:01 +02:00
emizzle 559c7152f7
Return early when error 2018-10-22 19:54:50 +02:00
emizzle 178115de18
Removed `mineWhenNeeded` condition
Removed a condition that detects if `mineWhenNeeded === true`. While reaslistically, the `defaultAccount` will only be populated when `mineWhenNeeded` is set, there is no need to check for this when falling back to the blockchain account.
2018-10-22 19:54:50 +02:00
emizzle 294e14446f
Auto set swarm account to account controlled by the node
When there is no account/password specified for swarm, there was an error shown in the logs (asking for address/password), and the swarm process would quit.

This PR changes the behaviour so that if a swarm address/password are not specified in the config, it attempts to use the blockchain address/password specified in `config/blockchain > account`. If `config/blockchain > account > address` doesn’t exist, the first account controlled by the node is used (provided by `web3.eth.getAccounts`, along with the password from `config/blockchain > account > password`.
2018-10-22 19:54:50 +02:00
emizzle 3437f80a89
Return early if no modified assets 2018-10-22 19:54:50 +02:00
Jonathan Rainville 5b1a226885
Update null check for `modifiedAssets` array.
Co-Authored-By: emizzle <ericmastro@status.im>
2018-10-22 19:54:49 +02:00
emizzle 7c9d90090a
Replaced async.queue with async.cargo
Cargo in fact, bundles up subsequent tasks in to an array, so any tasks that are not immediately run get bundled in to another run later. This helps when lots of changes have been made in a short period of time.
2018-10-22 19:54:49 +02:00
emizzle e788b7d3d4
Reduce async.queue concurrency to 3
Due to a process being spawned for every pipeline run, concurrency should remain around 3 to keep number of child processes from running away and allowing the CPU to stay on top.
2018-10-22 19:54:49 +02:00
Michael Bradley, Jr 6eae7a9a31
use a customized require/.resolve instead of relying on NODE_PATH
# Conflicts:
#	cmd/cmd.js
2018-10-22 19:54:49 +02:00
emizzle 64fdc691c4
Clean up 2018-10-22 19:54:49 +02:00
emizzle 91e5e9c990
Do not run webpack for file changes that do not need webpack
For file changes that do not require a webpack run, ie HTML, the assets will still be copied to the output directory, but webpack will not run (as it’s too slow).
2018-10-22 19:54:48 +02:00
emizzle 7e75b1eee7
Add support for ES6 plugins 2018-10-22 19:54:48 +02:00
emizzle 2d19d12e39
Support for embark-status plugin
Added request to update cors from a plugin (affects blockchain client and storage client).
2018-10-22 19:54:48 +02:00
hodlbank 870d9a814a
[f] Fixes #965 - "Console doesnt have contract objects for contracts with pre-defined addresses configured".
[f] Fix for sometimes incorrect empty code detection in contract_deployer.js ("0x" vs "0x0").
2018-10-22 19:54:48 +02:00
Jonathan Rainville 985358b088
fix web3 being reseted every test and fix ens failing on web3 reset 2018-10-22 19:54:48 +02:00
Jonathan Rainville ce3f9bdf25
fix a couple of bugs caused by bounties 2018-10-22 19:54:48 +02:00
Jonathan Rainville 7a70f5df26
use constants instead of magic numbers 2018-10-22 19:54:47 +02:00
Jonathan Rainville fe0b84349a
update noserver and nobrowser and fix noserver 2018-10-22 19:54:47 +02:00
Jonathan Rainville 75d9998c57
refactor to not use the blockchain_connector directly 2018-10-22 19:54:47 +02:00
Jonathan Rainville e450c0484a
fix error in solc-tests 2018-10-22 19:54:46 +02:00
Jonathan Rainville c6aa19a772
use this instead of self 2018-10-22 19:54:46 +02:00
Jonathan Rainville ac9dbdd1d6
conflict in test 2018-10-22 19:54:46 +02:00
Jonathan Rainville ac155ddb86
conflict in specialconfigs 2018-10-22 19:54:46 +02:00
Jonathan Rainville f4d7636b7a
make code coverage work with refactored tests 2018-10-22 19:54:45 +02:00
Jonathan Rainville 7516bad619
use blockchain_connector's provider for nodes 2018-10-22 19:54:45 +02:00
Jonathan Rainville 5a5485d447
get rid of dependency on web3 2018-10-22 19:54:45 +02:00
Jonathan Rainville ddc8b36329
make tests work by using events 2018-10-22 19:54:45 +02:00
Jonathan Rainville ca3aea7923
BROKEN: solc doesnt load 2018-10-22 19:54:45 +02:00
Jonathan Rainville 3c0bcb18b8
rename events to use a tests prefix 2018-10-22 19:54:44 +02:00
Jonathan Rainville e8574f33eb
conflict in run_tests 2018-10-22 19:54:44 +02:00
Jonathan Rainville e6cad1675a
move test files to a module folder 2018-10-22 19:54:44 +02:00
Andre Medeiros 7104c18b83
Only disable optimizations with coverage.
This means that any test runs without coverage will run optimized
Solidity code instead.
2018-10-22 19:54:44 +02:00
Anthony Laibe 27973461b1
In case of ws, use the connected attribute
Instead of relying on non reliable source, directly
check the ws status
2018-10-22 19:54:44 +02:00
Cryptomental 47dcb1552c
console, dashboard: Add persistent, automatically loaded history.
Add persistent automatically loaded history file for repl console
and Embark dashboard.

Default location of the history file is stored in DEFAULT_CMD_HISTORY_PATH
pointing to DAPP_PATH/.embark/cmd_history.

The history is automatically saved and loaded on startup.

test/console: Pass Embark object to constructor.

Update console test to pass Embark object to constructor.

Refs: https://github.com/embark-framework/embark/issues/939
2018-10-22 19:54:43 +02:00
emizzle 5fe746df51
Add message warning user a password is needed to unlock
When `mineWhenNeeded` is true (occurs in zero-config) and an account on the node exists, a password is required to be specified `config/blockchain.js > account > password` so that the existing account can be unlocked by geth (the `—unlock` cli option).
2018-10-22 19:54:43 +02:00
Dan Lipert 898ecfe293
Accept standard Ether units and update/add tests 2018-10-22 19:54:43 +02:00
Michael Bradley, Jr 4812a0d1a2
additional warning re: potential version incompatibility 2018-10-22 19:53:50 +02:00
Subramanian Venkatesan f686fec74a
ens resolve 2018-10-22 19:53:50 +02:00
Michael Bradley, Jr 0f6e84bca3
return in the catch branch so the control flow is more clear 2018-10-22 19:53:49 +02:00
Michael Bradley, Jr b9e592ae2e
color retry message yellow 2018-10-22 19:53:49 +02:00
Michael Bradley, Jr 1f47b163e4
auto-retry download with master branch
a fallback download of the master branch is attempted only for unqualified
template names
2018-10-22 19:53:49 +02:00
Giuseppe Bertone 81e798c89c
Add support for Parity
Addons
 - New chain initialization and genesis management
 - Option to choose client to use
 - Option to "ping forever" for Geth
 - Creation and unlock of accounts at client's start
 - Utility to fund accounts with ethers
 - Miner settings inside the ethereum client
 - Workaround to CORS problem: origin is now http://embark
 - Several double callback's checks

Updates
 - Boilerplate, templates, configuration files and demo stuff
 - Messages and i18n strings
 - Tests

Fixes
 - Geth client now uses miner.gastarget instead of the deprecated targetGasLimit
 - Workaround for shh_version with Parity

Reworks of other PRs into the new code
 - Included delayed proxy
 - Send ready only when the proxy is started
 - Start HTTP and WS proxies individually
 - Async setupProxy
 - Fixed datadir for GethMiner
2018-10-22 19:53:49 +02:00
Michael Bradley, Jr cc08a16ae3
calc a <major>.<minor> branch for unqualified template names
doesn't calc a branch if a url/shortcut is supplied that hostedGitInfo knows
how to parse

only does this for unqualified names if a committish isn't supplied, i.e.
doesn't override '#develop' in 'typescript#develop'
2018-10-22 19:43:16 +02:00
Jonathan Rainville d7cd3a72c9
add message at the end of the first ouput 2018-10-22 19:43:15 +02:00
Jonathan Rainville 9c0bff4515
remove console dir that I forgot to remove 2018-10-22 19:40:52 +02:00
Pascal Precht 80c80e9beb
fix(commands/build): don't start blockchain node when `--contracts` is used
Prior to this commit `$ embark build --contracts` spinned up a blockchain node
which is not necessary as `--contracts` can be seen as a "compile only" option.

This commit ensures we don't start any web3 services with `--contracts` is used.
2018-10-22 19:40:52 +02:00
Michael Bradley, Jr fd856f8163
PKG_PATH, pkgPath 2018-10-22 19:39:26 +02:00
hodlbank f41bcd55d6
[f] Fix for #971 - "Fatal error when Ethereum node going offline".
[a] Added .once() into Events.
2018-10-22 19:39:26 +02:00
Moksh Jain 08c140b035
added webserver logging 2018-10-22 19:39:25 +02:00
Moksh Jain 51b2cce0ea
adds dashboard logging for: geth, ipfs, swarm 2018-10-22 19:39:25 +02:00
Subramanian Venkatesan ee77ac7f7f
Adds solc option to tests. Runs smart contract tests using remix-tests
Ref: #817
2018-10-22 19:39:24 +02:00
Jonathan Rainville f71c158164
change 70000 for a constant 2018-10-22 19:35:59 +02:00
Pascal Precht d34428a129
refactor(modules/pipeline/webpackProcess): load pipeline config in Config class
to configure pipeline specific options like TypeScript support.

At the time this has been added, `core/config` didn't handle the loading
of configuration files for pipeline related tasks yet.

This commit ensures a dapp's `pipeline.json` will be loaded and used to
configure Embark's webpack process as part of Embark's `Config` initialization.
2018-10-22 19:35:59 +02:00
Pascal Precht 71e92358a8
feat(modules/watcher): introduce watcher plugin module
As part of a bigger refactoring to make Embark's build pipeline pluggable,
this commit moves the watcher into its own plugin module so it can be
consumed via Embark's event bus.

It also introduces new command handlers for all watcher related APIs respectively:

- watcher:start
- watcher:stop
- watcher:restart
2018-10-22 19:35:58 +02:00
Pascal Precht 081b7eee89
chore(blockchainProcess): improve error message when blockchain client exits early
In cases a blockchain client exits before Embark is done doing its work,
the current error message doesn't provide any pointers to why this
happened.

Running `$ embark blockchain` separately could yield more information by
the underlying process.
2018-10-22 19:35:58 +02:00
Jonathan Rainville 5f8ad923c7
use an event to get web3 instead of global 2018-10-22 19:35:58 +02:00
Pascal Precht a0ef234fea
feat(modules/pipeline): move pipeline into its own module plugin
This is the first step of refactoring Embark's pipeline abstraction into
dedicated plugin modules that take advantage of Embark's event system.

With this commit we're moving `Pipeline` into `lib/modules/pipeline` and
introduce a new command handler `pipeline:build`. Embark's engine now
requests builds via this command handler.

Notice that `Watch` still lives in `lib/pipeline` as this is a step-by-step
refactoring to reduce chances of introducing regressions.
2018-10-22 19:35:58 +02:00
Jonathan Rainville 6b4321874b
add helpful messages when ens register is rejected 2018-10-22 19:35:58 +02:00
Jonathan Rainville 623bdc50ae
make on deploy manual 2018-10-22 19:35:57 +02:00
Cryptomental bcc1711061
contract_deployer: Redeploy if track field is set to false.
Always deploy the contract regardless if already deployed
when 'track' field in the contract configuration is specified
and set to false.

In line with #938 requirements:

* If a contract has the track field set to false, that contract
  will always deploy.
* If the track field is set to true, then the existing deployment
  tracking mechanism will be active for that contract.
* If the field is not set, it should be assumed to true by default

Refs: https://github.com/embark-framework/embark/issues/938
2018-10-22 19:35:57 +02:00
Michael Bradley, Jr 115bf1387d
fix chunking problem related to dynamic import and bug re: umd 2018-10-22 19:35:57 +02:00
Michael Bradley, Jr 0c60d2e1b4
per latest babel-preset-react-app exclue transform-typeof-symbol 2018-10-22 19:35:57 +02:00
Michael Bradley, Jr b971f5bcec
in comments provide links to relevant tag not a commit 2018-10-22 19:35:57 +02:00
Michael Bradley, Jr e7aa9de8f3
TODO comment re: pipeline config 2018-10-22 19:35:56 +02:00
Michael Bradley, Jr a898bbdf18
don't waste time gzip'ing contents of babel-loader's cache 2018-10-22 19:35:56 +02:00
Michael Bradley, Jr 09734d7879
call path.basename w/ extension name to avoid e.g. `.js.1.js` 2018-10-22 19:35:56 +02:00
Michael Bradley, Jr 882271dc60
rev file name to better reflect its purpose 2018-10-22 19:35:56 +02:00
Michael Bradley, Jr ae878fd7c8
extract copy/preserve logic into a helper in lib/core/fs
preserved files should end with <number>.<ext> vs. <ext>.<number>
2018-10-22 19:35:55 +02:00
Michael Bradley, Jr 67347ae08e
babel-loader should process .ts, .tsx files when typescript is enabled 2018-10-22 19:35:55 +02:00
Michael Bradley, Jr 059635979d
pipeline.js dapp config to allow easy toggling of typescript 2018-10-22 19:35:55 +02:00
Michael Bradley, Jr 6534c30200
rev comment to provide more context/clarity 2018-10-22 19:35:55 +02:00
Michael Bradley, Jr 7e7b050ae7
raise exception if both Flow and TypeScript are enabled 2018-10-22 19:35:54 +02:00
Michael Bradley, Jr 4aedeeee9b
TypeScript support -- disabled by default 2018-10-22 19:35:54 +02:00
Michael Bradley, Jr 8c6b26f311
babel plugins, presets and their configs per babel-preset-react-app 2018-10-22 19:35:54 +02:00
Michael Bradley, Jr 6986d33da9
don't need quotes 2018-10-22 19:35:54 +02:00
Michael Bradley, Jr 6181808381
customize babel-loader behavior -- don't try to cache babel macros 2018-10-22 19:35:53 +02:00
Michael Bradley, Jr b09e702403
enabel babel-loader's default cache directory 2018-10-22 19:35:53 +02:00
Michael Bradley, Jr aa90a2c870
can use use: shortcuts for .css 2018-10-22 19:35:53 +02:00
Michael Bradley, Jr 34a3d75542
proper loader for sass (scss) 2018-10-22 19:35:53 +02:00
Michael Bradley, Jr d14f1a80a2
comment re: adaptation from babel-preset-react-app 2018-10-22 19:35:53 +02:00
Michael Bradley, Jr 39821d2617
explain babel plugin, preset order 2018-10-22 19:35:52 +02:00
Michael Bradley, Jr e2c18e6338
default webpack-overrides.js 2018-10-22 19:35:52 +02:00
Jonathan Rainville eaafa9bed2
add default account if set in config 2018-10-22 19:35:04 +02:00
Jonathan Rainville 0fb0fa0648
remove process.exits 2018-10-22 19:35:03 +02:00
Jonathan Rainville eae7784a87
fix rebase problems and now works 2018-10-22 19:35:03 +02:00
Jonathan Rainville c0d32e3581
use known addresses for ENSRegistrery 2018-10-22 19:35:03 +02:00
Jonathan Rainville 3245a65100
conflict in ens index 2018-10-22 19:35:03 +02:00
Jonathan Rainville 0c0624e463
conflict in ens index 2018-10-22 19:35:03 +02:00
Jonathan Rainville 302da3f263
conflict in ens index 2018-10-22 19:35:03 +02:00
emizzle 3e9abdcdd2
fix rebase 2018-10-22 19:33:40 +02:00
emizzle 9aa3217331
After upload message regarding CORS and public gateways 2018-10-22 19:30:13 +02:00
Iuri Matias 967703a333
restore ws functionality to webserver 2018-10-22 19:30:12 +02:00
StevenJNPearce 5917e0cb5a
Add browser reload on file change/rebuild
Add browser reload on file change/rebuild
2018-10-22 19:30:12 +02:00
emizzle f378ea55da
fix rebase #2 2018-10-22 19:30:12 +02:00
emizzle 58ba0549c4
Fix rebase 2018-10-22 19:30:12 +02:00
emizzle 381cdaa57a
fixed windows paths 2018-10-22 19:25:20 +02:00
emizzle 743c4fa8cb
Update “no account” message and hide for infura
The “no account” message was appearing when using infura as the contract deploy target. This has been changed so that this message will only show when the user has configured their environment to have a `networkType` of `testnet`, `rinkeby`, or `mainnet` and a missing `account` address and/or password.

Additionally, the warning message has been updated to help the user resolve the issue.

A flag has also been added to prevent the message from appearing multiple times.
2018-10-22 19:25:20 +02:00