fix for showing compiled in compilation summary
fix for className in compilation api endpoint
For profile of non-deployed contract, return empty response if the compiled contract has no classname (ie probably not a successful compilation).
Contract constructor now visible after compile, but the deploy button is not operational yet.
Modified the compilation for returning all errors that still allows for a fatal compilation error to be passed through.
Empty fiddle profile now treated as undefined.
Fiddle contracts can now be profiled without being deployed.
This allows display of the ContractFunctions component.
Needs work to show constructor args and deploy button in this component.
Also needs work to migrate 500/400 status errors.
Updated error entities so that they work on an api failure (status code != 200). This works with the sagas much better to watch for FAILURE/SUCCESS. http browser errors can be avoided by checking api params.
Added timestamp for most of the fiddle calls, to allow for accurate selecting.
Add request payload to errors for better error entity selection.
Compiled fiddles are automatically profiled on response of compilation via saga. The profile is passed to the ContractFunctions component for constructor/function view.
Fixed issue with contract deploying for first time and having no gasLimit specified.
Optimised/refactored looping of compiled contracts.
Added body parameter type checking for `/embark-api/contract/deploy` endpoint
Bug that cropped up in the refactor. Deploy button was showing if there warnings, but no errors. Have changed this to only show the deploy button if there is a compilation result (returned from the api) instead.
Refactored fiddle logic to be contained in the `FiddleContainer` and the components as purely presentational.
Added scroll from summary to errors/warnings/fatal/deployed cards.
Added fatal error support (ie network error in api)
Removed `lodash`
Handle use cases:
1) handle case when temp.sol doesn’t exist - due to the new saga updates, the response from retreiving a temp fiddle from the filesystem (even if it doesn’t exist) is forward to the compilation endpoint, which returns an ENOENT, and this is handled in the selector.
2) delete all code - shouldn’t return last fiddle and should compile an empty string.
3) Switch to different tab (ie contracts) then back to fiddle - previous fiddle should remain.
Also fixed an issue (most likely due to latest rebase) when deploying fiddle contracts. The gasLimit was not being specified.
Handled issue where entities stored in the state were not being put in the correct order, so a timestamp was sent with the requests and then sorted when the response was returned.
1) hanlde case when temp.sol doesn’t exist
2) delete all code - shouldn’t return last fiddle
3) Switch to different tab (ie contracts) then back to fiddle - fiddle should now remain.
Fiddles are now stored in the filesystem so they can be preserved across page reloads, but also so that contracts deployed via fiddles can have their source code shown.
Fiddles deployed as contracts now fully work with existing contract list UI and functionality. Fiddle deployed contracts are listed in a separate section in the UI.
Current limitation is that only single contracts per file are supported. If the fiddle contains multiple contracts, it’s currently not supported.
Fiddle is properly deploying now, except the source code needs to be saved to the filesystem in order to be recalled later.
Fixes for handling errors on deploy and compilation.
Update contract state UI for determining state / interface / deployed.
Fixed browser errors caused by tabler (bodyItems and headerItems complaints) as well as staticContext issues caused by using withRoute(NavLink)
Also added a response to fiddler deployment.
Added loading states to fiddler results, that shows the errors/warnings as having a loading state when compiling/deploying