├── .editorconfig
├── .eslintignore
├── .eslintrc.yml
├── .gitattributes
├── .github
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── config.yml
│ └── feature_request.md
├── SECURITY.md
├── SUPPORT.md
├── codeql
│ └── codeql-config.yml
├── pull_request_template.md
└── workflows
│ ├── build_desktop.yml
│ ├── build_docker.yml
│ ├── codeql-analysis.yml
│ ├── rollback_desktop.yml
│ ├── snyk-monitor-js-desktop.yml
│ ├── test_desktop.yml
│ ├── test_mobile.yml
│ └── test_shared.yml
├── .gitignore
├── .husky
├── .gitignore
└── pre-commit
├── .prettierignore
├── .prettierrc
├── .snyk
├── .tool-versions
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── crowdin.yml
├── docs
├── copyrightHeader
├── dev
│ ├── entangled-mobile.md
│ ├── localisation.md
│ ├── realm.md
│ └── styleguide.md
├── featureguide
│ └── featureguide.md
└── overview.md
├── package.json
├── scripts
└── post-merge-githook.sh
├── src
├── desktop
│ ├── .gitignore
│ ├── .yarnrc
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── __mocks__
│ │ ├── electronMock.js
│ │ ├── fileMock.js
│ │ ├── iriMock.js
│ │ ├── markdownMock.js
│ │ ├── samples
│ │ │ ├── keychain.js
│ │ │ └── trytes.js
│ │ ├── stateMock.json
│ │ └── styleMock.js
│ ├── __tests__
│ │ ├── e2e
│ │ │ ├── Onboarding.test.js
│ │ │ └── Wallet.test.js
│ │ ├── libs
│ │ │ ├── crypto.test.js
│ │ │ └── seedStore
│ │ │ │ ├── keychain.test.js
│ │ │ │ ├── ledger.test.js
│ │ │ │ └── seedStoreCore.test.js
│ │ ├── native
│ │ │ └── preload
│ │ │ │ └── electron.test.js
│ │ └── ui
│ │ │ ├── components
│ │ │ ├── __snapshots__
│ │ │ │ ├── balance.test.jsx.snap
│ │ │ │ ├── button.test.jsx.snap
│ │ │ │ ├── chart.test.jsx.snap
│ │ │ │ ├── checkbox.test.jsx.snap
│ │ │ │ ├── checksum.test.jsx.snap
│ │ │ │ ├── clipboard.test.jsx.snap
│ │ │ │ ├── icon.test.jsx.snap
│ │ │ │ ├── info.test.jsx.snap
│ │ │ │ ├── list.test.jsx.snap
│ │ │ │ ├── progress.test.jsx.snap
│ │ │ │ ├── qr.test.js.snap
│ │ │ │ ├── seedPrint.test.jsx.snap
│ │ │ │ ├── toggle.test.jsx.snap
│ │ │ │ └── tooltip.test.jsx.snap
│ │ │ ├── balance.test.jsx
│ │ │ ├── button.test.jsx
│ │ │ ├── chart.test.jsx
│ │ │ ├── checkbox.test.jsx
│ │ │ ├── checksum.test.jsx
│ │ │ ├── clipboard.test.jsx
│ │ │ ├── icon.test.jsx
│ │ │ ├── info.test.jsx
│ │ │ ├── input
│ │ │ │ ├── __snapshots__
│ │ │ │ │ ├── address.test.jsx.snap
│ │ │ │ │ ├── amount.test.jsx.snap
│ │ │ │ │ ├── number.test.jsx.snap
│ │ │ │ │ ├── password.test.jsx.snap
│ │ │ │ │ ├── seed.test.jsx.snap
│ │ │ │ │ ├── select.test.jsx.snap
│ │ │ │ │ └── text.test.jsx.snap
│ │ │ │ ├── address.test.jsx
│ │ │ │ ├── amount.test.jsx
│ │ │ │ ├── number.test.jsx
│ │ │ │ ├── password.test.jsx
│ │ │ │ ├── seed.test.jsx
│ │ │ │ ├── select.test.jsx
│ │ │ │ └── text.test.jsx
│ │ │ ├── list.test.jsx
│ │ │ ├── modals
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── modal.test.jsx.snap
│ │ │ │ └── modal.test.jsx
│ │ │ ├── progress.test.jsx
│ │ │ ├── qr.test.js
│ │ │ ├── seedPrint.test.jsx
│ │ │ ├── toggle.test.jsx
│ │ │ └── tooltip.test.jsx
│ │ │ ├── global
│ │ │ ├── __snapshots__
│ │ │ │ ├── about.test.jsx.snap
│ │ │ │ ├── alerts.test.jsx.snap
│ │ │ │ ├── errorLog.test.jsx.snap
│ │ │ │ ├── seedExport.test.jsx.snap
│ │ │ │ ├── titlebar.test.jsx.snap
│ │ │ │ └── updateProgress.test.jsx.snap
│ │ │ ├── about.test.jsx
│ │ │ ├── alerts.test.jsx
│ │ │ ├── errorLog.test.jsx
│ │ │ ├── seedExport.test.jsx
│ │ │ ├── titlebar.test.jsx
│ │ │ └── updateProgress.test.jsx
│ │ │ └── views
│ │ │ ├── onboarding
│ │ │ ├── __snapshots__
│ │ │ │ ├── accountName.test.jsx-snap.png
│ │ │ │ ├── accountPassword.test.jsx-snap.png
│ │ │ │ ├── done.test.jsx-snap.png
│ │ │ │ ├── login.test.jsx-snap.png
│ │ │ │ ├── seedGenerate.test.jsx-snap.png
│ │ │ │ ├── seedIntro.test.jsx-snap.png
│ │ │ │ ├── seedSave.test.jsx-snap.png
│ │ │ │ ├── seedVerify.test.jsx-snap.png
│ │ │ │ └── welcome.test.jsx-snap.png
│ │ │ ├── accountName.test.jsx
│ │ │ ├── accountPassword.test.jsx
│ │ │ ├── done.test.jsx
│ │ │ ├── login.test.jsx
│ │ │ ├── seedGenerate.test.jsx
│ │ │ ├── seedIntro.test.jsx
│ │ │ ├── seedSave.test.jsx
│ │ │ ├── seedStore
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── ledger.test.jsx-snap.png
│ │ │ │ └── ledger.test.jsx
│ │ │ ├── seedVerify.test.jsx
│ │ │ └── welcome.test.jsx
│ │ │ ├── settings
│ │ │ ├── __snapshots__
│ │ │ │ ├── advanced.test.jsx-snap.png
│ │ │ │ ├── currency.test.jsx-snap.png
│ │ │ │ ├── language.test.jsx-snap.png
│ │ │ │ ├── mode.test.jsx-snap.png
│ │ │ │ ├── node.test.jsx-snap.png
│ │ │ │ ├── password.test.jsx-snap.png
│ │ │ │ └── theme.test.jsx-snap.png
│ │ │ ├── account
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── addresses.test.jsx-snap.png
│ │ │ │ └── addresses.test.jsx
│ │ │ ├── advanced.test.jsx
│ │ │ ├── currency.test.jsx
│ │ │ ├── language.test.jsx
│ │ │ ├── mode.test.jsx
│ │ │ ├── node.test.jsx
│ │ │ ├── password.test.jsx
│ │ │ └── theme.test.jsx
│ │ │ └── wallet
│ │ │ ├── __snapshots__
│ │ │ ├── dashboard.test.jsx-snap.png
│ │ │ ├── receive.test.jsx-snap.png
│ │ │ └── send.test.jsx-snap.png
│ │ │ ├── dashboard.test.jsx
│ │ │ ├── receive.test.jsx
│ │ │ └── send.test.jsx
│ ├── assets
│ │ ├── RC
│ │ │ ├── backdrop.png
│ │ │ ├── backdrop@2x.png
│ │ │ ├── background.tiff
│ │ │ ├── icon-1024.png
│ │ │ ├── icon.icns
│ │ │ ├── icon.ico
│ │ │ └── trayTemplate@2x.png
│ │ ├── backdrop.png
│ │ ├── backdrop@2x.png
│ │ ├── background.tiff
│ │ ├── icon-1024.png
│ │ ├── icon.icns
│ │ ├── icon.ico
│ │ └── trayTemplate@2x.png
│ ├── babel.config.js
│ ├── bugsnag.js
│ ├── bugsnag.sh
│ ├── entitlements.mac.plist
│ ├── native
│ │ ├── Index.js
│ │ ├── hardware
│ │ │ └── Ledger.js
│ │ ├── libs
│ │ │ ├── Entangled.js
│ │ │ ├── Menu.js
│ │ │ ├── Realm.js
│ │ │ └── kdbx.js
│ │ └── preload
│ │ │ ├── Electron.js
│ │ │ ├── development.js
│ │ │ ├── production.js
│ │ │ └── tray.js
│ ├── npm-shrinkwrap.json
│ ├── package.json
│ ├── patches
│ │ ├── @jest-runner+electron+3.0.0.patch
│ │ ├── app-builder-lib+22.5.1.patch
│ │ └── electron-updater+4.0.14.patch
│ ├── scripts
│ │ ├── jestEnv.js
│ │ ├── jestLibs.js
│ │ ├── jestSetup.js
│ │ ├── jestTeardown.js
│ │ ├── notarize.macos.js
│ │ └── webpackServer.js
│ ├── src
│ │ ├── index.js
│ │ ├── libs
│ │ │ ├── SeedStore
│ │ │ │ ├── Keychain.js
│ │ │ │ ├── Ledger.js
│ │ │ │ ├── SeedStoreCore.js
│ │ │ │ └── index.js
│ │ │ ├── bugsnag.js
│ │ │ ├── constants.js
│ │ │ ├── crypto.js
│ │ │ ├── realm.js
│ │ │ └── storage.js
│ │ └── ui
│ │ │ ├── Index.js
│ │ │ ├── Tray.js
│ │ │ ├── components
│ │ │ ├── Balance.js
│ │ │ ├── Button.js
│ │ │ ├── Chart.js
│ │ │ ├── Checkbox.js
│ │ │ ├── Checksum.js
│ │ │ ├── Clipboard.js
│ │ │ ├── Dropzone.js
│ │ │ ├── Icon.js
│ │ │ ├── Info.js
│ │ │ ├── List.js
│ │ │ ├── Loading.js
│ │ │ ├── Loading.scss
│ │ │ ├── Logo.js
│ │ │ ├── Lottie.js
│ │ │ ├── Progress.js
│ │ │ ├── QR.js
│ │ │ ├── Scrollbar.js
│ │ │ ├── SeedPrint.js
│ │ │ ├── Tab.js
│ │ │ ├── Toggle.js
│ │ │ ├── Tooltip.js
│ │ │ ├── Transaction.js
│ │ │ ├── Waves.js
│ │ │ ├── balance.scss
│ │ │ ├── button.scss
│ │ │ ├── chart.scss
│ │ │ ├── checkbox.scss
│ │ │ ├── clipboard.scss
│ │ │ ├── dropzone.scss
│ │ │ ├── icon.scss
│ │ │ ├── info.scss
│ │ │ ├── input
│ │ │ │ ├── Address.js
│ │ │ │ ├── Amount.js
│ │ │ │ ├── Number.js
│ │ │ │ ├── Password.js
│ │ │ │ ├── Seed.js
│ │ │ │ ├── Select.js
│ │ │ │ ├── Text.js
│ │ │ │ └── input.scss
│ │ │ ├── list.scss
│ │ │ ├── logo.scss
│ │ │ ├── modal
│ │ │ │ ├── Confirm.js
│ │ │ │ ├── Modal.js
│ │ │ │ ├── Password.js
│ │ │ │ └── modal.scss
│ │ │ ├── progress.scss
│ │ │ ├── scrollbar.scss
│ │ │ ├── seedPrint.scss
│ │ │ ├── tab.scss
│ │ │ ├── toggle.scss
│ │ │ ├── tooltip.scss
│ │ │ └── waves.scss
│ │ │ ├── global
│ │ │ ├── About.js
│ │ │ ├── Alerts.js
│ │ │ ├── ErrorLog.js
│ │ │ ├── FatalError.js
│ │ │ ├── Idle.js
│ │ │ ├── Migration.js
│ │ │ ├── Polling.js
│ │ │ ├── SeedExport.js
│ │ │ ├── Theme.js
│ │ │ ├── Titlebar.js
│ │ │ ├── UpdateProgress.js
│ │ │ ├── about.scss
│ │ │ ├── alerts.scss
│ │ │ ├── seedExport.scss
│ │ │ ├── seedStore
│ │ │ │ ├── Ledger.js
│ │ │ │ └── index.scss
│ │ │ ├── theming.scss
│ │ │ └── titlebar.scss
│ │ │ ├── index.scss
│ │ │ ├── style
│ │ │ ├── _animations.scss
│ │ │ ├── _reset.scss
│ │ │ └── _typography.scss
│ │ │ ├── tray.scss
│ │ │ └── views
│ │ │ ├── onboarding
│ │ │ ├── AccountName.js
│ │ │ ├── AccountPassword.js
│ │ │ ├── Done.js
│ │ │ ├── Index.js
│ │ │ ├── Login.js
│ │ │ ├── SeedGenerate.js
│ │ │ ├── SeedIntro.js
│ │ │ ├── SeedSave.js
│ │ │ ├── SeedSaveWrite.js
│ │ │ ├── SeedVerify.js
│ │ │ ├── Welcome.js
│ │ │ ├── index.scss
│ │ │ ├── seedStore
│ │ │ │ ├── Ledger.js
│ │ │ │ └── index.scss
│ │ │ └── welcome.scss
│ │ │ ├── settings
│ │ │ ├── Advanced.js
│ │ │ ├── Currency.js
│ │ │ ├── Index.js
│ │ │ ├── Language.js
│ │ │ ├── Mode.js
│ │ │ ├── Node.js
│ │ │ ├── NodeCustom.js
│ │ │ ├── Password.js
│ │ │ ├── Theme.js
│ │ │ ├── account
│ │ │ │ ├── Addresses.js
│ │ │ │ ├── Name.js
│ │ │ │ ├── Remove.js
│ │ │ │ ├── Seed.js
│ │ │ │ ├── Tools.js
│ │ │ │ ├── addresses.scss
│ │ │ │ └── seed.scss
│ │ │ └── index.scss
│ │ │ └── wallet
│ │ │ ├── Dashboard.js
│ │ │ ├── Index.js
│ │ │ ├── Receive.js
│ │ │ ├── Send.js
│ │ │ ├── Sidebar.js
│ │ │ ├── dashboard.scss
│ │ │ ├── index.scss
│ │ │ ├── receive.scss
│ │ │ └── send.scss
│ └── webpack.config
│ │ ├── config.app.js
│ │ ├── config.main.js
│ │ └── index.js
├── mobile
│ ├── .babelrc
│ ├── .buckconfig
│ ├── .eslintrc.yml
│ ├── .gitattributes
│ ├── .snyk
│ ├── .watchmanconfig
│ ├── .yarnrc
│ ├── README.md
│ ├── __mocks__
│ │ ├── react-native-device-info.js
│ │ └── theme.js
│ ├── __tests__
│ │ ├── .eslintrc.yml
│ │ ├── libs
│ │ │ ├── crypto.spec.js
│ │ │ └── keychain.spec.js
│ │ └── ui
│ │ │ ├── components
│ │ │ ├── Checksum.spec.js
│ │ │ ├── CtaButton.spec.js
│ │ │ ├── CustomTextInput.spec.js
│ │ │ ├── Dropdown.spec.js
│ │ │ ├── EnterPasswordOnLogin.spec.js
│ │ │ ├── Header.spec.js
│ │ │ ├── Letter.spec.js
│ │ │ ├── LogoutConfirmationModal.spec.js
│ │ │ ├── NotificationLogModal.spec.js
│ │ │ ├── Poll.spec.js
│ │ │ ├── QrScanner.spec.js
│ │ │ ├── RootDetectionModal.spec.js
│ │ │ ├── SeedVaultImportComponent.spec.js
│ │ │ ├── SimpleTransactionRow.spec.js
│ │ │ ├── Tab.spec.js
│ │ │ ├── TransactionHistoryModal.spec.js
│ │ │ └── TransactionRow.spec.js
│ │ │ └── views
│ │ │ ├── onboarding
│ │ │ └── SetAccountName.spec.js
│ │ │ └── wallet
│ │ │ ├── AddCustomNode.spec.js
│ │ │ ├── AdvancedSettings.spec.js
│ │ │ ├── Balance.spec.js
│ │ │ ├── CurrencySelection.spec.js
│ │ │ ├── EditAccountName.spec.js
│ │ │ ├── MainSettings.spec.js
│ │ │ ├── ManualSync.spec.js
│ │ │ ├── Send.spec.js
│ │ │ ├── SnapshotTransition.spec.js
│ │ │ └── ViewAddresses.spec.js
│ ├── android
│ │ ├── Gemfile
│ │ ├── Gemfile.lock
│ │ ├── app
│ │ │ ├── BUCK
│ │ │ ├── bin
│ │ │ │ └── BUCK
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ │ ├── beta
│ │ │ │ ├── ic_launcher-web.png
│ │ │ │ └── res
│ │ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ └── values
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── debug
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── ic_launcher-web.png
│ │ │ │ └── res
│ │ │ │ │ ├── drawable
│ │ │ │ │ ├── background_splash.xml
│ │ │ │ │ └── icon.png
│ │ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── values
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ │ └── xml
│ │ │ │ │ └── network_security_config.xml
│ │ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets
│ │ │ │ └── fonts
│ │ │ │ │ ├── Icons.ttf
│ │ │ │ │ ├── SourceCodePro-Medium.ttf
│ │ │ │ │ ├── SourceSansPro-Bold.ttf
│ │ │ │ │ ├── SourceSansPro-Light.ttf
│ │ │ │ │ ├── SourceSansPro-Regular.ttf
│ │ │ │ │ └── SourceSansPro-SemiBold.ttf
│ │ │ │ ├── ic_launcher-web.png
│ │ │ │ ├── java
│ │ │ │ ├── com
│ │ │ │ │ └── iota
│ │ │ │ │ │ └── trinity
│ │ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ │ └── MainApplication.java
│ │ │ │ ├── module
│ │ │ │ │ └── share
│ │ │ │ │ │ ├── ShareSecure.java
│ │ │ │ │ │ └── ShareSecurePackage.java
│ │ │ │ └── org
│ │ │ │ │ └── iota
│ │ │ │ │ └── mobile
│ │ │ │ │ ├── Argon2Android.java
│ │ │ │ │ ├── Converter.java
│ │ │ │ │ ├── EntangledAndroid.java
│ │ │ │ │ ├── IOTAMobilePackage.java
│ │ │ │ │ ├── Interface.java
│ │ │ │ │ └── NativeUtilsAndroid.java
│ │ │ │ ├── jniLibs
│ │ │ │ ├── arm64-v8a
│ │ │ │ │ └── libdummy.so
│ │ │ │ ├── armeabi-v7a
│ │ │ │ │ └── libdummy.so
│ │ │ │ ├── x86
│ │ │ │ │ └── libdummy.so
│ │ │ │ └── x86_64
│ │ │ │ │ └── libdummy.so
│ │ │ │ └── res
│ │ │ │ ├── drawable
│ │ │ │ ├── background_splash.xml
│ │ │ │ └── icon.png
│ │ │ │ ├── layout
│ │ │ │ └── launch_screen.xml
│ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── icon.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── icon.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── icon.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── icon.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_foreground.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── icon.png
│ │ │ │ ├── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ └── styles.xml
│ │ │ │ └── xml
│ │ │ │ └── filepaths.xml
│ │ ├── build.gradle
│ │ ├── fastlane
│ │ │ ├── Appfile
│ │ │ ├── Fastfile
│ │ │ ├── Pluginfile
│ │ │ ├── README.md
│ │ │ └── actions
│ │ │ │ ├── increment_version_name.rb
│ │ │ │ └── set_meta_data.rb
│ │ ├── gradle.properties
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── keystores
│ │ │ ├── BUCK
│ │ │ └── debug.keystore.properties
│ │ └── settings.gradle
│ ├── app.json
│ ├── index.js
│ ├── ios
│ │ ├── Argon2
│ │ │ ├── Argon2Core.swift
│ │ │ ├── Argon2IOS.m
│ │ │ └── Argon2IOS.swift
│ │ ├── Config
│ │ │ ├── buildnumber.xcconfig
│ │ │ ├── iotaWallet-debug-config.xcconfig
│ │ │ ├── iotaWallet-release-config.xcconfig
│ │ │ ├── iotaWalletTests-debug-config.xcconfig
│ │ │ └── iotaWalletTests-release-config.xcconfig
│ │ ├── EntangledIOS
│ │ │ ├── EntangledIOS.h
│ │ │ ├── EntangledIOS.m
│ │ │ ├── EntangledIOSUtils.h
│ │ │ ├── EntangledIOSUtils.m
│ │ │ ├── EntangledKit.framework
│ │ │ │ ├── EntangledKit
│ │ │ │ ├── Headers
│ │ │ │ │ ├── EntangledKit.h
│ │ │ │ │ └── Interface.h
│ │ │ │ └── Modules
│ │ │ │ │ └── module.modulemap
│ │ │ └── bindings.h
│ │ ├── Gemfile
│ │ ├── Gemfile.lock
│ │ ├── Launch Screen.storyboard
│ │ ├── NativeUtils
│ │ │ ├── NativeUtilsIOS.m
│ │ │ └── NativeUtilsIOS.swift
│ │ ├── Podfile
│ │ ├── Podfile.lock
│ │ ├── SourceSansPro-Bold.ttf
│ │ ├── SourceSansPro-Light.ttf
│ │ ├── SourceSansPro-Regular.ttf
│ │ ├── ar.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── cs.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── da.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── de.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── el.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── en.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── es-419.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── es.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── fastlane
│ │ │ ├── Deliverfile
│ │ │ ├── Fastfile
│ │ │ ├── Pluginfile
│ │ │ ├── README.md
│ │ │ ├── Snapfile
│ │ │ ├── SnapshotHelper.swift
│ │ │ └── metadata
│ │ │ │ └── en-GB
│ │ │ │ ├── description.txt
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── name.txt
│ │ │ │ ├── promotional_text.txt
│ │ │ │ ├── release_notes.txt
│ │ │ │ ├── subtitle.txt
│ │ │ │ └── support_url.txt
│ │ ├── fi.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── fr.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── he.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── hi.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── id.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── iotaWallet-tvOS
│ │ │ └── Info.plist
│ │ ├── iotaWallet-tvOSTests
│ │ │ └── Info.plist
│ │ ├── iotaWallet.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ └── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ ├── iotaWallet-AppStore.xcscheme
│ │ │ │ ├── iotaWallet-Beta.xcscheme
│ │ │ │ ├── iotaWallet-Debug.xcscheme
│ │ │ │ ├── iotaWallet-tvOS.xcscheme
│ │ │ │ └── iotaWalletUITests.xcscheme
│ │ ├── iotaWallet.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── iotaWallet
│ │ │ ├── AppDelegate.h
│ │ │ ├── AppDelegate.m
│ │ │ ├── Empty.swift
│ │ │ ├── Images.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ ├── Icon-App-20x20@2x-1.png
│ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ ├── Icon-App-29x29@1x-1.png
│ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ ├── Icon-App-29x29@2x-1.png
│ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ ├── Icon-App-40x40@2x-1.png
│ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ ├── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ └── ItunesArtwork@2x.png
│ │ │ │ ├── AppIconBeta.appiconset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── icon-ios-1024@1x.png
│ │ │ │ │ ├── icon-ios-20@2x.png
│ │ │ │ │ ├── icon-ios-20@3x.png
│ │ │ │ │ ├── icon-ios-29@2x.png
│ │ │ │ │ ├── icon-ios-29@3x.png
│ │ │ │ │ ├── icon-ios-40@2x.png
│ │ │ │ │ ├── icon-ios-40@3x.png
│ │ │ │ │ ├── icon-ios-60@2x.png
│ │ │ │ │ └── icon-ios-60@3x.png
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchImage.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── iota-logo-white.png
│ │ │ │ │ ├── iota-logo-white_2x.png
│ │ │ │ │ └── iota-logo-white_3x.png
│ │ │ │ ├── LaunchImage.launchimage
│ │ │ │ │ └── Contents.json
│ │ │ │ └── SplashIcon.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── iota-logo-white.png
│ │ │ │ │ ├── iota-logo-white_2x.png
│ │ │ │ │ └── iota-logo-white_3x.png
│ │ │ ├── Info.plist
│ │ │ ├── iotaWallet-Bridging-Header.h
│ │ │ ├── iotaWallet.entitlements
│ │ │ └── main.m
│ │ ├── iotaWalletTests
│ │ │ ├── Info.plist
│ │ │ └── iotaWalletTests.m
│ │ ├── iotaWalletUITests
│ │ │ ├── Info.plist
│ │ │ ├── SnapshotHelper.swift
│ │ │ └── iotaWalletUITests.swift
│ │ ├── it.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── ja.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── ko.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── localizations
│ │ │ ├── ar.xliff
│ │ │ ├── bg.xliff
│ │ │ ├── ca.xliff
│ │ │ ├── cs.xliff
│ │ │ ├── da.xliff
│ │ │ ├── de.xliff
│ │ │ ├── de_CH.xliff
│ │ │ ├── el.xliff
│ │ │ ├── en.xliff
│ │ │ ├── es-419.xliff
│ │ │ ├── es.xliff
│ │ │ ├── es_419.xliff
│ │ │ ├── et.xliff
│ │ │ ├── fa.xliff
│ │ │ ├── fi.xliff
│ │ │ ├── fr.xliff
│ │ │ ├── he.xliff
│ │ │ ├── hi.xliff
│ │ │ ├── hr.xliff
│ │ │ ├── hu.xliff
│ │ │ ├── id.xliff
│ │ │ ├── it.xliff
│ │ │ ├── ja.xliff
│ │ │ ├── ka.xliff
│ │ │ ├── kn.xliff
│ │ │ ├── ko.xliff
│ │ │ ├── lt.xliff
│ │ │ ├── lv.xliff
│ │ │ ├── mi.xliff
│ │ │ ├── ml.xliff
│ │ │ ├── nb.xliff
│ │ │ ├── nl.xliff
│ │ │ ├── no.xliff
│ │ │ ├── pl.xliff
│ │ │ ├── pt-BR.xliff
│ │ │ ├── pt-PT.xliff
│ │ │ ├── pt.xliff
│ │ │ ├── pt_BR.xliff
│ │ │ ├── ro.xliff
│ │ │ ├── ru.xliff
│ │ │ ├── sk.xliff
│ │ │ ├── sl.xliff
│ │ │ ├── sr_CS.xliff
│ │ │ ├── sr_Latn.xliff
│ │ │ ├── sv.xliff
│ │ │ ├── ta.xliff
│ │ │ ├── th.xliff
│ │ │ ├── tr.xliff
│ │ │ ├── ur.xliff
│ │ │ ├── vi.xliff
│ │ │ ├── zh-Hans.xliff
│ │ │ └── zh-Hant.xliff
│ │ ├── lv.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── nb.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── nl.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── pl.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── pt-BR.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── pt-PT.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── ro.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── ru.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── sk.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── sl.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── sv.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── tr.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── ur.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ ├── zh-Hans.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ │ └── zh-Hant.lproj
│ │ │ ├── InfoPlist.strings
│ │ │ └── LaunchScreen.xib
│ ├── nodejs-assets
│ │ └── nodejs-project
│ │ │ ├── main.js
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ ├── package.json
│ ├── patches
│ │ ├── buffer+4.9.1.patch
│ │ ├── bugsnag-react-native+2.23.6.patch
│ │ ├── react-native+0.59.10.patch
│ │ ├── react-native-camera+1.5.1.patch
│ │ ├── react-native-device-info+0.13.0.patch
│ │ ├── react-native-document-picker+3.3.2.patch
│ │ ├── react-native-keychain+3.0.0.patch
│ │ └── react-native-schemes-manager+2.0.0.patch
│ ├── rn-cli.config.js
│ ├── safetynet.sh
│ ├── scripts
│ │ └── build-entangled-android.sh
│ ├── shim.js
│ ├── src
│ │ ├── libs
│ │ │ ├── SeedStore
│ │ │ │ ├── Keychain.js
│ │ │ │ ├── SeedStoreCore.js
│ │ │ │ └── index.js
│ │ │ ├── bugsnag.js
│ │ │ ├── crypto.js
│ │ │ ├── device.js
│ │ │ ├── dimensions.js
│ │ │ ├── keychain.js
│ │ │ ├── nativeModules.js
│ │ │ ├── navigation.js
│ │ │ ├── progressSteps.js
│ │ │ ├── realm.js
│ │ │ ├── safetynet.js
│ │ │ └── store.js
│ │ └── ui
│ │ │ ├── components
│ │ │ ├── AmountTextInput.js
│ │ │ ├── AnimatedComponent.js
│ │ │ ├── BackPress.js
│ │ │ ├── BiometricInfoModal.js
│ │ │ ├── Button.js
│ │ │ ├── Chart.js
│ │ │ ├── Checksum.js
│ │ │ ├── ChecksumModal.js
│ │ │ ├── CtaButton.js
│ │ │ ├── CustomQRCode.js
│ │ │ ├── CustomTextInput.js
│ │ │ ├── DeepLinking.js
│ │ │ ├── Dropdown.js
│ │ │ ├── DualFooterButtons.js
│ │ │ ├── DynamicStatusBar.js
│ │ │ ├── EnterPassword.js
│ │ │ ├── EnterPasswordOnLogin.js
│ │ │ ├── FingerprintModal.js
│ │ │ ├── Header.js
│ │ │ ├── InfoBox.js
│ │ │ ├── KeyboardMonitor.js
│ │ │ ├── Letter.js
│ │ │ ├── Logout.js
│ │ │ ├── LogoutConfirmationModal.js
│ │ │ ├── ManualRefresh.js
│ │ │ ├── Migration.js
│ │ │ ├── ModalButtons.js
│ │ │ ├── ModalComponent.js
│ │ │ ├── ModalView.js
│ │ │ ├── MultiTextInput.js
│ │ │ ├── NotificationButton.js
│ │ │ ├── NotificationLogModal.js
│ │ │ ├── OldProgressBar.js
│ │ │ ├── PasswordFields.js
│ │ │ ├── PasswordValidationModal.js
│ │ │ ├── Poll.js
│ │ │ ├── PrintModal.js
│ │ │ ├── QrScanner.js
│ │ │ ├── RootDetectionModal.js
│ │ │ ├── SafeAreaView.js
│ │ │ ├── ScramblingLetter.js
│ │ │ ├── ScramblingText.js
│ │ │ ├── SeedInfoModal.js
│ │ │ ├── SeedPicker.js
│ │ │ ├── SeedVaultExportComponent.js
│ │ │ ├── SeedVaultImportComponent.js
│ │ │ ├── SendProgressBar.js
│ │ │ ├── SettingsBackButton.js
│ │ │ ├── SettingsContent.js
│ │ │ ├── SettingsDualFooter.js
│ │ │ ├── SettingsRow.js
│ │ │ ├── SettingsRowsContainer.js
│ │ │ ├── SettingsSeparator.js
│ │ │ ├── SimpleTransactionRow.js
│ │ │ ├── SingleFooterButton.js
│ │ │ ├── Slider.js
│ │ │ ├── SnapshotTransitionInfoModal.js
│ │ │ ├── StatefulDropdownAlert.js
│ │ │ ├── Tab.js
│ │ │ ├── TabContent.js
│ │ │ ├── Tabs.js
│ │ │ ├── TextWithLetterSpacing.js
│ │ │ ├── Toggle.js
│ │ │ ├── TopBar.js
│ │ │ ├── TransactionFilters.js
│ │ │ ├── TransactionHistoryModal.js
│ │ │ ├── TransactionRow.js
│ │ │ ├── TransferConfirmationModal.js
│ │ │ ├── UnitInfoModal.js
│ │ │ ├── UserActivity.js
│ │ │ ├── UserInactivity.js
│ │ │ ├── WithDropdownAlert.js
│ │ │ └── WithStatusBar.js
│ │ │ ├── routes
│ │ │ ├── entry.js
│ │ │ └── navigation.js
│ │ │ ├── theme
│ │ │ ├── fonts.js
│ │ │ ├── general.js
│ │ │ └── icons.js
│ │ │ └── views
│ │ │ ├── onboarding
│ │ │ ├── EnterSeed.js
│ │ │ ├── LanguageSetup.js
│ │ │ ├── NewSeedSetup.js
│ │ │ ├── OnboardingComplete.js
│ │ │ ├── PrintBlankTemplate.js
│ │ │ ├── PrivacyPolicy.js
│ │ │ ├── SaveSeedConfirmation.js
│ │ │ ├── SaveYourSeed.js
│ │ │ ├── SeedReentry.js
│ │ │ ├── SeedVaultBackup.js
│ │ │ ├── SetAccountName.js
│ │ │ ├── SetPassword.js
│ │ │ ├── TermsAndConditions.js
│ │ │ ├── WalletSetup.js
│ │ │ ├── Welcome.js
│ │ │ └── WriteSeedDown.js
│ │ │ └── wallet
│ │ │ ├── About.js
│ │ │ ├── AccountManagement.js
│ │ │ ├── AddCustomNode.js
│ │ │ ├── AddNewAccount.js
│ │ │ ├── AdvancedSettings.js
│ │ │ ├── AutoPromotion.js
│ │ │ ├── Balance.js
│ │ │ ├── BiometricAuthentication.js
│ │ │ ├── ChangePassword.js
│ │ │ ├── CurrencySelection.js
│ │ │ ├── DeepLinking.js
│ │ │ ├── DeleteAccount.js
│ │ │ ├── EditAccountName.js
│ │ │ ├── ForceChangePassword.js
│ │ │ ├── Help.js
│ │ │ ├── History.js
│ │ │ ├── Home.js
│ │ │ ├── InactivityLogout.js
│ │ │ ├── LanguageSelection.js
│ │ │ ├── Loading.js
│ │ │ ├── Login.js
│ │ │ ├── MainSettings.js
│ │ │ ├── ManualSync.js
│ │ │ ├── ModeSelection.js
│ │ │ ├── NodeSettings.js
│ │ │ ├── Receive.js
│ │ │ ├── SecuritySettings.js
│ │ │ ├── SeedVaultSettings.js
│ │ │ ├── Send.js
│ │ │ ├── Settings.js
│ │ │ ├── SnapshotTransition.js
│ │ │ ├── StateExport.js
│ │ │ ├── ThemeCustomisation.js
│ │ │ ├── UseExistingSeed.js
│ │ │ ├── ViewAddresses.js
│ │ │ ├── ViewSeed.js
│ │ │ ├── WalletResetConfirmation.js
│ │ │ └── WalletResetRequirePassword.js
│ ├── testConfig.js
│ └── yarn.lock
└── shared
│ ├── .babelrc
│ ├── .eslintrc.yml
│ ├── .snyk
│ ├── __tests__
│ ├── __samples__
│ │ ├── accounts.js
│ │ ├── addresses.js
│ │ ├── bundles.js
│ │ ├── transactions.js
│ │ └── trytes.js
│ ├── actions
│ │ ├── accounts.spec.js
│ │ └── transfers.spec.js
│ ├── beforeAll.spec.js
│ ├── libs
│ │ ├── i18n.spec.js
│ │ ├── iota
│ │ │ ├── accounts.spec.js
│ │ │ ├── addresses.spec.js
│ │ │ ├── extendedApi.spec.js
│ │ │ ├── inputs.spec.js
│ │ │ ├── quorum.spec.js
│ │ │ ├── recovery.spec.js
│ │ │ ├── transfers.spec.js
│ │ │ └── utils.spec.js
│ │ └── utils.spec.js
│ ├── middlewares
│ │ ├── alerts.spec.js
│ │ └── network.spec.js
│ ├── reducers
│ │ ├── accounts.spec.js
│ │ ├── alerts.spec.js
│ │ ├── home.spec.js
│ │ ├── marketData.spec.js
│ │ ├── polling.spec.js
│ │ ├── progress.spec.js
│ │ ├── settings.spec.js
│ │ ├── ui.spec.js
│ │ └── wallet.spec.js
│ ├── selectors
│ │ ├── accounts.spec.js
│ │ └── global.spec.js
│ └── storage
│ │ └── node.spec.js
│ ├── actions
│ ├── accounts.js
│ ├── alerts.js
│ ├── home.js
│ ├── keychain.js
│ ├── marketData.js
│ ├── migrations.js
│ ├── polling.js
│ ├── progress.js
│ ├── recovery.js
│ ├── settings.js
│ ├── transfers.js
│ ├── ui.js
│ └── wallet.js
│ ├── animations
│ ├── fingerprint.json
│ ├── index.js
│ ├── language.json
│ ├── ledger.json
│ ├── loading.json
│ ├── logout.json
│ ├── onboardingComplete.json
│ ├── progressLoading.json
│ ├── progressSuccess.json
│ ├── sending.json
│ ├── sendingDesktop.json
│ ├── spinner.json
│ └── welcome.json
│ ├── config.js
│ ├── containers
│ ├── components
│ │ ├── Chart.js
│ │ └── List.js
│ ├── global
│ │ └── Alerts.js
│ ├── settings
│ │ ├── Currency.js
│ │ └── Node.js
│ └── wallet
│ │ └── Send.js
│ ├── custom-fonts
│ ├── SourceCodePro-Medium.ttf
│ ├── SourceSansPro-Bold.ttf
│ ├── SourceSansPro-Light.ttf
│ ├── SourceSansPro-Regular.json
│ ├── SourceSansPro-Regular.ttf
│ ├── SourceSansPro-SemiBold.ttf
│ └── icons
│ │ ├── Linearicons-Free.eot
│ │ ├── Linearicons-Free.svg
│ │ ├── Linearicons-Free.ttf
│ │ ├── Linearicons-Free.woff
│ │ └── Linearicons-Free.woff2
│ ├── icons
│ ├── Icons.svg
│ ├── Icons.ttf
│ ├── generate.js
│ ├── icons.js
│ └── icons
│ │ ├── addresses.svg
│ │ ├── advanced.svg
│ │ ├── arrowDown.svg
│ │ ├── arrowLeft.svg
│ │ ├── arrowRight.svg
│ │ ├── arrowUp.svg
│ │ ├── attention.svg
│ │ ├── biometric.svg
│ │ ├── bookmark.svg
│ │ ├── camera.svg
│ │ ├── cameraFlip.svg
│ │ ├── chart.svg
│ │ ├── chevronDown.svg
│ │ ├── chevronLeft.svg
│ │ ├── chevronRight.svg
│ │ ├── chevronUp.svg
│ │ ├── copy.svg
│ │ ├── cross.svg
│ │ ├── currency.svg
│ │ ├── edit.svg
│ │ ├── eye.svg
│ │ ├── eyeSlash.svg
│ │ ├── fingerprint.svg
│ │ ├── fingerprintDisabled.svg
│ │ ├── help.svg
│ │ ├── history.svg
│ │ ├── info.svg
│ │ ├── iota.svg
│ │ ├── key.svg
│ │ ├── keyVertical.svg
│ │ ├── language.svg
│ │ ├── link.svg
│ │ ├── logout.svg
│ │ ├── minus.svg
│ │ ├── mode.svg
│ │ ├── node.svg
│ │ ├── notification.svg
│ │ ├── password.svg
│ │ ├── plus.svg
│ │ ├── plusAlt.svg
│ │ ├── pow.svg
│ │ ├── print.svg
│ │ ├── receive.svg
│ │ ├── search.svg
│ │ ├── security.svg
│ │ ├── send.svg
│ │ ├── settings.svg
│ │ ├── settingsAlt.svg
│ │ ├── snapshot.svg
│ │ ├── sync.svg
│ │ ├── theme.svg
│ │ ├── tick.svg
│ │ ├── tickRound.svg
│ │ ├── trash.svg
│ │ ├── twoFA.svg
│ │ ├── user.svg
│ │ ├── vault.svg
│ │ ├── wallet.svg
│ │ └── write.svg
│ ├── images
│ ├── PaperWallets.js
│ ├── checkbox-checked-black.png
│ ├── checkbox-checked-white.png
│ ├── checkbox-unchecked-black.png
│ ├── checkbox-unchecked-white.png
│ ├── circle-black.png
│ ├── circle-white.png
│ ├── dot-circle-black.png
│ ├── dot-circle-white.png
│ ├── error.png
│ ├── infoIcon.png
│ ├── successIcon.png
│ └── warnIcon.png
│ ├── libs
│ ├── crypto.js
│ ├── currency.js
│ ├── date.js
│ ├── errors.js
│ ├── exports.js
│ ├── global.js
│ ├── html.js
│ ├── i18n.js
│ ├── i18next.js
│ ├── iota
│ │ ├── NodesManager.js
│ │ ├── accounts.js
│ │ ├── addresses.js
│ │ ├── converter.js
│ │ ├── extendedApi.js
│ │ ├── index.js
│ │ ├── inputs.js
│ │ ├── quorum.js
│ │ ├── recovery.js
│ │ ├── transfers.js
│ │ └── utils.js
│ ├── migrations.js
│ ├── originalRequire.js
│ ├── password.js
│ ├── storageToStateMappers.js
│ ├── utils.js
│ └── versions.json
│ ├── locales
│ ├── ar
│ │ └── translation.json
│ ├── bg
│ │ └── translation.json
│ ├── ca
│ │ └── translation.json
│ ├── cs
│ │ └── translation.json
│ ├── da
│ │ └── translation.json
│ ├── de-CH
│ │ └── translation.json
│ ├── de
│ │ └── translation.json
│ ├── el
│ │ └── translation.json
│ ├── en
│ │ └── translation.json
│ ├── es-ES
│ │ └── translation.json
│ ├── es-LA
│ │ └── translation.json
│ ├── et
│ │ └── translation.json
│ ├── fa
│ │ └── translation.json
│ ├── fi
│ │ └── translation.json
│ ├── fr
│ │ └── translation.json
│ ├── he
│ │ └── translation.json
│ ├── hi
│ │ └── translation.json
│ ├── hr
│ │ └── translation.json
│ ├── hu
│ │ └── translation.json
│ ├── id
│ │ └── translation.json
│ ├── it
│ │ └── translation.json
│ ├── ja
│ │ └── translation.json
│ ├── ka
│ │ └── translation.json
│ ├── kn
│ │ └── translation.json
│ ├── ko
│ │ └── translation.json
│ ├── lt
│ │ └── translation.json
│ ├── lv
│ │ └── translation.json
│ ├── mi
│ │ └── translation.json
│ ├── ml
│ │ └── translation.json
│ ├── nl
│ │ └── translation.json
│ ├── no
│ │ └── translation.json
│ ├── pl
│ │ └── translation.json
│ ├── pt-BR
│ │ └── translation.json
│ ├── pt-PT
│ │ └── translation.json
│ ├── ro
│ │ └── translation.json
│ ├── ru
│ │ └── translation.json
│ ├── sk
│ │ └── translation.json
│ ├── sl
│ │ └── translation.json
│ ├── sr
│ │ └── translation.json
│ ├── sv-SE
│ │ └── translation.json
│ ├── ta
│ │ └── translation.json
│ ├── th
│ │ └── translation.json
│ ├── tr
│ │ └── translation.json
│ ├── ur
│ │ └── translation.json
│ ├── vi
│ │ └── translation.json
│ ├── zh-CN
│ │ └── translation.json
│ └── zh-TW
│ │ └── translation.json
│ ├── markdown
│ ├── dePrivacyPolicyAndroid.js
│ ├── dePrivacyPolicyIOS.js
│ ├── deTermsAndConditionsAndroid.js
│ ├── deTermsAndConditionsIOS.js
│ ├── enPrivacyPolicyAndroid.js
│ ├── enPrivacyPolicyIOS.js
│ ├── enTermsAndConditionsAndroid.js
│ ├── enTermsAndConditionsIOS.js
│ └── index.js
│ ├── middlewares
│ ├── alerts.js
│ ├── modal.js
│ ├── network.js
│ └── version.js
│ ├── package.json
│ ├── reducers
│ ├── accounts.js
│ ├── alerts.js
│ ├── home.js
│ ├── keychain.js
│ ├── marketData.js
│ ├── polling.js
│ ├── progress.js
│ ├── settings.js
│ ├── ui.js
│ └── wallet.js
│ ├── schemas
│ ├── default.js
│ ├── index.js
│ ├── v0
│ │ └── index.js
│ ├── v1
│ │ └── index.js
│ ├── v10
│ │ └── index.js
│ ├── v2
│ │ └── index.js
│ ├── v3
│ │ └── index.js
│ ├── v4
│ │ └── index.js
│ ├── v5
│ │ └── index.js
│ ├── v6
│ │ └── index.js
│ ├── v7
│ │ └── index.js
│ ├── v8
│ │ └── index.js
│ └── v9
│ │ └── index.js
│ ├── selectors
│ ├── accounts.js
│ └── global.js
│ ├── storage
│ └── index.js
│ ├── store.js
│ ├── themes
│ ├── paper-wallet-filled.svg
│ ├── paper-wallet.svg
│ ├── sync.js
│ ├── themes.js
│ └── themes
│ │ ├── Classic.js
│ │ ├── Contemporary.js
│ │ ├── Dark.js
│ │ ├── Default.js
│ │ ├── Electric.js
│ │ ├── Ionic.js
│ │ ├── Light.js
│ │ ├── Mint.js
│ │ └── SteelBlue.js
│ ├── types
│ └── index.js
│ └── yarn.lock
├── trinity.png
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 4
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | android/*
2 | ios/*
3 | node_modules/*
4 | **/node_modules/*
5 | *.min.js
6 | src/mobile/shim.js
7 | dist/
8 | src/shared/locales/*
9 | !src/shared/locales/en/translation.json
10 | src/mobile/nodejs-assets/nodejs-project/sample-main.js
11 | src/mobile/ios/*
12 | src/mobile/android/*
13 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.pbxproj -text
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Discord
4 | url: https://discord.iota.org/
5 | about: Please ask and answer questions here.
6 | - name: Security vulnerabilities
7 | url: security@iota.org
8 | about: Please report security vulnerabilities here.
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Request a feature for Trinity
3 | about: Request a feature
4 | ---
5 |
6 | ## Description
7 |
8 | Briefly describe the feature that you are requesting.
9 |
10 | ## Motivation
11 |
12 | Explain why this feature is needed.
13 |
14 | ## Requirements
15 |
16 | Write a list of what you want this feature to do.
17 |
18 | 1.
19 | 2.
20 | 3.
21 |
22 | ## Open questions (optional)
23 |
24 | Use this section to ask any questions that are related to the feature.
25 |
26 | ## Are you planning to do it yourself in a pull request?
27 |
28 | Yes/No.
29 |
--------------------------------------------------------------------------------
/.github/SUPPORT.md:
--------------------------------------------------------------------------------
1 | # Community resources
2 |
3 | If you have a general or technical question, you can use one of the following resources instead of submitting an issue:
4 |
5 | - [**Developer documentation:**](https://docs.iota.org/) For official information about developing with IOTA technology
6 | - [**Discord:**](https://discord.iota.org/) For real-time chats with the developers and community members
7 | - [**IOTA cafe:**](https://iota.cafe/) For technical discussions with the Research and Development Department at the IOTA Foundation
8 | - [**StackExchange:**](https://iota.stackexchange.com/) For technical and troubleshooting questions
--------------------------------------------------------------------------------
/.github/codeql/codeql-config.yml:
--------------------------------------------------------------------------------
1 | name: "CodeQL Config"
2 |
3 | queries:
4 | - uses: security-and-quality
5 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | name: "CodeQL"
2 |
3 | on:
4 | push:
5 | branches:
6 | - develop
7 | pull_request:
8 | schedule:
9 | - cron: '0 0 * * *'
10 |
11 | jobs:
12 | CodeQL-Build:
13 | runs-on: ubuntu-latest
14 |
15 | steps:
16 | - name: Checkout repository
17 | uses: actions/checkout@v2
18 | with:
19 | fetch-depth: 2
20 |
21 | - run: git checkout HEAD^2
22 | if: ${{ github.event_name == 'pull_request' }}
23 |
24 | - name: Initialize CodeQL
25 | uses: github/codeql-action/init@v1
26 | with:
27 | languages: javascript
28 | config-file: ./.github/codeql/codeql-config.yml
29 |
30 | - name: Perform CodeQL Analysis
31 | uses: github/codeql-action/analyze@v1
32 |
--------------------------------------------------------------------------------
/.github/workflows/rollback_desktop.yml:
--------------------------------------------------------------------------------
1 | name: Rollback Trinity Desktop Release
2 |
3 | on:
4 | workflow_dispatch:
5 |
6 | jobs:
7 | rollback:
8 | runs-on: ubuntu-18.04
9 | steps:
10 | - name: Restore previous latest.yml files
11 | # Replace current latest.ymls with the ones in previous/
12 | run: |
13 | aws s3 mv s3://iotaledger-files/trinity/desktop/releases/previous/ s3://iotaledger-files/trinity/desktop/releases/ --exclude "*" --include "latest*.yml" --recursive
14 | env:
15 | AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
16 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
17 | AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
18 |
--------------------------------------------------------------------------------
/.github/workflows/test_shared.yml:
--------------------------------------------------------------------------------
1 | name: Trinity Shared Tests
2 |
3 | on:
4 | pull_request:
5 | paths:
6 | - '*'
7 | - 'src/shared/**'
8 | - '.github/workflows/test_shared.yml'
9 | branches-ignore:
10 | - 'l10n_develop'
11 |
12 | jobs:
13 | test-shared:
14 | runs-on: ubuntu-18.04
15 |
16 | steps:
17 | - uses: actions/checkout@v2
18 |
19 | - name: Debug
20 | run: echo ${{ github.ref }} ${{ github.head_ref }} ${{ github.base_ref }}
21 |
22 | - name: Set up Node.js
23 | uses: actions/setup-node@v1
24 | with:
25 | node-version: 10.x
26 |
27 | - name: Install shared dependencies
28 | run: |
29 | yarn
30 | yarn deps:shared
31 |
32 | - name: Run ESLint
33 | run: yarn lint:shared
34 |
35 | - name: Run tests
36 | run: yarn test:shared
37 |
--------------------------------------------------------------------------------
/.husky/.gitignore:
--------------------------------------------------------------------------------
1 | _
2 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | yarn lint-staged
2 | yarn lint
3 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | src/mobile/android
2 | src/mobile/ios
3 | src/mobile/logo-spin/logo-spin-glow-blnk.hyperesources
4 | package.json
5 | src/shared/locales/*
6 | !src/shared/locales/en/translation.json
7 | src/desktop/dist/*
8 | npm-shrinkwrap.json
9 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 120,
3 | "singleQuote": true,
4 | "tabWidth": 4,
5 | "trailingComma": "all",
6 | "arrowParens": "always"
7 | }
8 |
--------------------------------------------------------------------------------
/.tool-versions:
--------------------------------------------------------------------------------
1 | nodejs 8.9.1
2 |
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /src/shared/locales/en/translation.json
3 | translation: /src/shared/locales/%two_letters_code%/translation.json
4 | languages_mapping:
5 | two_letters_code:
6 | zh-CN: zh-CN
7 | zh-TW: zh-TW
8 | es-ES: es-ES
9 | pt-PT: pt-PT
10 | sv-SE: sv-SE
11 | pt-BR: pt-BR
12 | es-419: es-LA
13 | - source: /src/mobile/ios/localizations/en.xliff
14 | translation: /src/mobile/ios/localizations/%osx_locale%.xliff
15 |
--------------------------------------------------------------------------------
/docs/copyrightHeader:
--------------------------------------------------------------------------------
1 | /********************************************************************************
2 | * Copyright (c) 2019 IOTA Foundation
3 | *
4 | * This program and the accompanying materials are made available under the
5 | * terms of the Eclipse Public License 2.0 which is available at
6 | * http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0
7 | * which is available at https://www.apache.org/licenses/LICENSE-2.0.
8 | *
9 | * SPDX-License-Identifier: Apache-2.0 OR EPL-2.0
10 | ********************************************************************************/
11 |
--------------------------------------------------------------------------------
/scripts/post-merge-githook.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # MIT © Sindre Sorhus - sindresorhus.com
3 |
4 | # git hook to run a command after `git pull` if a specified file was changed
5 | # Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`.
6 |
7 | changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
8 |
9 | check_run() {
10 | echo "$changed_files" | grep --quiet "$1" && eval "$2"
11 | }
12 |
13 | # Example usage
14 | # In this example it's used to run `yarn` if yarn.lock changed
15 | check_run yarn.lock "yarn install" || true
16 |
--------------------------------------------------------------------------------
/src/desktop/.gitignore:
--------------------------------------------------------------------------------
1 | package-lock.json
2 | node_modules/
3 | *npm-debug.log
4 | *.DS_Store
5 | out/
6 | yarn.lock
7 |
--------------------------------------------------------------------------------
/src/desktop/.yarnrc:
--------------------------------------------------------------------------------
1 | version-tag-prefix desktop-v
2 |
--------------------------------------------------------------------------------
/src/desktop/__mocks__/fileMock.js:
--------------------------------------------------------------------------------
1 | export default {};
2 |
--------------------------------------------------------------------------------
/src/desktop/__mocks__/markdownMock.js:
--------------------------------------------------------------------------------
1 | export default `### Foo
2 | - Bar
3 | - Baz`;
4 |
--------------------------------------------------------------------------------
/src/desktop/__mocks__/styleMock.js:
--------------------------------------------------------------------------------
1 | const handler = {
2 | get: function(_target, name) {
3 | return name;
4 | },
5 | };
6 |
7 | const proxy = new Proxy({}, handler);
8 |
9 | export default proxy;
10 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/balance.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Balance component Render the component 1`] = `
4 |
7 |
8 | foo
9 |
10 |
13 | 5.5
14 |
15 | Mi
16 |
17 |
18 |
19 | $5.50
20 |
21 |
22 | `;
23 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/button.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Button component Render the component 1`] = `
4 |
9 | `;
10 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/checkbox.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Checkbox component Render the component 1`] = `
4 |
8 | Foo
9 |
10 | `;
11 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/checksum.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Checksum component Render the component 1`] = `
4 |
5 | ABCDEFGHIJKLMOPRSTUCXYZ9ABCDEFGHIJKLMOPRSTUCXYZ9ABCDEFGHIJKLMOPRSTUCXYZ9ABCDEFGHI
6 |
7 | JKLMOPRST
8 |
9 |
10 | `;
11 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/clipboard.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Clipboard component Render the component 1`] = `
4 |
8 | Lorem ipsum
9 |
10 | `;
11 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/icon.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Icon component Render the component 1`] = `
4 |
14 | 💥
15 |
16 | `;
17 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/info.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Info component Render the component 1`] = `
4 |
7 |
11 | Lorem ipsum
12 |
13 | `;
14 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/progress.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Progress component Render the component 1`] = `
4 |
7 |
8 | Dolor sit amet
9 |
10 |
20 |
21 | Lorem ipsum
22 |
23 |
24 | `;
25 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/seedPrint.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`SeedPrint component Render the component 1`] = `
4 |
8 |

13 |
14 | `;
15 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/toggle.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Toggle component Render the component 1`] = `
4 |
8 |
11 |
12 | Off
13 |
14 |
15 | On
16 |
17 |
18 |
19 | `;
20 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/__snapshots__/tooltip.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Tooltip component Render the component 1`] = `
4 |
7 |
11 |
12 |
13 | Dolor sit amet
14 |
15 |
16 | Lorem ipsum
17 |
18 |
19 |
20 | `;
21 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/info.test.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { shallow } from 'enzyme';
3 |
4 | import Info from 'ui/components/Info';
5 |
6 | const props = {
7 | children: 'Lorem ipsum',
8 | };
9 |
10 | describe('Info component', () => {
11 | test('Render the component', () => {
12 | const wrapper = shallow();
13 |
14 | expect(wrapper).toMatchSnapshot();
15 | });
16 |
17 | test('Info content', () => {
18 | const wrapper = shallow();
19 |
20 | expect(wrapper.text()).toEqual('Lorem ipsum');
21 | });
22 | });
23 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/input/__snapshots__/address.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Address component Render the component 1`] = `
4 |
7 |
32 |
33 | `;
34 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/input/__snapshots__/number.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`TeNumberxt component Render the component 1`] = `
4 |
7 |
36 |
37 | `;
38 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/input/__snapshots__/select.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Select component Render the component 1`] = `
4 |
7 |
18 |
19 | `;
20 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/input/__snapshots__/text.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Text component Render the component 1`] = `
4 |
7 |
17 |
18 | `;
19 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/modals/__snapshots__/modal.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Modal component Render the component 1`] = `
4 |
7 |
10 |
13 | Lorem ipsum
14 |
15 |
16 |
17 | `;
18 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/components/qr.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { shallow } from 'enzyme';
3 |
4 | import QR from 'ui/components/QR';
5 |
6 | const props = {
7 | data: 'IOTA',
8 | };
9 |
10 | describe('QR component', () => {
11 | test('Render the component', () => {
12 | const wrapper = shallow();
13 |
14 | expect(wrapper).toMatchSnapshot();
15 | });
16 |
17 | test('Render QR code', () => {
18 | const wrapper = shallow();
19 |
20 | expect(wrapper.find('rect')).toHaveLength(441);
21 | });
22 | });
23 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/global/__snapshots__/about.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`About component Render the component 1`] = `
4 |
9 |
12 |
16 |
17 | Trinity Wallet
18 |
19 |
20 | v
21 | 0.0.0
22 |
23 |
24 |
25 |
31 |
32 |
33 |
41 |
42 |
43 | `;
44 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/global/__snapshots__/alerts.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Alerts component Render the component 1`] = `
4 |
7 |
11 |
12 |
16 |
17 |
18 | Foo
19 |
20 |
21 | Bar
22 |
23 |
24 |
25 | `;
26 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/global/__snapshots__/seedExport.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`SeedExport component Render the component 1`] = `
4 |
37 | `;
38 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/global/__snapshots__/updateProgress.test.jsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`UpdateProgress component Render the component 1`] = `
4 |
9 |
15 |
16 | `;
17 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/global/titlebar.test.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { shallow } from 'enzyme';
3 |
4 | import Titlebar from 'ui/global/Titlebar';
5 |
6 | const props = {
7 | path: '/',
8 | };
9 |
10 | global.Electron = {
11 | getOS: () => 'win32',
12 | };
13 |
14 | describe('Titlebar component', () => {
15 | test('Render the component', () => {
16 | const wrapper = shallow();
17 |
18 | expect(wrapper).toMatchSnapshot();
19 | });
20 |
21 | test('Render dark titlebar', () => {
22 | const wrapper = shallow();
23 |
24 | expect(wrapper.find('.dark')).toHaveLength(1);
25 | });
26 |
27 | test('Render light titlebar', () => {
28 | const wrapper = shallow();
29 |
30 | expect(wrapper.find('.light')).toHaveLength(1);
31 | });
32 | });
33 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/accountName.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/accountName.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/accountPassword.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/accountPassword.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/done.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/done.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/login.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/login.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedGenerate.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedGenerate.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedIntro.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedIntro.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedSave.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedSave.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedVerify.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/seedVerify.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/__snapshots__/welcome.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/__snapshots__/welcome.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/accountName.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding account name view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/account-name', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'accountName.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/accountPassword.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding account password view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/account-password', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'accountPassword.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/done.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding done view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/done', false, 3000);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'done.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/login.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding login view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/login', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'login.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/seedGenerate.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding seed generate view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/seed-generate', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.5',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'seedGenerate.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/seedIntro.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding seed intro view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/seed-intro', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'seedIntro.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/seedSave.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding seed save view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/seed-save', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'seedSave.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/seedStore/__snapshots__/ledger.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/onboarding/seedStore/__snapshots__/ledger.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/seedStore/ledger.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding ledger view', () => {
2 | test(
3 | 'Render view',
4 | async () => {
5 | const snapshot = await global.__screenshot('onboarding/seed-ledger', false);
6 |
7 | expect(snapshot).toMatchImageSnapshot({
8 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
9 | failureThreshold: '0.05',
10 | failureThresholdType: 'percent',
11 | customSnapshotIdentifier: 'ledger.test.jsx',
12 | });
13 | },
14 | 10000,
15 | );
16 | });
17 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/seedVerify.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding seed verify view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('onboarding/seed-verify', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'seedVerify.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/onboarding/welcome.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Onboarding welcome view', () => {
2 | beforeEach(() => {
3 | Object.defineProperty(navigator, 'language', { value: 'en-GB', writable: true });
4 | });
5 |
6 | test('Render view', async () => {
7 | const snapshot = await global.__screenshot('onboarding', false);
8 |
9 | expect(snapshot).toMatchImageSnapshot({
10 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
11 | failureThreshold: '0.05',
12 | failureThresholdType: 'percent',
13 | customSnapshotIdentifier: 'welcome.test.jsx',
14 | });
15 | }, 10000);
16 | });
17 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/__snapshots__/advanced.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/__snapshots__/advanced.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/__snapshots__/currency.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/__snapshots__/currency.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/__snapshots__/language.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/__snapshots__/language.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/__snapshots__/mode.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/__snapshots__/mode.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/__snapshots__/node.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/__snapshots__/node.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/__snapshots__/password.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/__snapshots__/password.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/__snapshots__/theme.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/__snapshots__/theme.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/account/__snapshots__/addresses.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/settings/account/__snapshots__/addresses.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/account/addresses.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings account addresses view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/account/addresses/0', true);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'addresses.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/advanced.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings advanced view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/advanced', true);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'advanced.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/currency.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings currency view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/currency', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'currency.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/language.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings language view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/language', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'language.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/mode.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings mode view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/mode', true);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'mode.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/node.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings node view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/node', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.10',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'node.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/password.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings password view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/password', true);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'password.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/settings/theme.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Settings theme view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('settings/theme', false);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'theme.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/wallet/__snapshots__/dashboard.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/wallet/__snapshots__/dashboard.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/wallet/__snapshots__/receive.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/wallet/__snapshots__/receive.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/wallet/__snapshots__/send.test.jsx-snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/__tests__/ui/views/wallet/__snapshots__/send.test.jsx-snap.png
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/wallet/dashboard.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Wallet dashboard view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('wallet/dashboard', true);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'dashboard.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/wallet/receive.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Wallet receive view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('wallet/receive', true, 600);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'receive.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/__tests__/ui/views/wallet/send.test.jsx:
--------------------------------------------------------------------------------
1 | describe('Wallet send view', () => {
2 | test('Render view', async () => {
3 | const snapshot = await global.__screenshot('wallet/send', true, 600);
4 |
5 | expect(snapshot).toMatchImageSnapshot({
6 | customSnapshotsDir: `${__dirname}/__snapshots__/`,
7 | failureThreshold: '0.05',
8 | failureThresholdType: 'percent',
9 | customSnapshotIdentifier: 'send.test.jsx',
10 | });
11 | }, 10000);
12 | });
13 |
--------------------------------------------------------------------------------
/src/desktop/assets/RC/backdrop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/RC/backdrop.png
--------------------------------------------------------------------------------
/src/desktop/assets/RC/backdrop@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/RC/backdrop@2x.png
--------------------------------------------------------------------------------
/src/desktop/assets/RC/background.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/RC/background.tiff
--------------------------------------------------------------------------------
/src/desktop/assets/RC/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/RC/icon-1024.png
--------------------------------------------------------------------------------
/src/desktop/assets/RC/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/RC/icon.icns
--------------------------------------------------------------------------------
/src/desktop/assets/RC/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/RC/icon.ico
--------------------------------------------------------------------------------
/src/desktop/assets/RC/trayTemplate@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/RC/trayTemplate@2x.png
--------------------------------------------------------------------------------
/src/desktop/assets/backdrop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/backdrop.png
--------------------------------------------------------------------------------
/src/desktop/assets/backdrop@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/backdrop@2x.png
--------------------------------------------------------------------------------
/src/desktop/assets/background.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/background.tiff
--------------------------------------------------------------------------------
/src/desktop/assets/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/icon-1024.png
--------------------------------------------------------------------------------
/src/desktop/assets/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/icon.icns
--------------------------------------------------------------------------------
/src/desktop/assets/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/icon.ico
--------------------------------------------------------------------------------
/src/desktop/assets/trayTemplate@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/desktop/assets/trayTemplate@2x.png
--------------------------------------------------------------------------------
/src/desktop/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | [
4 | '@babel/preset-env',
5 | {
6 | targets: {
7 | chrome: '66',
8 | },
9 | },
10 | ],
11 | '@babel/preset-react',
12 | ],
13 | plugins: [
14 | ['@babel/plugin-proposal-class-properties', { loose: true }],
15 | '@babel/plugin-proposal-object-rest-spread',
16 | ],
17 | };
18 |
--------------------------------------------------------------------------------
/src/desktop/bugsnag.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | exit 0
3 |
--------------------------------------------------------------------------------
/src/desktop/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-dyld-environment-variables
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.device.camera
10 |
11 | com.apple.security.device.usb
12 |
13 | com.apple.security.files.user-selected.read-write
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/desktop/native/libs/Realm.js:
--------------------------------------------------------------------------------
1 | import Realm from 'realm';
2 |
3 | // Don't report Realm JS analytics data
4 | // @see https://github.com/realm/realm-js/blob/master/lib/submit-analytics.js#L28
5 | process.env.REALM_DISABLE_ANALYTICS = 'true';
6 |
7 | export default Realm;
8 |
--------------------------------------------------------------------------------
/src/desktop/native/preload/development.js:
--------------------------------------------------------------------------------
1 | import { ipcRenderer as ipc } from 'electron';
2 | import Electron from './Electron';
3 |
4 | // Define environment mode as Development
5 | Electron.mode = 'dev';
6 |
7 | // Inject screenshot proxy call
8 | Electron.screenshot = (filename) => {
9 | ipc.send('screenshot', `shots/${filename}.png`);
10 | };
11 |
12 | // Disable default drag&drop
13 | document.addEventListener('dragover', (e) => e.preventDefault());
14 | document.addEventListener('drop', (e) => e.preventDefault());
15 |
16 | global.Electron = Electron;
17 |
--------------------------------------------------------------------------------
/src/desktop/native/preload/production.js:
--------------------------------------------------------------------------------
1 | import Electron from './Electron';
2 |
3 | // Define environment mode as Production
4 | Electron.mode = 'prod';
5 |
6 | // Disable default drag&drop
7 | document.addEventListener('dragover', (e) => e.preventDefault());
8 | document.addEventListener('drop', (e) => e.preventDefault());
9 |
10 | // Disable eval
11 | // eslint-disable-next-line
12 | window.eval = global.eval = function() {};
13 |
14 | global.Electron = Electron;
15 |
--------------------------------------------------------------------------------
/src/desktop/native/preload/tray.js:
--------------------------------------------------------------------------------
1 | import Electron from './Electron';
2 |
3 | // Define environment mode as Tray
4 | Electron.mode = 'tray';
5 |
6 | // Disable default drag&drop
7 | document.addEventListener('dragover', (e) => e.preventDefault());
8 | document.addEventListener('drop', (e) => e.preventDefault());
9 |
10 | global.Electron = Electron;
11 |
--------------------------------------------------------------------------------
/src/desktop/scripts/jestLibs.js:
--------------------------------------------------------------------------------
1 | import Enzyme from 'enzyme';
2 | import Adapter from 'enzyme-adapter-react-16';
3 | import { toMatchImageSnapshot } from 'jest-image-snapshot';
4 |
5 | expect.extend({ toMatchImageSnapshot });
6 |
7 | Enzyme.configure({
8 | adapter: new Adapter(),
9 | });
10 |
--------------------------------------------------------------------------------
/src/desktop/scripts/jestSetup.js:
--------------------------------------------------------------------------------
1 | const puppeteer = require('puppeteer');
2 | const mkdirp = require('mkdirp');
3 | const path = require('path');
4 | const fs = require('fs');
5 | const os = require('os');
6 | const express = require('express');
7 |
8 | const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
9 |
10 | module.exports = async function() {
11 | const browser = await puppeteer.launch();
12 |
13 | const app = express();
14 |
15 | app.use(express.static(path.join(__dirname, '../dist')));
16 | app.get('*', (_request, response) => {
17 | response.sendFile(path.join(__dirname, '../dist/index.html'));
18 | });
19 |
20 | const server = app.listen(1074);
21 |
22 | global.__BROWSER__ = browser;
23 | global.__SERVER__ = server;
24 |
25 | mkdirp.sync(DIR);
26 | fs.writeFileSync(path.join(DIR, 'wsEndpoint'), browser.wsEndpoint());
27 | };
28 |
--------------------------------------------------------------------------------
/src/desktop/scripts/jestTeardown.js:
--------------------------------------------------------------------------------
1 | const os = require('os');
2 | const rimraf = require('rimraf');
3 | const path = require('path');
4 |
5 | const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
6 | module.exports = async function() {
7 | await global.__BROWSER__.close();
8 | await global.__SERVER__.close();
9 |
10 | rimraf.sync(DIR);
11 | };
12 |
--------------------------------------------------------------------------------
/src/desktop/src/libs/SeedStore/index.js:
--------------------------------------------------------------------------------
1 | import Keychain from './Keychain';
2 | import Ledger from './Ledger';
3 |
4 | export default {
5 | keychain: Keychain,
6 | ledger: Ledger,
7 | };
8 |
--------------------------------------------------------------------------------
/src/desktop/src/libs/constants.js:
--------------------------------------------------------------------------------
1 | import { version } from '../../package.json';
2 |
3 | /**
4 | * Use different account aliases for Relase Candidate versions
5 | */
6 | export const __RC__ = version.toLowerCase().indexOf('rc') > 0 && process.env.NODE_ENV !== 'test' ? '-rc' : '';
7 |
8 | /**
9 | * Main account encryption key alias
10 | */
11 | export const ALIAS_MAIN = `Trinity${__RC__}`;
12 |
13 | /**
14 | * Seed account encryption key alias
15 | */
16 | export const ALIAS_ACCOUNT = `account${__RC__}`;
17 |
18 | /**
19 | * Realm database encryption key alias
20 | */
21 | export const ALIAS_REALM = `realm_enc_key${__RC__}`;
22 |
23 | /**
24 | * Legacy credentials key alias
25 | */
26 | export const ALIAS_LEGACY = `moonpay_credentials${__RC__}`;
27 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/Checksum.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import { ADDRESS_LENGTH, VALID_SEED_REGEX } from 'libs/iota/utils';
4 |
5 | /**
6 | * Returns address with highlighted checksum
7 | */
8 | const Checksum = ({ address }) => {
9 | const validAddress =
10 | typeof address === 'string' && address.length === ADDRESS_LENGTH && address.match(VALID_SEED_REGEX);
11 |
12 | return (
13 |
14 | {!validAddress ? address : address.substr(0, 81)}
15 | {validAddress && {address.substr(81)}}
16 |
17 | );
18 | };
19 |
20 | Checksum.propTypes = {
21 | /** Target address */
22 | address: PropTypes.string.isRequired,
23 | };
24 |
25 | export default Checksum;
26 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/Info.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import Icon from 'ui/components/Icon';
4 | import css from './info.scss';
5 |
6 | /**
7 | * Info block component
8 | */
9 | export default class Info extends React.PureComponent {
10 | static propTypes = {
11 | /** Info block content */
12 | children: PropTypes.node.isRequired,
13 | };
14 |
15 | static defaultProps = {
16 | displayIcon: true,
17 | };
18 |
19 | render() {
20 | const { children } = this.props;
21 |
22 | return (
23 |
24 |
25 | {children}
26 |
27 | );
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/Loading.scss:
--------------------------------------------------------------------------------
1 | .loading {
2 | display: flex;
3 | position: fixed;
4 | width: 100vw;
5 | height: 100vh;
6 | top: 0px;
7 | left: 0px;
8 | align-items: center;
9 | justify-content: center;
10 | background: var(--body-bg);
11 | -webkit-app-region: drag;
12 |
13 | &.inline {
14 | position: relative;
15 | }
16 |
17 | &.transparent {
18 | background: none;
19 | }
20 |
21 | > div {
22 | text-align: center;
23 | pointer-events: none;
24 | }
25 | h1 {
26 | margin: 45px 0 12px;
27 | font-size: 24px;
28 | color: var(--body);
29 | }
30 | h2 {
31 | font-size: 16px;
32 | color: var(--body);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/Tab.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import classNames from 'classnames';
3 | import PropTypes from 'prop-types';
4 | import css from './tab.scss';
5 |
6 | /**
7 | * Tab component
8 | */
9 | export default class Tab extends React.PureComponent {
10 | static propTypes = {
11 | /** Tab text */
12 | children: PropTypes.string.isRequired,
13 | /** Determines whether the tab is active */
14 | active: PropTypes.bool,
15 | /** @ignore */
16 | onClick: PropTypes.func.isRequired,
17 | };
18 |
19 | static defaultProps = {
20 | active: false,
21 | };
22 |
23 | render() {
24 | const { children, active, onClick } = this.props;
25 |
26 | return (
27 |
28 | {children}
29 |
30 | );
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/Tooltip.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import Icon from 'ui/components/Icon';
4 | import css from './tooltip.scss';
5 |
6 | /**
7 | * Inline hover tooltip component
8 | */
9 | export default class Tooltip extends React.PureComponent {
10 | static propTypes = {
11 | /** Tooltip text */
12 | tip: PropTypes.string.isRequired,
13 | /** Optional tooltip title */
14 | title: PropTypes.string,
15 | };
16 |
17 | render() {
18 | return (
19 |
20 |
21 |
22 | {this.props.title ? {this.props.title} : null}
23 | {this.props.tip}
24 |
25 |
26 | );
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/clipboard.scss:
--------------------------------------------------------------------------------
1 | .clipboard,
2 | .clipboard * {
3 | cursor: pointer;
4 | }
5 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/dropzone.scss:
--------------------------------------------------------------------------------
1 | .dropzone {
2 | display: flex;
3 | position: fixed;
4 | flex-direction: column;
5 | align-items: center;
6 | justify-content: center;
7 | top: 0px;
8 | left: 0px;
9 | width: 100vw;
10 | height: 100vh;
11 | background: var(--body-bg);
12 | pointer-events: none;
13 | z-index: 10;
14 | opacity: 0;
15 | &.active {
16 | opacity: 1;
17 | }
18 |
19 | svg {
20 | display: block;
21 | margin-bottom: 20px;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/icon.scss:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Icons';
3 | src: url('~icons/Icons.ttf') format('truetype');
4 | font-weight: normal;
5 | font-style: normal;
6 | }
7 |
8 | .icon {
9 | font-family: 'Icons';
10 | font-style: normal;
11 | font-weight: normal;
12 | font-variant: normal;
13 | text-transform: none;
14 | -webkit-font-smoothing: antialiased;
15 | -moz-osx-font-smoothing: grayscale;
16 | }
17 |
18 | .seedVault {
19 | .bg {
20 | fill: var(--body-bg);
21 | }
22 | .mg {
23 | fill: var(--body-alt);
24 | }
25 | .fg {
26 | fill: var(--box-body);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/logo.scss:
--------------------------------------------------------------------------------
1 | .logo {
2 | position: relative;
3 | display: inline-block;
4 | @media print {
5 | display: none;
6 | }
7 | svg path {
8 | fill: var(--body);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/progress.scss:
--------------------------------------------------------------------------------
1 | .progress {
2 | p {
3 | line-height: 18px;
4 | font-size: 13px;
5 | text-align: center;
6 | margin-bottom: 6px;
7 | }
8 | > div {
9 | position: relative;
10 | display: inline-block;
11 | margin: 0 auto;
12 | width: 100%;
13 | height: 14px;
14 | border: 2px solid var(--primary);
15 | border-radius: 8px;
16 | .bar {
17 | display: block;
18 | height: 100%;
19 | background: var(--primary);
20 | transition: width 2s cubic-bezier(0.55, 0, 0.1, 1);
21 | }
22 | }
23 |
24 | &.large {
25 | margin-bottom: 38px;
26 | small {
27 | display: block;
28 | margin-top: 12px;
29 | font-size: 14px;
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/seedPrint.scss:
--------------------------------------------------------------------------------
1 | .print {
2 | display: none;
3 |
4 | @media print {
5 | display: block;
6 | img,
7 | svg,
8 | div {
9 | position: fixed;
10 | top: 0px;
11 | left: 0px;
12 | width: 100vw;
13 | height: 100vh;
14 | }
15 | svg text {
16 | font-family: 'SourceCodePro';
17 | font-size: 20px;
18 | fill: #231f20;
19 | }
20 | canvas {
21 | position: absolute;
22 | left: 50%;
23 | top: 81.5%;
24 | width: 9vh !important;
25 | height: 9vh !important;
26 | transform: translate(-175%, 0);
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/tab.scss:
--------------------------------------------------------------------------------
1 | .tab {
2 | cursor: pointer;
3 | width: 100%;
4 | padding: 12px 0;
5 | font-weight: 400;
6 | border: 1px solid var(--input-bg);
7 | box-sizing: border-box;
8 | text-align: center;
9 | background: var(--dark-color);
10 | opacity: 0.5;
11 | }
12 |
13 | .active {
14 | border: none;
15 | opacity: 1;
16 | background: var(--body-bg);
17 | }
18 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/components/waves.scss:
--------------------------------------------------------------------------------
1 | .wave {
2 | position: absolute;
3 | bottom: 0px;
4 | left: 0px;
5 | width: 100vw;
6 | > div {
7 | content: '';
8 | width: 100%;
9 | height: 100%;
10 | position: absolute;
11 | top: 0px;
12 | left: 0px;
13 | background-size: auto 100%;
14 | background-position: left bottom;
15 | background-repeat: repeat-x;
16 | transition: background-position 3s cubic-bezier(0.075, 0.82, 0.165, 1);
17 | }
18 | > div:last-child {
19 | background-position: 50% bottom;
20 | }
21 |
22 | @media print {
23 | display: none;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/global/seedExport.scss:
--------------------------------------------------------------------------------
1 | .seedExport {
2 | h1 {
3 | position: absolute;
4 | top: 0px;
5 | left: 0px;
6 | text-align: center;
7 | width: 100%;
8 |
9 | svg {
10 | display: block;
11 | margin: 0 auto 16px;
12 | }
13 | }
14 | section {
15 | padding-top: 275px;
16 | position: relative;
17 | height: 540px;
18 | }
19 | .fieldSection {
20 | position: relative;
21 | height: 540px;
22 | padding-top: 250px;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/index.scss:
--------------------------------------------------------------------------------
1 | @import 'style/reset';
2 | @import 'style/typography';
3 | @import 'style/animations';
4 |
5 | html,
6 | body {
7 | margin: 0;
8 | padding: 0;
9 | width: 100vw;
10 | height: 100vh;
11 | overflow: hidden;
12 | }
13 |
14 | body {
15 | color: var(--body);
16 | background: var(--body-bg);
17 |
18 | @media print {
19 | background: #fff;
20 | }
21 | }
22 |
23 | main {
24 | display: flex;
25 | width: 100vw;
26 | height: 100vh;
27 | }
28 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/style/_reset.scss:
--------------------------------------------------------------------------------
1 | *,
2 | *:after,
3 | *:before {
4 | margin: 0;
5 | padding: 0;
6 | border: 0;
7 | font-weight: 300;
8 | font-size: 100%;
9 | box-sizing: border-box;
10 | user-select: none;
11 | cursor: default;
12 | outline: none;
13 | &:focus {
14 | outline: none;
15 | }
16 | }
17 | a,
18 | a *,
19 | *:before,
20 | *:after {
21 | cursor: pointer;
22 | text-decoration: none;
23 | }
24 | input,
25 | textarea {
26 | cursor: text;
27 | }
28 |
29 | mark {
30 | background: none;
31 | }
32 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/views/onboarding/seedStore/index.scss:
--------------------------------------------------------------------------------
1 | .ledger {
2 | section {
3 | > div:first-of-type {
4 | display: flex;
5 | max-width: 385px;
6 | margin: 0 auto;
7 | }
8 | p + p {
9 | margin-top: -15px;
10 | font-weight: 600;
11 | color: var(--primary);
12 | }
13 | small {
14 | display: block;
15 | height: 18px;
16 | font-size: 14px;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/views/settings/account/addresses.scss:
--------------------------------------------------------------------------------
1 | .addresses {
2 | p {
3 | font-family: 'SourceCodePro';
4 | font-size: 12px;
5 | word-break: break-word;
6 |
7 | mark {
8 | color: var(--primary);
9 | }
10 | }
11 |
12 | li {
13 | display: flex;
14 | strong {
15 | flex: 1 0 65px;
16 | text-align: right;
17 | }
18 | }
19 |
20 | .spent {
21 | text-decoration: line-through;
22 | color: var(--negative);
23 |
24 | mark {
25 | color: var(--negative);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/desktop/src/ui/views/settings/account/seed.scss:
--------------------------------------------------------------------------------
1 | .seed {
2 | display: block;
3 | width: 100%;
4 | font-family: SourceCodePro;
5 | line-height: 32px;
6 | word-wrap: break-word;
7 |
8 | small {
9 | display: block;
10 | }
11 |
12 | strong {
13 | font-weight: 600;
14 | letter-spacing: 1px;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/desktop/webpack.config/index.js:
--------------------------------------------------------------------------------
1 | module.exports = (env = 'development') => {
2 | return require(`./config.${env}`); // eslint-disable-line import/no-dynamic-require
3 | };
4 |
--------------------------------------------------------------------------------
/src/mobile/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["module:metro-react-native-babel-preset"],
3 | "plugins": [
4 | [
5 | "module-resolver",
6 | {
7 | "cwd": "babelrc",
8 | "root": [".", "src"],
9 | "extensions": [".ios.js", ".android.js", ".js", ".json"]
10 | }
11 | ],
12 | "jest-hoist"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/src/mobile/.buckconfig:
--------------------------------------------------------------------------------
1 |
2 | [android]
3 | target = Google Inc.:Google APIs:23
4 |
5 | [maven_repositories]
6 | central = https://repo1.maven.org/maven2
7 |
--------------------------------------------------------------------------------
/src/mobile/.eslintrc.yml:
--------------------------------------------------------------------------------
1 | rules:
2 | import/named: 0
3 |
--------------------------------------------------------------------------------
/src/mobile/.gitattributes:
--------------------------------------------------------------------------------
1 | *.pbxproj -text
2 |
--------------------------------------------------------------------------------
/src/mobile/.snyk:
--------------------------------------------------------------------------------
1 | # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
2 | version: v1.13.3
3 | ignore: {}
4 | # patches apply the minimum changes required to fix a vulnerability
5 | patch: {}
6 |
--------------------------------------------------------------------------------
/src/mobile/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/src/mobile/.yarnrc:
--------------------------------------------------------------------------------
1 | version-tag-prefix mobile-v
2 |
--------------------------------------------------------------------------------
/src/mobile/__mocks__/react-native-device-info.js:
--------------------------------------------------------------------------------
1 | const DeviceInfo = jest.genMockFromModule('react-native-device-info');
2 |
3 | DeviceInfo.getModel = () => 'mock-device';
4 | DeviceInfo.getDeviceId = () => 'mock-device-id';
5 | DeviceInfo.getVersion = () => 'foo';
6 | DeviceInfo.getBuildNumber = () => 1;
7 | DeviceInfo.getDeviceLocale = () => 'en_UK';
8 |
9 | export default DeviceInfo;
10 |
--------------------------------------------------------------------------------
/src/mobile/__mocks__/theme.js:
--------------------------------------------------------------------------------
1 | import Theme from 'shared-modules/themes/themes';
2 |
3 | export default Theme.Default;
4 |
--------------------------------------------------------------------------------
/src/mobile/__tests__/.eslintrc.yml:
--------------------------------------------------------------------------------
1 | rules:
2 | react/forbid-foreign-prop-types: 0
3 |
--------------------------------------------------------------------------------
/src/mobile/android/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem "fastlane"
4 | gem "nokogiri"
5 |
6 | eval_gemfile('./fastlane/Pluginfile') if File.exist?('./fastlane/Pluginfile')
7 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/ic_launcher-web.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/beta/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/ic_launcher-web.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/drawable/background_splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/drawable/icon.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/debug/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | localhost
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/assets/fonts/Icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/assets/fonts/Icons.ttf
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/assets/fonts/SourceCodePro-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/assets/fonts/SourceCodePro-Medium.ttf
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-Bold.ttf
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-Light.ttf
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/assets/fonts/SourceSansPro-SemiBold.ttf
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/java/org/iota/mobile/Converter.java:
--------------------------------------------------------------------------------
1 | package org.iota.mobile;
2 |
3 | import com.facebook.react.bridge.ReadableArray;
4 | import com.facebook.react.bridge.WritableArray;
5 | import com.facebook.react.bridge.WritableNativeArray;
6 |
7 |
8 | public class Converter {
9 |
10 | public static WritableArray byteArrayToWritableArray(byte[] byteArray) {
11 | WritableArray writableArray = new WritableNativeArray();
12 | for (int i = 0; i < byteArray.length; i++) {
13 | writableArray.pushInt(byteArray[i]);
14 | }
15 | return writableArray;
16 | }
17 |
18 | public static byte[] readableArrayToByteArray(ReadableArray readableArray) {
19 | byte[] byteArr = new byte[readableArray.size()];
20 | for (int i = 0; i < readableArray.size(); i++) {
21 | byteArr[i] = (byte)readableArray.getInt(i);
22 | }
23 | return byteArr;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/java/org/iota/mobile/Interface.java:
--------------------------------------------------------------------------------
1 | package org.iota.mobile;
2 |
3 | public class Interface {
4 | public static native String iota_pow_trytes(String trytes, int mwm);
5 | public static native String[] iota_pow_bundle(String[] bundle, String trunk, String branch, int mwm);
6 | public static native String iota_sign_address_gen_trytes(String seed, int index, int security);
7 | public static native byte[] iota_sign_address_gen_trits(byte[] seed, int index, int security);
8 | public static native String iota_sign_signature_gen_trytes(String seed, int index, int security, String bundleHash);
9 | public static native byte[] iota_sign_signature_gen_trits(byte[] seed, int index, int security, byte[] bundleHash);
10 | public static native String iota_digest(String trytes);
11 | }
12 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/jniLibs/arm64-v8a/libdummy.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/jniLibs/arm64-v8a/libdummy.so
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/jniLibs/armeabi-v7a/libdummy.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/jniLibs/armeabi-v7a/libdummy.so
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/jniLibs/x86/libdummy.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/jniLibs/x86/libdummy.so
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/jniLibs/x86_64/libdummy.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/jniLibs/x86_64/libdummy.so
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/drawable/background_splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/drawable/icon.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/layout/launch_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
13 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-hdpi/icon.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-mdpi/icon.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xhdpi/icon.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxhdpi/icon.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/app/src/main/res/mipmap-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #181818
5 | #181818
6 |
7 | #FFFFFF
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #181818
4 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
14 |
17 |
18 |
--------------------------------------------------------------------------------
/src/mobile/android/app/src/main/res/xml/filepaths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/mobile/android/fastlane/Appfile:
--------------------------------------------------------------------------------
1 | json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
2 | package_name("com.iota.trinity") # e.g. com.krausefx.app
3 |
--------------------------------------------------------------------------------
/src/mobile/android/fastlane/Fastfile:
--------------------------------------------------------------------------------
1 | actions_path 'actions/'
2 | default_platform :android
3 |
4 | def add_bugsnag_api_key(bugsnag_key)
5 | UI.important 'Adding Bugsnag API key'
6 | set_meta_data(attribute: 'com.bugsnag.android.API_KEY', value: bugsnag_key)
7 | end
8 |
9 | lane :release do
10 | package_json = load_json(json_path: '../package.json')
11 | version = package_json['version']
12 | increment_version_code
13 | increment_version_name(version_name: version)
14 | end
15 |
16 | lane :configure_release do
17 | if is_ci?
18 | add_bugsnag_api_key(ENV['BUGSNAG_API_KEY'])
19 | else
20 | UI.error('This lane should only be run on CI!')
21 | end
22 | end
23 |
--------------------------------------------------------------------------------
/src/mobile/android/fastlane/Pluginfile:
--------------------------------------------------------------------------------
1 | # Autogenerated by fastlane
2 | #
3 | # Ensure this file is checked in to source control!
4 |
5 | gem 'fastlane-plugin-load_json'
6 | gem 'fastlane-plugin-increment_version_code'
7 |
--------------------------------------------------------------------------------
/src/mobile/android/fastlane/README.md:
--------------------------------------------------------------------------------
1 | fastlane documentation
2 | ================
3 | # Installation
4 |
5 | Make sure you have the latest version of the Xcode command line tools installed:
6 |
7 | ```
8 | xcode-select --install
9 | ```
10 |
11 | Install _fastlane_ using
12 | ```
13 | [sudo] gem install fastlane -NV
14 | ```
15 | or alternatively using `brew install fastlane`
16 |
17 | # Available Actions
18 | ### release
19 | ```
20 | fastlane release
21 | ```
22 |
23 | ### configure_release
24 | ```
25 | fastlane configure_release
26 | ```
27 |
28 |
29 | ----
30 |
31 | This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
32 | More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
33 | The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
34 |
--------------------------------------------------------------------------------
/src/mobile/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/src/mobile/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Oct 30 10:26:46 GMT 2019
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
7 |
--------------------------------------------------------------------------------
/src/mobile/android/keystores/BUCK:
--------------------------------------------------------------------------------
1 | keystore(
2 | name = "debug",
3 | properties = "debug.keystore.properties",
4 | store = "debug.keystore",
5 | visibility = [
6 | "PUBLIC",
7 | ],
8 | )
9 |
--------------------------------------------------------------------------------
/src/mobile/android/keystores/debug.keystore.properties:
--------------------------------------------------------------------------------
1 | key.store=debug.keystore
2 | key.alias=androiddebugkey
3 | key.store.password=android
4 | key.alias.password=android
5 |
--------------------------------------------------------------------------------
/src/mobile/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iotaWallet",
3 | "displayName": "iotaWallet"
4 | }
5 |
--------------------------------------------------------------------------------
/src/mobile/index.js:
--------------------------------------------------------------------------------
1 | import { AppRegistry } from 'react-native';
2 | import Wallet from './src/ui/routes/entry';
3 | import { isAndroid } from './src/libs/device';
4 |
5 | if (isAndroid) {
6 | // This Intl API is not available in android
7 | // It needs to be polyfilled
8 | require('intl');
9 |
10 | require('intl/locale-data/jsonp/en-US');
11 | }
12 |
13 | AppRegistry.registerComponent('iotaWallet', () => Wallet);
14 |
--------------------------------------------------------------------------------
/src/mobile/ios/Argon2/Argon2IOS.m:
--------------------------------------------------------------------------------
1 | //
2 | // Argon2IOS.m
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 7/31/18.
6 | // Copyright © 2018 IOTA Foundation. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface RCT_EXTERN_MODULE(Argon2IOS, NSObject)
13 | // Export hash method to RN
14 | RCT_EXTERN_METHOD(hash:(NSArray*)password salt:(NSString *)salt params:(NSDictionary *)params resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject);
15 |
16 | // Create a GCD queue for Argon2
17 | -(dispatch_queue_t)methodQueue
18 | {
19 | return dispatch_queue_create("com.iota.trinity.Argon2IOS", DISPATCH_QUEUE_SERIAL);
20 | }
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/src/mobile/ios/Config/buildnumber.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // buildnumber.xcconfig
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 11/9/17.
6 | // Copyright © 2017 Facebook. All rights reserved.
7 | //
8 | BUILD_NUMBER = 1
9 |
--------------------------------------------------------------------------------
/src/mobile/ios/Config/iotaWallet-debug-config.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // iotaWallet-debug-config.xcconfig
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 11/9/17.
6 | // Copyright © 2017 Facebook. All rights reserved.
7 | //
8 | #include "buildnumber.xcconfig"
9 | #include "../Pods/Target Support Files/Pods-iotaWallet/Pods-iotaWallet.debug.xcconfig"
10 |
--------------------------------------------------------------------------------
/src/mobile/ios/Config/iotaWallet-release-config.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // iotaWallet-release-config.xcconfig
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 11/9/17.
6 | // Copyright © 2017 Facebook. All rights reserved.
7 | //
8 | #include "buildnumber.xcconfig"
9 | #include "../Pods/Target Support Files/Pods-iotaWallet/Pods-iotaWallet.release.xcconfig"
10 |
--------------------------------------------------------------------------------
/src/mobile/ios/Config/iotaWalletTests-debug-config.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // iotaWalletTests-debug-config.xcconfig
3 | // iotaWalletTests
4 | //
5 | // Created by Rajiv Shah on 11/9/17.
6 | // Copyright © 2017 Facebook. All rights reserved.
7 | //
8 | #include "buildnumber.xcconfig"
9 | #include "../Pods/Target Support Files/Pods-iotaWalletTests/Pods-iotaWalletTests.debug.xcconfig"
10 |
--------------------------------------------------------------------------------
/src/mobile/ios/Config/iotaWalletTests-release-config.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // iotaWalletTests-release-config.xcconfig
3 | // iotaWalletTests
4 | //
5 | // Created by Rajiv Shah on 11/9/17.
6 | // Copyright © 2017 Facebook. All rights reserved.
7 | //
8 | #include "buildnumber.xcconfig"
9 | #include "../Pods/Target Support Files/Pods-iotaWalletTests/Pods-iotaWalletTests.release.xcconfig"
10 |
--------------------------------------------------------------------------------
/src/mobile/ios/EntangledIOS/EntangledIOS.h:
--------------------------------------------------------------------------------
1 | //
2 | // EntangledIOS.h
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 4/6/18.
6 | //
7 |
8 | #import
9 | #import
10 | #import
11 |
12 | @interface EntangledIOS: NSObject
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/src/mobile/ios/EntangledIOS/EntangledKit.framework/EntangledKit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/EntangledIOS/EntangledKit.framework/EntangledKit
--------------------------------------------------------------------------------
/src/mobile/ios/EntangledIOS/EntangledKit.framework/Headers/EntangledKit.h:
--------------------------------------------------------------------------------
1 | #import "Interface.h"
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/EntangledIOS/EntangledKit.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module EntangledKit {
2 | umbrella header "EntangledKit.h"
3 | export *
4 | module * { export * }
5 | }
6 |
--------------------------------------------------------------------------------
/src/mobile/ios/EntangledIOS/bindings.h:
--------------------------------------------------------------------------------
1 | //
2 | // bindings.h
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 4/6/18.
6 | // Copyright © 2018 IOTA Foundation. All rights reserved.
7 | //
8 | #ifndef __MOBILE_INTERFACE_BINDINGS_H_
9 | #define __MOBILE_INTERFACE_BINDINGS_H_
10 |
11 | #include
12 |
13 | #ifdef __cplusplus
14 | extern "C" {
15 | #endif
16 |
17 | char* do_pow(const char* trytes, int mwm);
18 | char* generate_address(const char* seed, const size_t index,
19 | const size_t security);
20 | char* generate_signature(const char* seed, const size_t index,
21 | const size_t security, const char* bundleHash);
22 |
23 | #ifdef __cplusplus
24 | }
25 | #endif
26 |
27 | #endif /* bindings_h */
28 |
--------------------------------------------------------------------------------
/src/mobile/ios/Gemfile:
--------------------------------------------------------------------------------
1 | # Autogenerated by fastlane
2 | #
3 | # Ensure this file is checked in to source control!
4 |
5 | source 'https://rubygems.org'
6 |
7 | gem 'cocoapods', '~> 1.10'
8 | gem 'fastlane'
9 |
10 | eval_gemfile('./fastlane/Pluginfile') if File.exist?('./fastlane/Pluginfile')
11 |
--------------------------------------------------------------------------------
/src/mobile/ios/NativeUtils/NativeUtilsIOS.m:
--------------------------------------------------------------------------------
1 | //
2 | // NativeUtilsIOS.m
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 3/27/20.
6 | // Copyright © 2020 IOTA Foundation. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface RCT_EXTERN_MODULE(NativeUtilsIOS, NSObject)
13 |
14 | RCT_EXTERN_METHOD(getSystemUptime:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject);
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/src/mobile/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | install! 'cocoapods', :disable_input_output_paths => true
5 |
6 | target 'iotaWallet' do
7 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
8 | use_frameworks!
9 | pod 'CatCrypto', :git => 'https://github.com/rajivshah3/CatCrypto.git', :branch => 'trinity'
10 |
11 | target 'iotaWalletTests' do
12 | inherit! :search_paths
13 | # Pods for testing
14 | end
15 |
16 | end
17 |
18 | target 'iotaWallet-tvOS' do
19 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
20 | # use_frameworks!
21 |
22 | # Pods for iotaWallet-tvOS
23 |
24 | target 'iotaWallet-tvOSTests' do
25 | inherit! :search_paths
26 | # Pods for testing
27 | end
28 |
29 | end
30 |
--------------------------------------------------------------------------------
/src/mobile/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - CatCrypto (0.3.0)
3 |
4 | DEPENDENCIES:
5 | - CatCrypto (from `https://github.com/rajivshah3/CatCrypto.git`, branch `trinity`)
6 |
7 | EXTERNAL SOURCES:
8 | CatCrypto:
9 | :branch: trinity
10 | :git: https://github.com/rajivshah3/CatCrypto.git
11 |
12 | CHECKOUT OPTIONS:
13 | CatCrypto:
14 | :commit: d0eb6e13f19f99144fec8be1455d5a0c0f20a0ad
15 | :git: https://github.com/rajivshah3/CatCrypto.git
16 |
17 | SPEC CHECKSUMS:
18 | CatCrypto: 7e3a6e0a03b699845b38cdc09d34a8127466c5e0
19 |
20 | PODFILE CHECKSUM: 9e2398d883f05de98fa19bdcb8253c52dc792396
21 |
22 | COCOAPODS: 1.10.0
23 |
--------------------------------------------------------------------------------
/src/mobile/ios/SourceSansPro-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/SourceSansPro-Bold.ttf
--------------------------------------------------------------------------------
/src/mobile/ios/SourceSansPro-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/SourceSansPro-Light.ttf
--------------------------------------------------------------------------------
/src/mobile/ios/SourceSansPro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/SourceSansPro-Regular.ttf
--------------------------------------------------------------------------------
/src/mobile/ios/ar.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/ar.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/cs.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity potřebuje přístup k fotoaparátu, aby jste mohli skenovat QR kód.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity potřebuje přístup k identifikaci tváří pro aktivaci biometrické autentizace.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. Všechna práva vyhrazena.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/cs.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/da.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity kræver adgang til kameraet for at aktivere QR scanning.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity kræver adgang til ansigt-ID for at aktivere biometriske godkendelse.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. Alle rettigheder forbeholdes.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/da.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/de.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/de.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/el.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/el.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/en.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/es-419.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/es-419.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/es.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity requiere acceso a la cámara para activar el escaneo de QR.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity requiere acceso a Face ID para activar la autenticación biométrica.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "Fundación IOTA 2018. Todos los derechos reservados.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/es.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/Deliverfile:
--------------------------------------------------------------------------------
1 | # The Deliverfile allows you to store various App Store Connect metadata
2 | # For more information, check out the docs
3 | # https://docs.fastlane.tools/actions/deliver/
4 |
5 | app_identifier 'com.iota.trinity'
6 | skip_binary_upload true
7 | skip_screenshots true
8 | skip_metadata false
9 | skip_app_version_update true
10 | submit_for_review false
11 | precheck_include_in_app_purchases false
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/Pluginfile:
--------------------------------------------------------------------------------
1 | # Autogenerated by fastlane
2 | #
3 | # Ensure this file is checked in to source control!
4 |
5 | gem 'fastlane-plugin-bugsnag'
6 | gem 'fastlane-plugin-load_json'
7 | gem 'fastlane-plugin-localization'
8 | gem 'fastlane-plugin-clean_testflight_testers'
9 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/metadata/en-GB/description.txt:
--------------------------------------------------------------------------------
1 | The Trinity wallet is a new, user-friendly wallet for IOTA. IOTA is a distributed ledger technology that is feeless, decentralised, and scalable.
2 |
3 | Application features include:
4 |
5 | - State-of-the-art security
6 | - Multi-account management
7 | - Pricing and chart data
8 | - Biometric login
9 | - Automatic node selection
10 | - Auto-reattachment and promotion
11 |
12 | For help, please refer to https://docs.iota.org/trinity
13 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/metadata/en-GB/keywords.txt:
--------------------------------------------------------------------------------
1 | IOTA, Tangle, Ledger, Trinity, Token, Wallet, DLT
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/metadata/en-GB/name.txt:
--------------------------------------------------------------------------------
1 | Trinity Wallet
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/metadata/en-GB/promotional_text.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/metadata/en-GB/release_notes.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/metadata/en-GB/subtitle.txt:
--------------------------------------------------------------------------------
1 | The user-friendly IOTA wallet
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fastlane/metadata/en-GB/support_url.txt:
--------------------------------------------------------------------------------
1 | https://docs.iota.org/trinity
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fi.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity tarvitsee käyttöoikeuden kameraasi, jotta QR-skannausta voidaan käyttää.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity tarvitsee käyttöoikeuden FACE ID -asetuksiin, jotta kasvontunnistus voidaan aktivoida.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/fi.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/fr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/fr.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/he.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/he.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/hi.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/hi.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/id.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/id.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet-tvOSTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.6.2
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 108
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/AppDelegate.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015-present, Facebook, Inc.
3 | * All rights reserved.
4 | *
5 | * This source code is licensed under the BSD-style license found in the
6 | * LICENSE file in the root directory of this source tree. An additional grant
7 | * of patent rights can be found in the PATENTS file in the same directory.
8 | */
9 |
10 | #import
11 |
12 | @interface AppDelegate : UIResponder
13 |
14 | @property (nonatomic, strong) UIWindow *window;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // iotaWallet
4 | //
5 | // Created by Rajiv Shah on 6/19/18.
6 | // Copyright © 2018 IOTA Foundation. All rights reserved.
7 | //
8 | // Do not delete this file!
9 | // It is necessary in order to mitigate a linker error in Xcode
10 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x-1.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x-1.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-1024@1x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-20@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-20@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-29@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-29@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-40@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-40@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-60@2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/AppIconBeta.appiconset/icon-ios-60@3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "iota-logo-white.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "iota-logo-white_2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "iota-logo-white_3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.imageset/iota-logo-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.imageset/iota-logo-white.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.imageset/iota-logo-white_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.imageset/iota-logo-white_2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.imageset/iota-logo-white_3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.imageset/iota-logo-white_3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "minimum-system-version" : "7.0",
7 | "scale" : "2x"
8 | },
9 | {
10 | "orientation" : "portrait",
11 | "idiom" : "iphone",
12 | "minimum-system-version" : "7.0",
13 | "subtype" : "retina4",
14 | "scale" : "2x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/SplashIcon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "iota-logo-white.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "iota-logo-white_2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "iota-logo-white_3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/SplashIcon.imageset/iota-logo-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/SplashIcon.imageset/iota-logo-white.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/SplashIcon.imageset/iota-logo-white_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/SplashIcon.imageset/iota-logo-white_2x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/Images.xcassets/SplashIcon.imageset/iota-logo-white_3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/mobile/ios/iotaWallet/Images.xcassets/SplashIcon.imageset/iota-logo-white_3x.png
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/iotaWallet-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/iotaWallet.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.default-data-protection
6 | NSFileProtectionComplete
7 | com.apple.developer.icloud-container-identifiers
8 |
9 | com.apple.developer.ubiquity-kvstore-identifier
10 | $(TeamIdentifierPrefix)$(CFBundleIdentifier)
11 | keychain-access-groups
12 |
13 | $(AppIdentifierPrefix)org.reactjs.native.example.iotaWallet
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWallet/main.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015-present, Facebook, Inc.
3 | * All rights reserved.
4 | *
5 | * This source code is licensed under the BSD-style license found in the
6 | * LICENSE file in the root directory of this source tree. An additional grant
7 | * of patent rights can be found in the PATENTS file in the same directory.
8 | */
9 |
10 | #import
11 |
12 | #import "AppDelegate.h"
13 |
14 | int main(int argc, char * argv[]) {
15 | @autoreleasepool {
16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWalletTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.6.2
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 108
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/mobile/ios/iotaWalletUITests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.6.2
19 | CFBundleVersion
20 | 108
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/mobile/ios/it.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/it.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/ja.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "QRコード読込を有効にするには、カメラへのアクセスが必要です。";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "生体認証を有効にするには、Face IDへのアクセスが必要です。";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/ja.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/ko.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/ko.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/lv.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/lv.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/nb.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/nb.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/nl.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity heeft toegang tot de camera nodig voor QR-scannen.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity heeft toegang tot Face ID nodig voor biometrische verificatie.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. Alle rechten voorbehouden.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/nl.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/pl.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity wymaga dostępu do kamery, aby umożliwić skanowanie kodów QR.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity wymaga dostępu do Face ID, aby aktywować uwierzytelnianie biometryczne.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. Wszelkie prawa zastrzeżone.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/pl.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/pt-BR.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/pt-BR.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/pt-PT.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/pt-PT.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/ro.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/ro.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/ru.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/ru.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/sk.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity potrebuje prístup k fotoaparátu, aby ste mohli skenovať QR kód.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity potrebuje prístup k identifikácii tvárou pre aktiváciu biometrické autentizácie.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. Všetky práva vyhradené.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/sk.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/sl.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/sl.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/sv.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity kräver åtkomst till kameran för att aktivera QR skanning.";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity kräver åtkomst till Face ID för att aktivera biometrisk autentisering.";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/sv.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/tr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/tr.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/ur.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/ur.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/zh-Hans.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* (No Comment) */
2 | "CFBundleDisplayName" = "Trinity";
3 |
4 | /* (No Comment) */
5 | "CFBundleName" = "$(PRODUCT_NAME)";
6 |
7 | /* (No Comment) */
8 | "NSCameraUsageDescription" = "Trinity 需要访问相机权限以启用二维码扫描功能。";
9 |
10 | /* (No Comment) */
11 | "NSFaceIDUsageDescription" = "Trinity需要访问Face ID权限以启用生物特征认功能。";
12 |
13 | /* (No Comment) */
14 | "NSHumanReadableCopyright" = "2018 IOTA 基金会。保留所有权利。";
15 |
16 |
--------------------------------------------------------------------------------
/src/mobile/ios/zh-Hans.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/ios/zh-Hant.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | iotaWallet
4 |
5 | Created by Rajiv Shah on 3/24/18.
6 | Copyright © 2018 IOTA Foundation. All rights reserved.
7 | */
8 | "NSHumanReadableCopyright" = "2018 IOTA Foundation. All rights reserved.";
9 | "NSCameraUsageDescription" = "Trinity requires access to the camera in order to enable QR scanning.";
10 | "NSFaceIDUsageDescription" = "Trinity requires access to Face ID in order to enable biometric authentication.";
11 |
12 |
--------------------------------------------------------------------------------
/src/mobile/ios/zh-Hant.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/mobile/nodejs-assets/nodejs-project/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nodejs-project",
3 | "version": "1.0.0",
4 | "description": "Trinity nodejs-assets",
5 | "main": "main.js",
6 | "dependencies": {
7 | "argon2": "^0.19.3",
8 | "kdbxweb": "^1.2.4"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/mobile/patches/buffer+4.9.1.patch:
--------------------------------------------------------------------------------
1 | diff --git a/node_modules/buffer/index.js b/node_modules/buffer/index.js
2 | index 0fcd80a..a205935 100644
3 | --- a/node_modules/buffer/index.js
4 | +++ b/node_modules/buffer/index.js
5 | @@ -1054,7 +1054,8 @@ function utf16leSlice (buf, start, end) {
6 | return res
7 | }
8 |
9 | -Buffer.prototype.slice = function slice (start, end) {
10 | +if (!Buffer.prototype.slice) {
11 | +Object.defineProperty(Buffer.prototype, 'slice', function slice (start, end) {
12 | var len = this.length
13 | start = ~~start
14 | end = end === undefined ? len : ~~end
15 | @@ -1088,6 +1089,7 @@ Buffer.prototype.slice = function slice (start, end) {
16 | }
17 |
18 | return newBuf
19 | +});
20 | }
21 |
22 | /*
23 |
--------------------------------------------------------------------------------
/src/mobile/patches/react-native-camera+1.5.1.patch:
--------------------------------------------------------------------------------
1 | diff --git a/node_modules/react-native-camera/ios/RN/RNCamera.m b/node_modules/react-native-camera/ios/RN/RNCamera.m
2 | index 603849a..5f6d631 100644
3 | --- a/node_modules/react-native-camera/ios/RN/RNCamera.m
4 | +++ b/node_modules/react-native-camera/ios/RN/RNCamera.m
5 | @@ -295,7 +295,7 @@ - (void)updateZoom {
6 | return;
7 | }
8 |
9 | - device.videoZoomFactor = (device.activeFormat.videoMaxZoomFactor - 1.0) * self.zoom + 1.0;
10 | + device.videoZoomFactor = MIN(MAX(self.zoom, 1), device.activeFormat.videoMaxZoomFactor);
11 |
12 | [device unlockForConfiguration];
13 | }
14 |
--------------------------------------------------------------------------------
/src/mobile/patches/react-native-document-picker+3.3.2.patch:
--------------------------------------------------------------------------------
1 | diff --git a/node_modules/react-native-document-picker/index.js b/node_modules/react-native-document-picker/index.js
2 | index c87eb62..95ab12c 100644
3 | --- a/node_modules/react-native-document-picker/index.js
4 | +++ b/node_modules/react-native-document-picker/index.js
5 | @@ -2,7 +2,7 @@
6 | import { Platform, NativeModules } from 'react-native';
7 | const { RNDocumentPicker } = NativeModules;
8 |
9 | -if (!RNDocumentPicker) {
10 | +if (!RNDocumentPicker && process.env.NODE_ENV !== 'test') {
11 | // Use a timeout to ensure the warning is displayed in the YellowBox
12 | setTimeout(() => {
13 | console.warn(
14 |
--------------------------------------------------------------------------------
/src/mobile/rn-cli.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const metroBlacklist = require('metro-config/src/defaults/blacklist');
3 |
4 | const alternateRoots = [path.join(__dirname, '../shared')];
5 | const blacklist = metroBlacklist([
6 | /nodejs-assets\/.*/,
7 | /android\/build\/.*/,
8 | /android\/app\/build\/.*/,
9 | /ios\/build\/.*/,
10 | ]);
11 |
12 | module.exports = {
13 | watchFolders: alternateRoots,
14 | resolver: {
15 | blacklistRE: blacklist,
16 | extraNodeModules: {
17 | 'react-native': path.resolve(__dirname, 'node_modules/react-native'),
18 | },
19 | },
20 | transformer: {
21 | getTransformOptions: async () => ({
22 | transform: {
23 | experimentalImportSupport: false,
24 | inlineRequires: false,
25 | },
26 | }),
27 | },
28 | };
29 |
--------------------------------------------------------------------------------
/src/mobile/safetynet.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # fail if any commands fail
3 | set -e
4 |
5 | # Add SafetyNet API key to utils/safetynet.js
6 | cat src/libs/safetynet.js | sed -e "s/fakeAPIkey/$SAFETYNET_KEY/" | tee src/libs/safetynet.js
7 |
--------------------------------------------------------------------------------
/src/mobile/scripts/build-entangled-android.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | out=bazel-bin/mobile/android
4 | url=https://github.com/iotaledger/entangled
5 | branch=develop
6 |
7 | for i in '$@' ; do
8 | if [[ $i == '--clean' ]] ; then
9 | bazel clean
10 | fi
11 | done
12 |
13 | if [ -d entangled ]; then
14 | cd entangled
15 |
16 | git fetch origin $branch && git checkout $branch && git submodule update --recursive
17 | else
18 | git clone $url && cd entangled && git checkout $branch && git submodule update --init --recursive
19 | fi
20 |
21 | if [ $? -eq '0' ]; then
22 | bazel build --fat_apk_cpu='armeabi-v7a,arm64-v8a,x86,x86_64' --copt=-O3 //mobile/android:dummy
23 |
24 | echo A | unzip $out/dummy.apk -d $out/dummy && cp -r $out/dummy/lib/ ../../android/app/src/main/jniLibs
25 | fi
26 |
--------------------------------------------------------------------------------
/src/mobile/src/libs/SeedStore/index.js:
--------------------------------------------------------------------------------
1 | import Keychain from './Keychain';
2 |
3 | export default {
4 | keychain: Keychain,
5 | };
6 |
--------------------------------------------------------------------------------
/src/mobile/src/libs/bugsnag.js:
--------------------------------------------------------------------------------
1 | import { Client, Configuration } from 'bugsnag-react-native';
2 | import packageJson from '../../package.json';
3 |
4 | const configuration = new Configuration();
5 | configuration.appVersion = packageJson.version;
6 |
7 | export const bugsnag = new Client(configuration);
8 |
9 | /**
10 | * Leaves navigation breadcrumbs to help determine what screen an error occurred on
11 | * If an error occurs, the most recent breadcrumbs are attached along with the crash report
12 | * @param {string} component Component name
13 | */
14 | export const leaveNavigationBreadcrumb = (component) => {
15 | bugsnag.leaveBreadcrumb('Navigated to ' + component, {
16 | type: 'navigation',
17 | component: component,
18 | });
19 | };
20 |
--------------------------------------------------------------------------------
/src/mobile/src/libs/dimensions.js:
--------------------------------------------------------------------------------
1 | import { Dimensions } from 'react-native';
2 | import ExtraDimensions from 'react-native-extra-dimensions-android';
3 | import { isAndroid, isIPhoneX } from 'libs/device';
4 |
5 | global.height = isAndroid
6 | ? ExtraDimensions.get('REAL_WINDOW_HEIGHT') - ExtraDimensions.get('SOFT_MENU_BAR_HEIGHT')
7 | : Dimensions.get('window').height;
8 |
9 | // StatusBar area where we avoid drawing
10 | const iPhoneXTop = 44;
11 | // Area below tabs where we avoid drawing
12 | const iPhoneXBottom = 34;
13 |
14 | if (isIPhoneX) {
15 | global.height -= iPhoneXTop + iPhoneXBottom;
16 | }
17 |
18 | export const width = Dimensions.get('window').width;
19 | export const height = global.height;
20 |
--------------------------------------------------------------------------------
/src/mobile/src/libs/safetynet.js:
--------------------------------------------------------------------------------
1 | import { isPlayServicesAvailable, generateNonce, sendAndVerifyAttestation } from 'react-native-google-safetynet';
2 |
3 | // NOTE: This is a fake API key, thus SafetyNet attestation may fail even if the device is not rooted
4 | // It is replaced by the correct API key during the deployment process
5 | const API_KEY = 'fakeAPIkey';
6 |
7 | /**
8 | * Send an attestation request to SafetyNet
9 | * @return {Promise}
10 | */
11 | const doAttestationFromSafetyNet = () => {
12 | return isPlayServicesAvailable()
13 | .then((result) => {
14 | if (result === true) {
15 | return generateNonce(24);
16 | }
17 |
18 | throw new Error('play services not available.');
19 | })
20 | .then((nonce) => sendAndVerifyAttestation(nonce, API_KEY));
21 | };
22 |
23 | export default doAttestationFromSafetyNet;
24 |
--------------------------------------------------------------------------------
/src/mobile/src/ui/components/Letter.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import { Text } from 'react-native';
4 |
5 | const Letter = (props) => {
6 | const { children, spacing, textStyle } = props;
7 |
8 | const letterStyles = [textStyle, { paddingRight: spacing }];
9 |
10 | return {children};
11 | };
12 |
13 | Letter.propTypes = {
14 | /** Letter children content */
15 | children: PropTypes.string.isRequired,
16 | /** Letter spacing */
17 | spacing: PropTypes.number.isRequired,
18 | /** Letter text styles */
19 | textStyle: PropTypes.array,
20 | };
21 |
22 | export default Letter;
23 |
--------------------------------------------------------------------------------
/src/mobile/src/ui/components/WithStatusBar.js:
--------------------------------------------------------------------------------
1 | import React, { PureComponent } from 'react';
2 | import { View } from 'react-native';
3 | import DynamicStatusBar from 'ui/components/DynamicStatusBar';
4 |
5 | export default function withStatusBar(WrappedComponent) {
6 | class EnhancedComponent extends PureComponent {
7 | render() {
8 | return (
9 |
10 |
11 |
12 |
13 | );
14 | }
15 | }
16 |
17 | return EnhancedComponent;
18 | }
19 |
--------------------------------------------------------------------------------
/src/mobile/src/ui/theme/fonts.js:
--------------------------------------------------------------------------------
1 | export default {
2 | primary: 'SourceSansPro-Bold',
3 | secondary: 'SourceSansPro-Regular',
4 | tertiary: 'SourceSansPro-Light',
5 | };
6 |
--------------------------------------------------------------------------------
/src/mobile/src/ui/theme/icons.js:
--------------------------------------------------------------------------------
1 | import { createIconSet } from 'react-native-vector-icons';
2 | import icons from 'shared-modules/icons/icons';
3 |
4 | const Icon = createIconSet(icons, 'Icons');
5 |
6 | export default Icon;
7 |
--------------------------------------------------------------------------------
/src/mobile/testConfig.js:
--------------------------------------------------------------------------------
1 | import { configure } from 'enzyme';
2 | import Adapter from 'enzyme-adapter-react-16';
3 | import { i18nextInit } from 'shared-modules/libs/i18next';
4 |
5 | configure({ adapter: new Adapter() });
6 | i18nextInit();
7 |
--------------------------------------------------------------------------------
/src/shared/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "@babel/preset-env"
4 | ],
5 | "plugins": [
6 | "@babel/plugin-proposal-object-rest-spread",
7 | "@babel/plugin-transform-react-jsx",
8 | "@babel/plugin-syntax-dynamic-import",
9 | "@babel/plugin-syntax-import-meta",
10 | "@babel/plugin-proposal-class-properties",
11 | "@babel/plugin-proposal-json-strings",
12 | [
13 | "@babel/plugin-proposal-decorators",
14 | {
15 | "legacy": true
16 | }
17 | ],
18 | "@babel/plugin-proposal-function-sent",
19 | "@babel/plugin-proposal-export-namespace-from",
20 | "@babel/plugin-proposal-numeric-separator",
21 | "@babel/plugin-proposal-throw-expressions"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/src/shared/.eslintrc.yml:
--------------------------------------------------------------------------------
1 | rules:
2 | import/no-useless-path-segments: 0
3 |
--------------------------------------------------------------------------------
/src/shared/.snyk:
--------------------------------------------------------------------------------
1 | # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
2 | version: v1.14.1
3 | # ignores vulnerabilities until expiry date; change duration by modifying expiry date
4 | ignore:
5 | 'npm:chownr:20180731':
6 | - '*':
7 | reason: Fix is not available
8 | expires: 2019-03-31T00:00:00.000Z
9 | # patches apply the minimum changes required to fix a vulnerability
10 | patch:
11 | SNYK-JS-AXIOS-174505:
12 | - figma-parser > axios:
13 | patched: '2019-05-05T21:43:37.166Z'
14 |
--------------------------------------------------------------------------------
/src/shared/__tests__/__samples__/accounts.js:
--------------------------------------------------------------------------------
1 | import { addressData } from './addresses';
2 | import transactions from './transactions';
3 |
4 | export const NAME = 'TEST';
5 | export const TYPE = 'ledger';
6 |
7 | export default {
8 | onboardingComplete: true,
9 | accountInfo: {
10 | [NAME]: {
11 | addressData,
12 | transactions,
13 | meta: { type: TYPE },
14 | },
15 | },
16 | setupInfo: {
17 | [NAME]: {
18 | usedExistingSeed: true,
19 | },
20 | },
21 | tasks: {
22 | [NAME]: {
23 | displayedSnapshotTransitionGuide: true,
24 | },
25 | },
26 | };
27 |
--------------------------------------------------------------------------------
/src/shared/__tests__/beforeAll.spec.js:
--------------------------------------------------------------------------------
1 | import { i18nextInit } from '../libs/i18next';
2 |
3 | beforeEach(async () => {
4 | /**
5 | * Initialize i18next
6 | */
7 | await i18nextInit();
8 | });
9 |
--------------------------------------------------------------------------------
/src/shared/actions/home.js:
--------------------------------------------------------------------------------
1 | import { HomeActionTypes } from '../types';
2 |
3 | /**
4 | * Dispatch to set active home screen route for mobile
5 | *
6 | * @method changeHomeScreenRoute
7 | * @param {string} payload
8 | *
9 | * @returns {{type: {string}, payload: {string} }}
10 | */
11 | export const changeHomeScreenRoute = (payload) => ({
12 | type: HomeActionTypes.CHANGE_HOME_SCREEN_CHILD_ROUTE,
13 | payload,
14 | });
15 |
16 | /**
17 | * Dispatch to show/hide dashboard top bar on mobile
18 | *
19 | * @method toggleTopBarDisplay
20 | *
21 | * @returns {{type: {string} }}
22 | */
23 | export const toggleTopBarDisplay = () => ({
24 | type: HomeActionTypes.TOGGLE_TOP_BAR_DISPLAY,
25 | });
26 |
--------------------------------------------------------------------------------
/src/shared/custom-fonts/SourceCodePro-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/SourceCodePro-Medium.ttf
--------------------------------------------------------------------------------
/src/shared/custom-fonts/SourceSansPro-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/SourceSansPro-Bold.ttf
--------------------------------------------------------------------------------
/src/shared/custom-fonts/SourceSansPro-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/SourceSansPro-Light.ttf
--------------------------------------------------------------------------------
/src/shared/custom-fonts/SourceSansPro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/SourceSansPro-Regular.ttf
--------------------------------------------------------------------------------
/src/shared/custom-fonts/SourceSansPro-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/SourceSansPro-SemiBold.ttf
--------------------------------------------------------------------------------
/src/shared/custom-fonts/icons/Linearicons-Free.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/icons/Linearicons-Free.eot
--------------------------------------------------------------------------------
/src/shared/custom-fonts/icons/Linearicons-Free.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/icons/Linearicons-Free.ttf
--------------------------------------------------------------------------------
/src/shared/custom-fonts/icons/Linearicons-Free.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/icons/Linearicons-Free.woff
--------------------------------------------------------------------------------
/src/shared/custom-fonts/icons/Linearicons-Free.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/custom-fonts/icons/Linearicons-Free.woff2
--------------------------------------------------------------------------------
/src/shared/icons/Icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/icons/Icons.ttf
--------------------------------------------------------------------------------
/src/shared/icons/icons/arrowDown.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/arrowLeft.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/arrowRight.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/arrowUp.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/attention.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/bookmark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/copy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/cross.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/edit.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/key.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/logout.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/minus.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/node.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/password.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/plus.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/plusAlt.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/search.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/send.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/snapshot.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/sync.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/tick.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/tickRound.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/icons/icons/user.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/shared/images/checkbox-checked-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/checkbox-checked-black.png
--------------------------------------------------------------------------------
/src/shared/images/checkbox-checked-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/checkbox-checked-white.png
--------------------------------------------------------------------------------
/src/shared/images/checkbox-unchecked-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/checkbox-unchecked-black.png
--------------------------------------------------------------------------------
/src/shared/images/checkbox-unchecked-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/checkbox-unchecked-white.png
--------------------------------------------------------------------------------
/src/shared/images/circle-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/circle-black.png
--------------------------------------------------------------------------------
/src/shared/images/circle-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/circle-white.png
--------------------------------------------------------------------------------
/src/shared/images/dot-circle-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/dot-circle-black.png
--------------------------------------------------------------------------------
/src/shared/images/dot-circle-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/dot-circle-white.png
--------------------------------------------------------------------------------
/src/shared/images/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/error.png
--------------------------------------------------------------------------------
/src/shared/images/infoIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/infoIcon.png
--------------------------------------------------------------------------------
/src/shared/images/successIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/successIcon.png
--------------------------------------------------------------------------------
/src/shared/images/warnIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/src/shared/images/warnIcon.png
--------------------------------------------------------------------------------
/src/shared/libs/exports.js:
--------------------------------------------------------------------------------
1 | import passwordStrength from 'zxcvbn';
2 | import moment from 'moment';
3 |
4 | export { passwordStrength as zxcvbn, moment };
5 |
--------------------------------------------------------------------------------
/src/shared/libs/global.js:
--------------------------------------------------------------------------------
1 | global.onboardingSeed = new Int8Array();
2 | global.passwordHash = new Uint8Array();
3 |
--------------------------------------------------------------------------------
/src/shared/libs/originalRequire.js:
--------------------------------------------------------------------------------
1 | module.exports = require;
2 |
--------------------------------------------------------------------------------
/src/shared/markdown/index.js:
--------------------------------------------------------------------------------
1 | import enPrivacyPolicyAndroid from './enPrivacyPolicyAndroid';
2 | import dePrivacyPolicyAndroid from './dePrivacyPolicyAndroid';
3 | import enTermsAndConditionsAndroid from './enTermsAndConditionsAndroid';
4 | import deTermsAndConditionsAndroid from './deTermsAndConditionsAndroid';
5 | import enPrivacyPolicyIOS from './enPrivacyPolicyIOS';
6 | import dePrivacyPolicyIOS from './dePrivacyPolicyIOS';
7 | import enTermsAndConditionsIOS from './enTermsAndConditionsIOS';
8 | import deTermsAndConditionsIOS from './deTermsAndConditionsIOS';
9 |
10 | export {
11 | enPrivacyPolicyAndroid,
12 | dePrivacyPolicyAndroid,
13 | enTermsAndConditionsAndroid,
14 | deTermsAndConditionsAndroid,
15 | enPrivacyPolicyIOS,
16 | dePrivacyPolicyIOS,
17 | enTermsAndConditionsIOS,
18 | deTermsAndConditionsIOS,
19 | };
20 |
--------------------------------------------------------------------------------
/src/shared/middlewares/alerts.js:
--------------------------------------------------------------------------------
1 | import includes from 'lodash/includes';
2 |
3 | const alertsMiddleware = (store) => (next) => (action) => {
4 | if (includes(action.type, 'ALERTS/SHOW') || includes(action.type, 'ALERTS/HIDE')) {
5 | // Only dispatch new alerts if it wallet has a connection
6 | if (store.getState().wallet.hasConnection) {
7 | next(action);
8 | }
9 | } else {
10 | next(action);
11 | }
12 | };
13 |
14 | export default alertsMiddleware;
15 |
--------------------------------------------------------------------------------
/src/shared/middlewares/modal.js:
--------------------------------------------------------------------------------
1 | import includes from 'lodash/includes';
2 |
3 | const modalMiddleware = (store) => (next) => (action) => {
4 | if (includes(action.type, 'TOGGLE_MODAL_ACTIVITY')) {
5 | const { wallet, ui } = store.getState();
6 |
7 | if (wallet.hasConnection) {
8 | next(action);
9 | } else {
10 | // Alow modal to close if there is no connection
11 | if (ui.isModalActive) {
12 | next(action);
13 | }
14 | }
15 | } else {
16 | next(action);
17 | }
18 | };
19 |
20 | export default modalMiddleware;
21 |
--------------------------------------------------------------------------------
/src/shared/schemas/v0/index.js:
--------------------------------------------------------------------------------
1 | import defaultSchemas from '../default';
2 |
3 | export default defaultSchemas;
4 |
--------------------------------------------------------------------------------
/src/shared/schemas/v2/index.js:
--------------------------------------------------------------------------------
1 | import merge from 'lodash/merge';
2 | import map from 'lodash/map';
3 | import v1Schema from '../v1';
4 |
5 | const migration = (_, newRealm) => {
6 | const walletData = newRealm.objectForPrimaryKey('Wallet', 1);
7 |
8 | // Bump wallet version.
9 | walletData.version = 2;
10 | };
11 |
12 | export default map(v1Schema, (schema) => {
13 | if (schema.name === 'WalletSettings') {
14 | return merge({}, schema, {
15 | properties: {
16 | /**
17 | * Determines if deep linking is enabled
18 | */
19 | deepLinking: {
20 | type: 'bool',
21 | default: false,
22 | },
23 | },
24 | });
25 | }
26 |
27 | return schema;
28 | });
29 |
30 | export { migration };
31 |
--------------------------------------------------------------------------------
/src/shared/schemas/v4/index.js:
--------------------------------------------------------------------------------
1 | import merge from 'lodash/merge';
2 | import map from 'lodash/map';
3 | import v3Schema from '../v3';
4 |
5 | const migration = (_, newRealm) => {
6 | const walletData = newRealm.objectForPrimaryKey('Wallet', 3);
7 |
8 | // Bump wallet version.
9 | walletData.version = 4;
10 | };
11 |
12 | export default map(v3Schema, (schema) => {
13 | if (schema.name === 'Transaction') {
14 | return merge({}, schema, {
15 | properties: {
16 | /**
17 | * Determines if tx had fatal error on retry
18 | */
19 | fatalErrorOnRetry: {
20 | type: 'bool',
21 | default: false,
22 | },
23 | },
24 | });
25 | }
26 |
27 | return schema;
28 | });
29 |
30 | export { migration };
31 |
--------------------------------------------------------------------------------
/src/shared/schemas/v5/index.js:
--------------------------------------------------------------------------------
1 | import merge from 'lodash/merge';
2 | import map from 'lodash/map';
3 | import v4Schema from '../v4';
4 |
5 | const migration = (_, newRealm) => {
6 | const walletData = newRealm.objectForPrimaryKey('Wallet', 4);
7 |
8 | // Bump wallet version.
9 | walletData.version = 5;
10 | };
11 |
12 | export default map(v4Schema, (schema) => {
13 | if (schema.name === 'WalletSettings') {
14 | return merge({}, schema, {
15 | properties: {
16 | /*
17 | * Desktop: Use system proxy settings
18 | */
19 | ignoreProxy: {
20 | type: 'bool',
21 | default: false,
22 | },
23 | },
24 | });
25 | }
26 |
27 | return schema;
28 | });
29 |
30 | export { migration };
31 |
--------------------------------------------------------------------------------
/src/shared/schemas/v8/index.js:
--------------------------------------------------------------------------------
1 | import omit from 'lodash/omit';
2 | import map from 'lodash/map';
3 | import v7Schema from '../v7';
4 |
5 | const migration = (_, newRealm) => {
6 | const walletData = newRealm.objectForPrimaryKey('Wallet', 7);
7 |
8 | // Bump wallet version.
9 | walletData.version = 8;
10 | };
11 |
12 | export default map(v7Schema, (schema) => {
13 | if (schema.name === 'WalletSettings') {
14 | return omit(schema, 'properties.availableCurrencies');
15 | }
16 |
17 | return schema;
18 | });
19 |
20 | export { migration };
21 |
--------------------------------------------------------------------------------
/src/shared/themes/themes.js:
--------------------------------------------------------------------------------
1 | import Default from './themes/Default';
2 | import Classic from './themes/Classic';
3 | import Electric from './themes/Electric';
4 | import Mint from './themes/Mint';
5 | import Ionic from './themes/Ionic';
6 | import SteelBlue from './themes/SteelBlue';
7 | import Contemporary from './themes/Contemporary';
8 | import Dark from './themes/Dark';
9 | import Light from './themes/Light';
10 |
11 | const themes = {
12 | Default: Default,
13 | Classic: Classic,
14 | Mint: Mint,
15 | Electric: Electric,
16 | Ionic: Ionic,
17 | SteelBlue: SteelBlue,
18 | Contemporary: Contemporary,
19 | Dark: Dark,
20 | Light: Light,
21 | };
22 |
23 | export default themes;
24 |
--------------------------------------------------------------------------------
/trinity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iotaledger-archive/trinity-wallet/c0a7683eb186fae9a53b312303f6cc09a3bb0b61/trinity.png
--------------------------------------------------------------------------------