|
16 | 16 | <sub>**npm is NOT supported for package management. MyCrypto uses yarn.lock to ensure sub-dependency versions are pinned, so yarn is required to install node_modules</sub> |
17 | 17 | <br/> |
18 | 18 | <sub>\***Python 3 is **not** supported, since our dependencies use `node-gyp`.</sub> |
| 19 | +<br/> |
| 20 | +<sub>\***For users trying to build with WSL, you'll need to have install libpng via `sudo apt-get install libpng16-dev`.</sub> |
19 | 21 |
|
20 | 22 | ## Running the App |
21 | 23 |
|
@@ -112,31 +114,44 @@ yarn test:int |
112 | 114 | ``` |
113 | 115 | │ |
114 | 116 | ├── common |
115 | | -│ ├── actions - Application actions |
116 | 117 | │ ├── api - Services and XHR utils |
117 | 118 | │ ├── assets - Images, fonts, etc. |
118 | 119 | │ ├── components - Components according to "Redux philosophy" |
119 | 120 | │ ├── config - Various config data and hard-coded json |
120 | 121 | │ ├── containers - Containers according to "Redux philosophy" |
| 122 | +| ├── features - State management and async operations, organized per "feature", follows "ducks" philosophy, see: https://github.com/MyCryptoHQ/MyCrypto/issues/1435 |
121 | 123 | │ ├── libs - Framework-agnostic libraries and business logic |
122 | | -│ ├── reducers - Redux reducers |
123 | | -│ ├── sagas - Redux sagas |
| 124 | +| ├── contracts - Takes in a contract interface ABI and returns an object with keys equivalent to the ABI function names that each have `.encodeInput`, `.decodeInput`, `decodeOutput` methods. |
| 125 | +| ├── ens - Basic ENS functions for getting a name hash and mapping returned ENS contract values to human-readable strings |
| 126 | +| ├── nodes - Configures Shepherd (https://github.com/MyCryptoHQ/shepherd) and exports a singleton provider |
| 127 | +| ├── scheduling - Functionality for enabling Ethereum Alarm Clock usage for scheduled transactions. See https://github.com/MyCryptoHQ/MyCrypto/pull/1343 |
| 128 | +| ├── transaction - Utilities for signing / parsing / validating transactions |
| 129 | +| ├── wallet - Wallet implementations for deterministic (hw wallets, mnemonic wallets, etc), and non-deterministic (web3, parity signer, etc.) wallets. |
| 130 | +| ├── web-workers - Web-worker implementation of generateKeystore + fromV3 for non-blocking encrypt/decryption |
| 131 | +| ├── erc20 - `libs/contracts` instance of erc20 abi |
| 132 | +| ├── formatters - Hex string formatters |
| 133 | +| ├── signing - Message signing and signature verification |
| 134 | +| ├── units - Helper functions for working with Ethereum / Token units in both base and unit form. Use these instead of using bn.js directly |
| 135 | +| ├── validators - Validation functions for addresses, hex strings, keys, numbers, derivation paths, EAC values, Ethereum values, etc. |
| 136 | +| ├── values - Functions for building EIP681 requests, numberical sanitization, string padding, bn.js conversion |
124 | 137 | │ ├── sass - SCSS styles, variables, mixins |
125 | | -│ ├── selectors - Redux selectors |
126 | 138 | │ ├── translations - Language JSON dictionaries |
127 | 139 | │ ├── typescript - Typescript definition files |
128 | 140 | │ ├── utils - Common use utility functions |
129 | 141 | │ ├── index.tsx - Entry point for app |
130 | 142 | │ ├── index.html - Html template file for html-webpack-plugin |
131 | 143 | │ ├── Root.tsx - Root component for React |
132 | | -│ └── store.ts - Redux reducer combiner and middleware injector |
133 | 144 | ├── electron-app - Code for the native electron app |
134 | 145 | ├── jest_config - Jest testing configuration |
135 | 146 | ├── spec - Jest unit tests, mirror's common's structure |
136 | 147 | ├── static - Files that don't get compiled, just moved to build |
137 | 148 | └── webpack_config - Webpack configuration |
138 | 149 | ``` |
139 | 150 |
|
| 151 | +## Typescript Resources: |
| 152 | +- https://basarat.gitbooks.io/typescript/ |
| 153 | +- https://blog.mariusschulz.com/series/typescript-evolution |
| 154 | + |
140 | 155 | ### More information is available on the [Wiki Pages](https://github.com/MyCryptoHQ/MyCrypto/wiki) |
141 | 156 |
|
142 | 157 | ## Thanks & Support |
|
0 commit comments