- May 28, 2019
-
-
Luke Schoen authored
* Update Send transaction UI so "amount" field can be 0, since some users may want to just send some data (i.e. https://github.com/chainx-org/ChainX/issues/66) * Set the default amount value to be 0 and not required * Update Send transaction UI to support "data" field in hex (with 0x prefix) * Use a hard-coded Gas Limit of 200,000 when user provides hex "data" value * Remove logic that doesn't make sense (i.e. `else if (amountBn.isZero()) {`) * Update validation messages * Add support for Blockscout link when user using Goerli testnet * Update internationalisation * Use custom `isHexString` function instead of the ethereumjs-util's version. The ethereumjs-util's version is used by MyCrypto and doesn't work properly. * Tested on Goerli testnet by creating two accounts, requesting Goerli tokens, running with `--chain goerli` appended to the end (i.e. `"start": "cross-env ELECTRON_START_URL=http://localhost:3000 electron-webpack dev --chain goerli",` in fether/packages/fether-electron/package.json), and sending a transaction with the high gas price, the hex data. For example, for ChainX convert your ChainX Address (UTF8 chars) into Hex code (i.e. copy/paste it at https://www.browserling.com/tools/utf8-to-hex, for example "helloworld" becomes => `\x68\x65\x6c\x6c\x6f\x20\x77\x6f\x72\x6c\x64`, and remove the `\x`, => `68656c6c6f20776f726c64` => then prepend 0x => `0x68656c6c6f20776f726c64` and add that to the "data" field), then send the transaction, and when the transaction is successful go to the Blockscout link and you'll see under "Raw Input" ("Input Data" on Etherscan) that you can switch between viewing it in UTF8 or Hex, i.e. https://blockscout.com/eth/goerli/tx/0x7eaec61ce7753fd4c80aec4509c49942b53986585e4864e18134806bffb25f10/internal_transactions) * TODO - update Parity Signer to show "data" field value if it doesn't already
-
- Apr 15, 2019
-
-
Luke Schoen authored
feat: Relates to #360. Only allow import from Parity Signer chain account matching current chain. ETC support (#483) * feat: Relates to #360. Only allow import from Parity Signer chain account matching current chain. ETC support * review-fix: Refer to non-Parity chain names in the UI. Add console.error * review-fix: Do not need to chcek health status before calling chainId RPC of light.js on pages accessed through navigation * review-fix: Rename function name that matches current chain id with imported chain id of address * review-fix: Remove unnecessary function * review-fix: Rename function to accountAlreadyExists * review-fix: Remove FIXME. See https://github.com/paritytech/fether/pull/483#discussion_r270834847 * review-fix: Refactor to use util functions isEtcChainId, chainIdToString, isNotErc20TokenAddress * fix: Fix typo in comment * review-fix: Change wording of parity phrase comment * review-fix: Do not clear isImport as not account related * fix: Clear error so error when recover from seed phrase not still shown if then click to recover from QR code * fix: Rename so signerChainId correctly destructured and not undefined * review-fix: Remove async/await from clear * fix: Avoid mapping signer chain id to chain name since too much maintenance with Parity Ethereum * review-fix: Remove await from createAccountStore * tests: Add colour to fether-react tests * refactor: No need to parseInt on the signerChainId * refactor: Use isNotErc20TokenAddress * refactor: Use isNotErc20TokenAddress again * refactor: Add isErc20TokenAddress util so more readable * fix: Replace valueOf with .eq. Fix so obtain BN from props * refactor: Combine into single if statement when checking if valid Eth/Etc address * refactor: Update utils without unnecessary return block
-
- Apr 12, 2019
-
-
Luke Schoen authored
* chore: Update to latest React 16.8.3 to requirements of react-i18next * feat: Scaffold basic translation with English and German * feat: Relates to #402. German translation fully working * fix: Switch back to English by default * fix: Allow user to switch between languages in preferences of context menu * feat: Translate the context menus * refactor: Remove German language. Add as separate PR * refactor: Remove blank line * docs: Update Readme with Internationalisation Add New language instructions * docs: Update Readme with Known Issues and Usage instructions * review-fix: Disabled tooltip Please fill out this field. Add High and Low tx speed * review-fix: Update license headers to be 2019 instead of 2018 * review-fix: Change ns1 to fether-electron and fether-react. Use pino.debug * fix: Add missing i18n conversion for macOS Edit menu * review-fix: Remove unused i18next browser languagedetector dependency * merge latest from master and fix conflicts * merge latest master and fix conflicts. TODO do not expose remote * fix: Do not expose remote. Only expose add and remove listener, and reload via bridge * feat: Convert new release available text to i18n
-
- Mar 28, 2019
-
-
Thibaut Sardan authored
* add script to manually fetch tokens from github.com/ethereum-lists/tokens over IPFS * remove ts files from linting * remove ts files from test to fix CI * WIP token image * improve token default image * Test the pipe with hardcoded IPFS addresses * add comments * add --use-hardcoded-addresses argument * shorten things up with a spread * address comments * fix test and address comment
-
- Mar 25, 2019
-
-
Amaury Martiny authored
* Show parity/light.js's logs too * Remove txCount from withAccount * withBalance shows component immeidately * Play around * Make it work * Cleaner code * Remove 'Loading account tokens...' modal * Re-order import * Optimize code * Fix regression * Fix typo * Luke's grumbles * Put "checking..." when fetching async values * Show gas error on amount field
-
- Mar 21, 2019
-
-
Axel Chalon authored
* Parity Ethereum bundling * Grumbles; update light.js * Grumbles * Merge in PR#394 ac-upd-post: refactor sendStore post/postRaw * Download highest version matching requirement rather than latest beta * Rename RequireVersion to RequireParityVersion * Grumbles * Change Parity version requirement to ~2.4.1 * Fix --no-run-parity with Parity already running * Grumble Co-Authored-By: axelchalon <[email protected]>
-
- Mar 12, 2019
-
-
Amaury Martiny authored
-
- Feb 08, 2019
-
-
Luke Schoen authored
-
Luke Schoen authored
-
- Feb 04, 2019
-
-
Luke Schoen authored
-
- Feb 03, 2019
-
-
Luke Schoen authored
-
Luke Schoen authored
-
- Jan 23, 2019
-
-
Luke Schoen authored
-
Luke Schoen authored
-
- Jan 22, 2019
-
-
Luke Schoen authored
* Add `isEstimatingTxFee` so we can check if all values including `gas` are available without actually having to calculate the tx fee and incorporate into estimateTxFee method * Display and disable the "Checking..." button if the `isEstimatingTxFee` returns false (i.e. `gas` still undefined) * Note: The bug associated with #361 appears to be Parity Signer-specific. If the user can click "Scan" before the `gas` has been calculated, then when it tries to go to the paritytech/fether/packages/fether-react/src/Send/TxQrCode/TxQrCode.js, where it calls `getRlp()` to get the value for the rlp prop of the QrSigner component, which calls `transactionToRlp(this.tx)` to get the RLP of the unsigned tx that is provided as an argument paritytech/fether/packages/fether-react/src/stores/sendStore.js, it crashes if `this.tx` contains a `gas` property that's undefined. So we need to prevent the user from being able to click "Scan" before the `gas` property has been determined. We do this by disabling the button and displaying "Checking..." until `isEstimatingTxFee` returns true, and only then do we display "Scan" and enable the button
-
- Jan 18, 2019
-
-
Luke Schoen authored
* Remove titleOffset and add placeholder width for header nav buttons * Remove passing `screen` prop for specific pages
-
Luke Schoen authored
* Change Account screen so its header uses the Information component with a big identicon, a short address, so it is clickable, and with identicon on left of name and address. * Apply extra bottom margin between name and account address when Information component used in the header * Update header so it uses Flexbox according to docs as intended * Since we're using Flexbox without placeholder spacing for the left and right header buttons, when the title is shown in the header it is offset if there is only a left or right button. So a `titleOffset` prop is used on pages where the Header component is used to indicate if the title needs to be offset to the left or right so it appears centered in the screen. We also pass a `screen` prop (named after the component where the Header component is being used so we can tailor the header spacing on specific screens. * Re-order props alphabetically * QUESTION - should we consider always adding placeholder spacing for where both right and left buttons in header would be as an alternative so no offset for the title is require?
-
Luke Schoen authored
* Remove titleOffset and add placeholder width for header nav buttons * Remove passing `screen` prop for specific pages
-
- Jan 16, 2019
-
-
Luke Schoen authored
* Change Account screen so its header uses the Information component with a big identicon, a short address, so it is clickable, and with identicon on left of name and address. * Apply extra bottom margin between name and account address when Information component used in the header * Update header so it uses Flexbox according to docs as intended * Since we're using Flexbox without placeholder spacing for the left and right header buttons, when the title is shown in the header it is offset if there is only a left or right button. So a `titleOffset` prop is used on pages where the Header component is used to indicate if the title needs to be offset to the left or right so it appears centered in the screen. We also pass a `screen` prop (named after the component where the Header component is being used so we can tailor the header spacing on specific screens. * Re-order props alphabetically * QUESTION - should we consider always adding placeholder spacing for where both right and left buttons in header would be as an alternative so no offset for the title is require?
-
- Jan 07, 2019
-
-
Amaury Martiny authored
-
Thibaut Sardan authored
-
Luke Schoen authored
-
Axel Chalon authored
-
Axel Chalon authored
-
Axel Chalon authored
- Add option to import a Parity Signer account. It is then stored in local storage. - Send transactions with Parity Signer accounts - Refactor sendStore so that "token" (and chainId) is inside this.tx; avoids having to pass `token` around every function, and it makes sense to put it in the object since it is part of the tx info. - Add account type (either node or signer) to accountsInfo - Add account type to withAccount; output props are now `{account: {address, type}}` instead of `{accountAddress}`
-
- Jan 06, 2019
-
-
Luke Schoen authored
* Move toggle details buttons and associated methods and showDetails state into nav of TxForm component * Pass showDetails down as props to TxDetails * Remove previous attempt to display TxDetails like a popup above other fields (i.e. remove form-details-wrapper and -details-value styles)
-
- Jan 05, 2019
-
-
Luke Schoen authored
-
Luke Schoen authored
-
Luke Schoen authored
-
- Jan 04, 2019
-
-
Luke Schoen authored
* Move "Details" / "Hide" buttons into the form-nav footer section * TxDetails now appears above the footer area above other input fields without causing the screen height to increase * Background of the TxDetails darkened so it stands out from surroudings * Change "Details" arrow to point upwards since TxDetails now shown above * Change "Hide" arrow to point downward since TxDetails now shown above * Rename classnames to `_` or `-` more consistently * Note: To quickly display the 'Details' button so you can click it change TxForm.js as follows: ``` {/* {valid && this.estimatedTxFee(values) ? ( */} <TxDetails // estimatedTxFee={this.estimatedTxFee(values)} estimatedTxFee={new BigNumber('8100000')} token={token} // values={values} values={ { amount: new BigNumber('0.1'), gasPrice: new BigNumber('21000') } } /> {/* ) : null} */}
-
Luke Schoen authored
-
Luke Schoen authored
-
Luke Schoen authored
-
Luke Schoen authored
-
- Jan 03, 2019
-
-
Luke Schoen authored
-
- Jan 02, 2019
-
-
Luke Schoen authored
-
Luke Schoen authored
* Remove `isEstimatedTxFee` since can just use `estimatedTxFee` to achieve same functionality * Rename `newEstimatedTxFee` to `newGasEstimate` since it returns a value that's used for the `values.gas` prop * Update `estimatedTxFee` to return `null` if the amount, gas, gasPrice values provided aren't valid, instead of returning the calculated estimated tx fee * Wrap call to `estimateGas` in a try/catch block that throws error "Unable to estimate gas" when error thrown when calling `estimateGas` in TxForm.js * Move check `if (!ethBalance) {` earlier in function
-
- Jan 01, 2019
-
-
Luke Schoen authored
-
Luke Schoen authored
* Create TxDetails component and move relevant instance methods from TxForm into TxDetails * Fix linting warning `Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener`
-
Luke Schoen authored
* Remove isCancelled * Remove estimatedTxFee from state * Sort instance methods into alphabetical order * Refactor by adding isEstimatedTxFee to check gas properties defined on form values * Add instance method estimatedTxFee to return calculation based on gas values * Move functions out of render function and change them into instance methods * Remove duplicate check for whether values.gas existed
-