810 Commits

Author SHA1 Message Date
Michael Bradley, Jr
9f2a5949c2 build: specify missing test action in relevant package.json "qa" scripts
It's a relevant `package.json` if the package has a test suite. If `test` isn't
specified then the tests won't run in CI (they have't been running).

Include a fix for one failing test in `packages/plugins/ens` and two failing
test in `packages/stack/deployment`. In all three cases, the mock embark
object's config needed a `blockchainConfig` section with `{ enabled: true }`.
2019-12-11 14:01:12 -06:00
Pascal Precht
9df24309e7 fix(@embark/ens): fix broken test due to async API
As part of 8ed5376533 we made `ENS.getEnsConfig()`
asynchronous, hence it needs a callback. This change was not done in one of the
ENS tests, resulting in the test to fail. The test mocked that particular API,
turning it into noop, which is why the test kept timing out.

This commit fixes the test by not mocking the API and adding the needed configuration
to the environment.
2019-12-11 11:34:27 -05:00
emizzle
a208db97b3 chore(@embark/embark): Change default log level
Change default log level for all embark actions (except for tests) to `info`.
2019-12-11 11:31:12 -05:00
Pascal Precht
9839e92584 fix(@cockpit/ens): ensure default account is set when registering subdomains
Prior to this commit, registering ENS subdomains would fail due to `defaultAccount`
being null. This is because the underlying API was still relying on `blockchain:defaultAccount:get`.

However since the bigger refactor, every plugin/module is in charge of creating its own
blockchain connector instance and ensuring it has a default account.

This commit makes use of ENS' module's `webDefaultAccount` async getter to
ensure a valid default account is set when registering an ENS subdomain.
2019-12-11 11:30:58 -05:00
emizzle
e72aeba892 chore(@embark/geth): Add back DevTxs
Add back DevTxs.

DevTxs sends a zero-value tx to push through any pending txs that may get stuck with geth while in `—dev` mode.

When the geth client is running, devtxs is started automatically, sending a transaction every 10 seconds.

Converted the legacy code in to typescript.
2019-12-11 11:28:21 -05:00
emizzle
acd1d72f2d fix(@embark/tests): Tests exiting early
Tests were exiting early and Mocha was reporting an exit code of 0. This allowed CI to complete as if the tests were successful.

Change `compiler:contracts` event request to `compiler:contracts:compile` and update documentation. Because the `compiler:contracts` event didn’t exist, this test was silently failing.

Update the `TestEvents` mock object to allow passing of parameters to an event that is not a callback.

Add unit tests to test for contracts loaded via node_modules.

1. This PR contains a change where any contracts loaded from node_modules will be imported in to `.embark/contracts/node_modules`. Previously, these contracts were loaded in to `.embark/node_modules` (with the `/contracts`).
2019-12-11 11:27:45 -05:00
emizzle
ad26533f4a chore(@embark/core): Set DApp plugins to load last
DApp plugins were already been setup to load last for run and test. This PR sets updates `console`, `build`, `graph`, and `upload` to do the same.
2019-12-11 11:24:40 -05:00
emizzle
8e0f8b44d1 fix(@embark/debugger): Re-enable debugger
Re-enable debugger for cockpit and console.

Add missing request `blockchain:getTransaction` required to start a debugging session.

Fix error in console when stopping a debug session.
2019-12-11 11:12:52 -05:00
emizzle
bd4b110a78 feat(@embark/whisper): Add Whisper client config
Add option in communication config to choose which Whisper client to use.

Because Parity’s implementation of Whisper is not compatible with Whisper v6, and therefore web3.js in its current form, the following changes have been made:
1. remove any functionality associated with launching a Parity Whisper process.
2. Warn the user when the Parity Whisper client has been opted for in the communication config.
3. Return an error for API calls when Parity Whisper client has been opted for in the communication config.
4. Update Cockpit’s Communication module to show errors returned from API calls.
5. Update the messaging configuration documentation for the new communication client option.
2019-12-11 11:12:18 -05:00
Pascal Precht
446197baff fix(@embark/blockchain): make disabling blockchain feature work
Users can turn of blockchain support if they want to using the blockchain.js
configuration. In practice however, this has never properly worked as several
places in Embark's codebase weren't actually honoring that configuration value.

This commit introduces the necessary changes so that disabling blockchain support will:

No longer generate blockchain related EmbarkJS artifacts
No longer try to deploy Smart Contracts but still compile them
2019-12-11 11:08:13 -05:00
Jonathan Rainville
b82a240933 fix(@embark/test): fix using --node option in tests 2019-12-11 11:05:12 -05:00
Jonathan Rainville
eae97dee4f fix(@embark/proxy): fix conflict for WS port in the proxy
This error arose when using tests parallel to Embark
2019-12-11 11:05:12 -05:00
emizzle
db0e45e96e chore(@embark/site): Add —template deprecation notice. 2019-12-11 09:39:20 -05:00
Pascal Precht
2ae46640e9 feat(@embarkjs/ens): Introduce dappConnection configuration for namesystem
This commit removes the need for `EmbarkJS.onReady()` and `EmbarkJS.Blockchain.blockchainConnector` APIs
in the ENS provider implementation and instead relies purely on vanilla `Web3`. This comes
with the effect that `EmbarkJS.Names` needs to figure out itself what to connect
to, as well as when a connection has been established.

