Add back contract tracking to the refactored code. Deployment checks are added as plugins to the `embark-deployment` module.
Adds ability to track if a contract has already been deployed, and skips deployment if so.
Updates error handling flow for deployment process.
Adds a contract class to the `embark-contracts-manager`, to add a `log` function for the contract. This `log` function can be called from any module that has the contract instance.
Adds TS interfaces for contracts configuration.
Handles the following cases:
1. Contract already deployed
2. Contract not deployed
3. Contract is configured with `{track: false}` (deploy if not deployed, and don't track)
5. Contract is configured with an `address` in the config
6. `trackContracts` set to `false` from `engine` (always deploy but don't track contracts). Currently used for the tests.
7. Contract deployment produces an error
8. Interface deployment shows warning.
PR with unit tests and documenation to follow.
# Conflicts:
# packages/embark/src/lib/modules/ethereum-blockchain-client/index.js
Add back contract tracking to the refactored code. Deployment checks are added as plugins to the `embark-deployment` module.
Adds ability to track if a contract has already been deployed, and skips deployment if so.
Updates error handling flow for deployment process.
Adds a contract class to the `embark-contracts-manager`, to add a `log` function for the contract. This `log` function can be called from any module that has the contract instance.
Adds TS interfaces for contracts configuration.
Handles the following cases:
1. Contract already deployed
2. Contract not deployed
3. Contract is configured with `{track: false}` (deploy if not deployed, and don't track)
5. Contract is configured with an `address` in the config
6. `trackContracts` set to `false` from `engine` (always deploy but don't track contracts). Currently used for the tests.
7. Contract deployment produces an error
8. Interface deployment shows warning.
PR with unit tests and documenation to follow.