Skip to content
This repository has been archived by the owner on Jun 7, 2023. It is now read-only.

Mobile: Secret Handling (includes #1060) #1080

Closed

Conversation

cvarley100
Copy link
Contributor

@cvarley100 cvarley100 commented Feb 16, 2019

Description

  • Improves secret handling on mobile
  • Deletes variables when no longer used
  • Moves seed storage to trit array
  • Uses a more secure approach to inactivity logout
  • Hashes account name for use in keychain (thereby avoiding any issues with special chars)
  • Migrates seeds from old to new encoding with associated UI
  • Updates text input handling of secrets

Includes #1060

Type of change

  • Enhancement
  • Bug fixes

How Has This Been Tested?

  • Tested relevant features on iOS
  • Tested relevant features on Android
  • Checked dumps on Android

Checklist:

  • My code follows the style guidelines for this project
  • I have performed a self-review of my own code
  • New and existing unit tests pass locally with my changes
  • For changes to mobile that include native code (including React Native modules): I have verified that both iOS and Android successfully build in both Debug and Release modes
  • For changes to shared: If applicable, I have verified that my changes are implemented correctly in desktop and mobile

cvarley100 and others added 30 commits December 13, 2018 14:11
* Implement quorum for wereAddressesSpentFrom

* Simply #findSyncedNodes implementation

* Add quorum support for getBalances IRI endpoint

* Minor updates

- Add quorum support for getTrytes IRI endpoint
- Minor clean up in quorum methods

* Add quorum support for findTransactions IRI endpoint

* Rename quorum methods for better readability

* Integrate quorum methods with extended api

* Remove findTransactions & getTrytes endpoints from quorum

* Refactor quorum implementation and do minor fixes

- Update JSDoc typos
- Simplify quorum implementation (Remove duplications)
- Add a timeout for network request to each node
- Fix issues in findSyncedNodes implementation
- Update error messages

* Add coverage
- Add coverage for #determineQuorumResult
- Add coverage for #fallbackToSafeResult
- Add coverage for #findSyncedNodes

* Add empty payload checks in quorum methods

* Wrap percentage calculation in parentheses for clarity

Co-Authored-By: laumair <aquadestructor@icloud.com>

* Use develop branch of iota.lib.js

* Enforce quorum (by default) on supported methods

* Fix tests failing because of quorum enforcement

* Add code documentation and rename parameters & variables for clarity

- Related discussion #631 (comment)

* [Security] Bump cryptiles from 3.1.2 to 3.1.4 (#829)

* [Security] Bump nokogiri from 1.8.4 to 1.9.1 in /src/mobile/android (#828)

* Make sure accounts are always iterated in correct order (by account index) (#824)

Object.keys(<object>) function does not always preseve the order, especially if the object key starts with a number. This causes an issue when Object.keys is used for iterating on account names. #715 adds account indexes to state to make sure the order of accounts is always intact. However, some components in desktop use Object.keys directly on accounts object, which leads to certain issues of incorrect references to accounts. This commit fixes this issue by replacing Object.keys implementation on accounts with getAccountNamesFromState selector that guarantees the accounts order.

Fixes #811

Note that the issues Object.keys create are not always noticeable. Steps to reproduce these issues are:

- Add account with name "M"
- Add another account with name "0"
- Notice account names order in sidebar (Instead of "0" being the second account, it becomes the first)
- Generate receive address from account "M" (Instead of generating receive address for account "M", it generates receive address for account "0")

* New Crowdin translations [ci skip] (#826)

* New translations translation.json (Czech)

* New translations translation.json (Czech)

* New translations translation.json (Japanese)

* New translations translation.json (Spanish)

* Mobile: Update findSyncedNodes

* Update quorum.js

* Improve parameters and variable names

* Include custom nodes in quorum nodes

* Reduce node request timeout for getNodeInfo api calls (in quorum)
@cvarley100 cvarley100 changed the title Mobile: Secret Handling Mobile: Secret Handling (includes #1060) Feb 16, 2019
@cvarley100 cvarley100 closed this Feb 18, 2019
@laumair laumair deleted the feat/combine-trit-methods-and-secret-handling branch April 22, 2019 09:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants