Commit Graph

6228 Commits

Author SHA1 Message Date
Michael Bradley, Jr e0f7913a02 feat: add support for `embark.config.js`
This commit introduces support for using `embark.config.js` to calculate the
embark configuration object that is otherwise provided via `embark.json`.

If an `embark.config.js` file is present, it will be used over the
`embark.json` file.  The `embark.config.js` module needs to export either an
object or a function that can be asynchronous and has to return or resolve with
an embark configuration object:

```js
// embark.config.js

module.exports = async function () {
  let config = ...; // do lazy calculation of `embarkConfig`;
  return config;
}
```
2020-03-06 09:45:43 -06:00
EmbarkBot b19a58b007 chore(prerelease): 5.3.0-nightly.5 2020-03-06 00:15:50 +00:00
Jonathan Rainville 6fb2da31c3 fix(@embark/cmd-controller): add back embark-ganache registrations 2020-03-05 13:15:50 -06:00
dependabot-preview[bot] 159defb579 build(deps-dev): bump react-scripts from 3.2.0 to 3.4.0
Bumps [react-scripts](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-scripts) from 3.2.0 to 3.4.0.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/create-react-app/commits/react-scripts@3.4.0/packages/react-scripts)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 12:59:09 -06:00
dependabot-preview[bot] 51fe080ac5 build(deps): bump uuid from 7.0.1 to 7.0.2 in /site
Bumps [uuid](https://github.com/uuidjs/uuid) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v7.0.1...v7.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 11:36:22 -06:00
dependabot-preview[bot] dcaa2626d9 build(deps-dev): bump eslint-plugin-jest from 22.5.1 to 23.8.1
Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 22.5.1 to 23.8.1.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v22.5.1...v23.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 11:25:18 -06:00
dependabot-preview[bot] 7b471074e3 build(deps): bump @types/i18n from 0.8.3 to 0.8.6
Bumps [@types/i18n](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/i18n) from 0.8.3 to 0.8.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/i18n)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 09:29:54 -06:00
Jonathan Rainville b29998e1ec fix(@embark/rpc-manager): fix eth_signTypedData method + tests
The signTypedData rpc method was broken, because it didn't check for
the node accounts, meaning that if you wanted to sign with a node
account that was unlocked, like in the tests, it would throw
2020-03-05 14:12:07 +11:00
Jonathan Rainville 67581ce482 feat(@embark/test-runner): make evmMethod globally available + docs 2020-03-05 14:12:07 +11:00
emizzle 3b753e856c refactor(@embark/rpc-manager): Simplify RPC modifications
Managing account details inside of the RPC Manager became a bit convulted and difficult to follow due to any web3 requests inside of an `RpcModifier` communicating over the proxy and therefore to other `RpcModifier`’s or itself. It also created cases where node accounts were duplicated by way of running the `eth_accounts` modifier multiple times (the first time getting accounts from the node and subsequent times getting accounts from the modified `eth_accounts` response.

This has been simplified by having the entry point of the `rpc-manager` (`index.js`) talk directly to the node via `web3`. This allowed account/nodeAccount management to also be handled by the entry point, removing the need for each individual `RpcModifier` from having to handle these account details. The result is a much more simplified and and much easier to maintain code for RPC Manager.

The cases for which accounts can be modified (via `personal_newAccount` RPC call, and via test configuration change) are now handled in one place (the entry point) and propagated to the each `RpcModifier`.

Add `blockchain:started` command to request when the blockchain has been started. In this case, this is needed so that we know when we can create a direct connection to the node, instead of the proxy (as is the case in almost all other modules).

Extend action timeout when in debug mode.

1. These changs have made the `RpcModifier` base class essentially useless, however, it has been kept in place because it will be used for future DRY improvements to the `rpc-manager`.
2. These changes have been tested with the following DApps:
- Demo
- Test DApp
- Contracts test DApp
- Teller
2020-03-05 14:12:07 +11:00
EmbarkBot 838d421eac chore(prerelease): 5.3.0-nightly.4 2020-03-05 00:15:25 +00:00
dependabot-preview[bot] efb5b06ff5 build(deps-dev): bump qs from 6.9.0 to 6.9.1
Bumps [qs](https://github.com/ljharb/qs) from 6.9.0 to 6.9.1.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.9.0...v6.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-04 13:59:08 -06:00
dependabot-preview[bot] 97596e6835 build(deps): bump @types/body-parser from 1.17.1 to 1.19.0
Bumps [@types/body-parser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/body-parser) from 1.17.1 to 1.19.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/body-parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-04 13:48:44 -06:00
dependabot-preview[bot] d6fb5ebb19 build(deps): bump @types/semver from 5.5.0 to 7.1.0
Bumps [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver) from 5.5.0 to 7.1.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-04 12:25:59 -06:00
dependabot-preview[bot] cb8ece8db5 build(deps): bump @babel/runtime-corejs3 from 7.7.4 to 7.8.4
Bumps [@babel/runtime-corejs3](https://github.com/babel/babel) from 7.7.4 to 7.8.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-04 12:05:18 -06:00
dependabot-preview[bot] 5967624bbb build(deps-dev): bump ansi-to-html from 0.6.11 to 0.6.14
Bumps [ansi-to-html](https://github.com/rburns/ansi-to-html) from 0.6.11 to 0.6.14.
- [Release notes](https://github.com/rburns/ansi-to-html/releases)
- [Commits](https://github.com/rburns/ansi-to-html/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-03 20:07:27 -06:00
Michael Bradley, Jr d475d3cf8d build(deps-dev): remove unused @babel/code-frame package in dapps/tests/app 2020-03-03 20:04:33 -06:00
dependabot-preview[bot] 31d53db5f3 build(deps): bump mocha from 6.2.2 to 7.1.0
Bumps [mocha](https://github.com/mochajs/mocha) from 6.2.2 to 7.1.0.
- [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.2...v7.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-03 19:49:08 -06:00
dependabot-preview[bot] c41b83cf5f build(deps-dev): bump lerna from 3.19.0 to 3.20.2
Bumps [lerna](https://github.com/lerna/lerna/tree/HEAD/core/lerna) from 3.19.0 to 3.20.2.
- [Release notes](https://github.com/lerna/lerna/releases)
- [Changelog](https://github.com/lerna/lerna/blob/master/core/lerna/CHANGELOG.md)
- [Commits](https://github.com/lerna/lerna/commits/v3.20.2/core/lerna)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-03 19:46:03 -06:00
EmbarkBot a7b8f0d141 chore(prerelease): 5.3.0-nightly.3 2020-03-04 00:15:48 +00:00
Pascal Precht a4a0e9dc33 feat(plugins/specialconfigs): adds support for Smart Contract args as functions
This commit introduces a new feature that enables users to calculate Smart Contract
constructor arguments lazily using an (async) function. Similar to normal Smart Contract
configurations, the return or resolved value from that function has to be either a list
of arguments in the order as they are needed for the constructor, or as an object with
named members that match the arguments individually.

```
...
development: {
  deploy: {
    SimpleStorage: {
      args: async ({ contracts, web3, logger}) => {
        // do something with `contracts` and `web3` to determine
        // arguments
        let someValue = await ...;
        return [someValue];

        // or
        return {
          initialValue: someValue
        };
      }
    }
  }
}
...
```

Closes #2270
2020-03-03 10:14:58 +01:00
EmbarkBot 8de6cf9fe0 chore(prerelease): 5.3.0-nightly.2 2020-03-03 00:14:47 +00:00
dependabot-preview[bot] ead92bd90f build(deps): bump @babel/core from 7.7.4 to 7.8.6
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.4 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 14:42:32 -06:00
dependabot-preview[bot] 19a97693db build(deps-dev): bump react-fontawesome from 1.6.1 to 1.7.1
Bumps [react-fontawesome](https://github.com/danawoodman/react-fontawesome) from 1.6.1 to 1.7.1.
- [Release notes](https://github.com/danawoodman/react-fontawesome/releases)
- [Changelog](https://github.com/danawoodman/react-fontawesome/blob/master/changelog.md)
- [Commits](https://github.com/danawoodman/react-fontawesome/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 14:06:09 -06:00
Michael Bradley, Jr 65f25d6536 build(deps-dev): bump all @storybook/* packages from 5.3.9 to 5.3.14 2020-03-02 13:51:10 -06:00
dependabot-preview[bot] 2e24ad6940 build(deps-dev): bump @storybook/addon-actions from 5.3.9 to 5.3.14
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 5.3.9 to 5.3.14.
- [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.3.14/addons/actions)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 13:51:10 -06:00
dependabot-preview[bot] c918c9bbf7 build(deps): bump style-loader from 1.0.0 to 1.1.3
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.0.0 to 1.1.3.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.0.0...v1.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 13:37:42 -06:00
dependabot-preview[bot] 6b2616ebbf build(deps): bump uuid from 3.4.0 to 7.0.1 in /site
Bumps [uuid](https://github.com/uuidjs/uuid) from 3.4.0 to 7.0.1.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v3.4.0...v7.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 13:06:23 -06:00
EmbarkBot 719faeebdd chore(prerelease): 5.3.0-nightly.1 2020-02-29 00:14:15 +00:00
Jonathan Rainville 738ff8e41d feat(@cmd): add very basic embark init to add an embark.json file 2020-02-28 18:18:39 -05:00
Jonathan Rainville 382a0b523d feat(@embark/cmd): enable using engine with no embark.json
And show a message to run embark init if there is no embark.json
2020-02-28 18:18:39 -05:00
Iuri Matias db10064dd6 feat: remove optional plugins from coming as default
feat(@embark/utils): add method to verify if a plugin is installed & configured

feature(@embark/utils): add method to verify if a plugin is installed & configured

feature: warn about packages that will be independent plugins and are not configured

chore: update templates to specify plugins

refactor: add to plugin api params so that blockchain plugins no longer need to be passed options

address changes in code review

remove unneded space

Update packages/core/utils/src/index.ts

Co-Authored-By: Jonathan Rainville <rainville.jonathan@gmail.com>

Update packages/core/utils/src/index.ts

Co-Authored-By: Michael Bradley <michaelsbradleyjr@gmail.com>

fix linting issue

add missing import

remove optional plugins from coming as default

Revert "chore: update hooks examples to destructure dependencies object"

This reverts commit 448eab724b.

remove trailing comma

fix linting issue

include tsconfig
2020-02-27 20:31:29 -05:00
EmbarkBot 1675019f44 chore(prerelease): 5.3.0-nightly.0 2020-02-27 00:13:54 +00:00
Michael Bradley, Jr cc5068b134 build(deps-dev): remove unneeded eslint-plugin-import in packages/cockpit/ui/package.json 2020-02-26 17:32:34 -06:00
dependabot-preview[bot] b116e95a4e build(deps-dev): bump eslint-plugin-import from 2.18.2 to 2.20.1
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.18.2 to 2.20.1.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.18.2...v2.20.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-26 17:32:34 -06:00
Iuri Matias 5e1ecdc6ea chore: update package versions 2020-02-26 18:00:35 -05:00
Jonathan Rainville e389cccf09 fix(@embark/reporter): show stack trace in the reporter on errors 2020-02-26 18:00:35 -05:00
Jonathan Rainville c07ac55d70 fix(@embark/mocha-tests): change `self` to `this` in mocha-tests 2020-02-26 18:00:35 -05:00
Jonathan Rainville e65c4d26e0 feat(@embark/test-app): add Teller contracts and test as a new test dapp 2020-02-26 18:00:35 -05:00
emizzle 74e2935846 fix(@embark/profiler): Fix profile output and update messaging
The profiler was not formatted correctly in the console as `util.inspect` was being applied to the ASCII table before being output to the console REPL.

In addition, functions containing solidity assertions (require, revert, assert) that cause the function to fail when estimating gas would print an error to embark’s console log, and would show nothing as their gas estimate in the table.

Do not `util.inspect` command output if the result is a string. For API commands being run, allow the command to specify whether or not the output of the command should be HTML escaped. This could pose security risks!

For functions that have errors during gas estimation, add a message in the embark console explaining that the error may be due to solidity assertions in the function that prevent the gas from being estimated correctly. For functions that error, show `-ERROR-` in the gas estimation column. Additionally, show a description in the table footer explaining that the error may be due to solidity assertions in the function.

For events with no gas estimate, show `-EVENT-` in the gas estimate column of the profile table, and a description in the table footer explaining that there is no gas estimate for events.

### Warnings
This PR allows the console command to specify whether or not it should allow for a string result of the command to be HTML-escaped before being sent in the API response. Combining this with Cockpit’s `dangerouslySetInnerHTML`, this could allow a plugin to register a console command that injects XSS in to Cockpit.

![Imgur](https://i.imgur.com/1Rqkjyx.png)
![Imgur](https://i.imgur.com/s6Y1Ecy.png)
![Imgur](https://i.imgur.com/BhsjkBs.png)
2020-02-26 17:11:01 -05:00
Iuri Matias 1e9ed81ff3 chore: fix embark-testing version 2020-02-26 16:42:10 -05:00
Pascal Precht 20567e5c03 chore(plugins/specialconfigs): update dependencies and add missing tests 2020-02-26 16:42:10 -05:00
Iuri Matias e1136d3574 chore: fix embark-testing version
chore: fix embark-testing version

mend
2020-02-26 16:29:22 -05:00
Pascal Precht 8c8e5f7627 test(stack/namesystem): Add missing tests and update dependencies 2020-02-26 16:29:22 -05:00
Iuri Matias d27aefd2b2 chore: fix embark-testing version 2020-02-26 15:14:49 -05:00
Pascal Precht 794c7d5f24 test(stack/contracts-manager): add missing unit and API tests 2020-02-26 15:14:49 -05:00
Pascal Precht 4106a49379 feat(utils/testing): make mock apiCall() async
This is needed because API handlers are potentially async as well.
2020-02-26 15:14:49 -05:00
Pascal Precht 1a56d5f792 fix(utils/testing): ensure API mock works with `req.params` and method chaining 2020-02-26 15:14:49 -05:00
Pascal Precht 62a229198b fix(utils/testing): ensure runActionsForEvent() works without params object 2020-02-26 15:14:49 -05:00
Pascal Precht ef1ec3a606 refactor(utils/testing): expose `registerAPICall()` on testbed plugins 2020-02-26 15:14:49 -05:00