To make that possible, `EmbarkJS.Names` now implements a similar algorithm to
`EmbarkJS.Blockchain` that tries to connect different endpoint, given a `dappConnection`
configuration.

If no `dappConnection` configuration is given via `namesystem.json`, Embark will fallback
to the same connection list that's provided in `contracts.js|json`.

wip
2019-12-09 12:07:03 +01:00
Iuri Matias
37ae942b99 chore(release): 5.0.0-alpha.3 2019-12-06 06:15:07 -05:00
Michael Bradley, Jr
6044576ca0 refactor(@embark/core): spec embark-whisper-* as deps of embark-core instead of embark
It is unnecessary and not a good idea for `packages/embark` to provide
dependencies to other monorepo packages via any kind of transitive dependency
relationship. In this case, `embark` depended on `embark-core` and
`embark-core` needs `embark-whisper-*` packages but it's `embark` that supplies
those packages indirectly. It works out in the monorepo, *probably* in
production too, but we need to move away from that pattern completely.
2019-12-05 18:47:01 -05:00
Michael Bradley, Jr
a5d06509a3 fix(@embark/core): spec embark-rpc-manager as a dependency 2019-12-05 18:03:53 -05:00
Iuri Matias
6efe791cfd chore(release): 5.0.0-alpha.2 2019-12-05 15:03:09 -05:00
Michael Bradley, Jr
6bb673ef87 style(@cockpit/utils): remove stray type annotation 2019-12-03 11:05:27 -06:00
Michael Bradley, Jr
3a3182076e build(deps-dev): bump remaining @storybook/* packages from 5.2.5 to 5.2.7 2019-11-30 15:53:19 -06:00
dependabot-preview[bot]
eb9f342868 build(deps-dev): bump @storybook/addon-knobs from 5.2.5 to 5.2.7
Bumps [@storybook/addon-knobs](https://github.com/storybookjs/storybook/tree/HEAD/addons/knobs) from 5.2.5 to 5.2.7.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v5.2.7/addons/knobs)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-30 15:53:19 -06:00
Pascal Precht
a7edca0be8 fix(@embark/core): don't exit in Engine consumer API
`Engine.startEngine(cb)` potentially exits the current process if
any registered plugins emits an error in the bootstrap phase.

This limits consumers of this API to react accordingly. Embark's APIs
should be considered library APIs that propagate errors, but let callers
decide what to do with them.

This commit ensures we keep propagating the error of `startEngine()` without
exiting the current process.
2019-11-29 12:57:19 +01:00
Michael Bradley, Jr
5f33b93b31 refactor(@embark/core): make 8547 the default port of communication provider node
Client traffic with the communication provider node, e.g. a whisper node, is
not proxied so make the default port 8547 instead of 8557. It's not a technical
problem for it to be 8557, but our convention to present has been for 855*
ports to be proxied while the upstream is an 854* port.

Update the boilerplate and demo templates to match.
2019-11-29 11:49:30 +01:00
emizzle
05a41b48de
chore(@embark/whisper): Remove CHANGELOG’s for new modules 2019-11-29 11:44:32 +01:00
Jonathan Rainville
abac9845c5 fix(@embark/whisper): fix ipc conflict on Windows with 2 Geths
Disables IPC for Whisper as it conflicts with the main process IPC
2019-11-27 11:43:13 -05:00
Jonathan Rainville
04a02af524 fix(@embark/whisper): fix whisper node printing twice because of duplicated name 2019-11-27 11:43:13 -05:00
dependabot-preview[bot]
cab1986ff5 build(deps): bump file-loader from 4.2.0 to 5.0.2
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 4.2.0 to 5.0.2.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v4.2.0...v5.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-27 09:44:38 -06:00
Michael Bradley, Jr
873890813b build(deps): remove unneeded os-locale dep in packages/embark 2019-11-27 09:44:21 -06:00
Michael Bradley, Jr
86bc69b54a build(deps-dev): remove unneeded @types/os-locale dev-dep in packages/core/i18n 2019-11-27 09:44:21 -06:00
dependabot-preview[bot]
8fa7da8eeb build(deps): bump os-locale from 3.0.1 to 4.0.0
Bumps [os-locale](https://github.com/sindresorhus/os-locale) from 3.0.1 to 4.0.0.
- [Release notes](https://github.com/sindresorhus/os-locale/releases)
- [Commits](https://github.com/sindresorhus/os-locale/compare/v3.0.1...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-27 09:44:21 -06:00
Michael Bradley, Jr
3416b051d0 build(deps): remove unused tar package 2019-11-26 15:16:40 -06:00
Michael Bradley, Jr
8ede518bd2 build(deps): bump core-js from 3.3.5 to 3.4.3 2019-11-26 15:16:29 -06:00
Michael Bradley, Jr
da7ceb8c54 build(deps/-dev): update babel and babel-related deps and devDeps to latest versions 2019-11-26 13:22:13 -06:00
Michael Bradley, Jr
92f6d41c3b fix(@cockpit): adjust table-related styling so changes in updated core-ui don't override font color 2019-11-26 13:04:09 +01:00
emizzle
4a10476e85 refactor(@embark/whisper): Remove unneeded whisper layer
1. get rid of the whisper layer and handle everything in the communication layer
2. Create a gethWhisper and a parityWhisper plugin that has the same files as packages/embark/src/lib/modules/geth, except with a whisperClient instead of gethClient, and will include most of https://github.com/embark-framework/embark/blob/master/packages/plugins/whisper/src/index.js.
3. Get rid of any whisper registration in geth.
4. In the whisperGeth and whisperParity plugins, modify the request for communication:node:register, to end up calling `startWhisperNode`
2019-11-26 12:22:05 +01:00
Michael Bradley, Jr
57db0abc69 build(deps-dev): bump react-dom from 16.9.0 to 16.12.0 2019-11-25 17:51:09 -06:00
dependabot-preview[bot]
cc0a8d8b7b build(deps-dev): bump react from 16.9.0 to 16.12.0
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) from 16.9.0 to 16.12.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.12.0/packages/react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 17:51:09 -06:00
Michael Bradley, Jr
abfa8ca50a build(deps): bump ipfs-http-client from 39.0.2 to 40.0.0
Refactor constructor call in light of breaking change in the release notes:

https://github.com/ipfs/js-ipfs-http-client/releases/tag/v40.0.0

> Multi parameter constructor options are no longer supported
2019-11-25 11:46:39 -06:00
dependabot-preview[bot]
405e4d527d build(deps-dev): bump redux-saga from 0.16.2 to 1.1.3
Bumps [redux-saga](https://github.com/redux-saga/redux-saga) from 0.16.2 to 1.1.3.
- [Release notes](https://github.com/redux-saga/redux-saga/releases)
- [Changelog](https://github.com/redux-saga/redux-saga/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redux-saga/redux-saga/compare/v0.16.2...v1.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 10:54:51 -06:00
dependabot-preview[bot]
6695ab9d23 build(deps): bump mocha from 6.2.0 to 6.2.2
Bumps [mocha](https://github.com/mochajs/mocha) from 6.2.0 to 6.2.2.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v6.2.0...v6.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 09:50:51 -06:00
Michael Bradley, Jr
4ebbb4488e fix(@embark/rpc-manager): implement missing RPC modifier for eth_sign 2019-11-22 08:29:15 -06:00
Jonathan Rainville
14dbb63775
chore(@embark/whisper): add warning if comm port is the same as node
Co-Authored-By: Eric Mastro <ericmastro@status.im>
2019-11-22 11:37:16 +01:00
Jonathan Rainville
23f9a8c49c
fix(@embark/whisper): show message when geth port is already taken 2019-11-22 11:37:08 +01:00
emizzle
dba5f771f2 fix(@embark/simulator): fix port used in simulator
When using websockets, the simulator was starting on port `8545` instead of `8546`, so the blockchain check was failing.

Update the simulator port to be websockets port from the config when using websockets.
2019-11-22 11:25:02 +01:00
emizzle
cb0f8b011e chore(@embark/whisper): improve whisper startup logging
When whisper was being started in a new process, the message displayed in the console was “Starting Blockchain node in another process”. This is misleading as it is the same message that geth/parity use to start up their processes.

Update whisper initialisation process messaging so it states “Starting Whisper node in another process”.
2019-11-22 11:24:20 +01:00
emizzle
23e94d6197 fix(@embark/tests): Improve expiration unit test
Improve the reliability of the expiration unit test in the test dapp by explicitly setting the `block.timestamp` and comparing an expiration value against that.

This improves on the current implementation that relies on time passed which varies depending on the speed of unit tests run (CPU speed, logs shown, etc).
2019-11-22 11:23:18 +01:00
emizzle
6f9e82d8b9 chore(@embark/geth): remove unneeded APIs 2019-11-22 11:22:43 +01:00
emizzle
f6f45077e9
fix(@embark/proxy): Fix unsubsribe handling and add new provider
When `eth_unsubscribe` is received in the proxy, ensure this request is forwarded through on the correct socket (the same socket that was used for the corresponding `eth_subscribe`).

Move subscription handling for `eth_subscribe` and `eth_unsubscribe` to RpcModifiers (in `rpc-manager` package).

For each `eth_subscribe` request, a new `RequestManager` is created. Since the endpoint property on the proxy class was updated to be a provider, the same provider was being assigned to each new `RequestManager` and thus creating multiple event handlers for each subscription created. To circumvent this, we are now creating a new provider for each `RequestManager`.

Co-authored-by: Pascal Precht <pascal.precht@googlemail.com>
2019-11-21 15:38:48 +01:00
Jonathan Rainville
3c760c3515 fix(@embark/library-manager): add web3 to versions list
This is needed by the cockpit for the communication component
2019-11-21 08:46:55 -05:00
Jonathan Rainville
ebdd573548 chore: small fixes to cockpit 2019-11-21 08:46:55 -05:00