Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QR support for UOS #273

Closed
wants to merge 136 commits into from
Closed
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
2dd1d79
feat: wip for adding QR support for UOS
pmespresso Jul 22, 2019
d13508b
chore: Squashed old branch
maciejhirsz Jul 23, 2019
106a47f
feat: expose blake2s hash function
maciejhirsz Jul 23, 2019
2f7c017
Merge branch 'master' of https://github.com/paritytech/parity-signer …
pmespresso Jul 25, 2019
e7ae6cb
fix: use ui-qr
pmespresso Jul 25, 2019
de1ad25
Merge branch 'master' of https://github.com/paritytech/parity-signer …
pmespresso Jul 26, 2019
8f7373c
fix: add peer dependencies for @polkadot/*
pmespresso Jul 26, 2019
6ed5492
feat: handle decoding via UOS
pmespresso Jul 26, 2019
8673253
fix: decode substrate payload!
pmespresso Jul 29, 2019
bbaeb3c
fix(): network selection
Tbaut Jul 29, 2019
28b586f
feat: use native qrCode function
pmespresso Jul 30, 2019
77a31ef
Update src/components/QrView.js
pmespresso Jul 30, 2019
af2c36a
fix(): backward compatible
Tbaut Jul 30, 2019
a9c36ae
fix(): Mock for a sparta account, add prefixes for substrate
Tbaut Jul 30, 2019
62943a4
fix(): address map for substrate accounts
Tbaut Jul 30, 2019
7c0b8d3
fix: Duplicate function names in iOS
maciejhirsz Jul 31, 2019
44c91f7
Merge branch 'master' into mh-sr25519
maciejhirsz Jul 31, 2019
bec4e4b
fix(): init with PolaIcon file, types, add ui-shared and react-native…
Tbaut Aug 1, 2019
bfa75e2
fix(): add @polkadot/util-crypto
Tbaut Aug 1, 2019
7139143
fix(): add react-native-crypto with override and node-libs-react-native
Tbaut Aug 1, 2019
8d2366e
fix(): add import 'crypto' in Apps.js
Tbaut Aug 1, 2019
4b73fcc
fix(): add stream-browserify and overrides
Tbaut Aug 1, 2019
bfa084e
Merge branch 'master' into mh-sr25519
maciejhirsz Aug 1, 2019
0c331d3
feat: Expose `substrateAddress` in native.js
maciejhirsz Aug 1, 2019
d384e45
chore: merge
pmespresso Aug 1, 2019
2c9dd4b
Merge branch 'yj-ar' of https://github.com/paritytech/parity-signer i…
pmespresso Aug 1, 2019
1844189
Merge remote-tracking branch 'origin/mh-sr25519' into yj-ar
pmespresso Aug 1, 2019
0414f3d
fix(): ideenticon visible
Tbaut Aug 1, 2019
ac39cf0
fix: decode from u8a
pmespresso Aug 2, 2019
5bcdc20
fix(): pull in @polkadot/reactnative-identicon
Tbaut Aug 2, 2019
987b4df
feat: merge tbaut-accounts stuff
pmespresso Aug 2, 2019
bd90268
fix: reformat data for consistency with legacy. temporary placeholdde…
pmespresso Aug 2, 2019
190d334
fix(): remove test files
Tbaut Aug 2, 2019
6d5fc1e
Merge branch 'master' into tbaut-polkadot-identicons
Tbaut Aug 2, 2019
3c3304d
fix: update jest config to solve building problem on iOS
hanwencheng Aug 2, 2019
bf24a64
fix: rn-wasm-crypto stuff
pmespresso Aug 2, 2019
d9a8d77
fix(): revert https://github.com/paritytech/parity-signer/pull/300
Tbaut Aug 2, 2019
b61ef4c
fix: qr view
pmespresso Aug 2, 2019
2ee9094
fix: update npm script for android dev startup
hanwencheng Aug 2, 2019
e7855f1
fix: decoding message and fix the screwed up qr code
pmespresso Aug 2, 2019
930403b
fix: warning when signing payload hash
pmespresso Aug 2, 2019
84f2be1
fix: remove nodefy and cleanup deps
Tbaut Aug 3, 2019
dfaef9d
Merge branch 'tbaut-polkadot-identicons' of github.com:paritytech/par…
Tbaut Aug 3, 2019
c2efacc
fix: re-enable screenshot for debug
Tbaut Aug 3, 2019
215ff6f
fix: merge master
Tbaut Aug 3, 2019
4ab9e67
fix: typo
Tbaut Aug 4, 2019
5349f9a
fix: remove punny dep
Tbaut Aug 4, 2019
8cd1907
fix: remove polkadot/ui-shared
Tbaut Aug 4, 2019
5691dd0
fix: remove timers-browsify
Tbaut Aug 4, 2019
cf4f722
fix: remove string_decoder
Tbaut Aug 4, 2019
3a0ae20
fix: remove buffer
Tbaut Aug 4, 2019
f40bc05
fix: remove hoist-non-react-statics
Tbaut Aug 4, 2019
33ce02f
fix: Merge branch 'master' of https://github.com/paritytech/parity-si…
pmespresso Aug 5, 2019
a08c617
fix: Merge remote-tracking branch 'origin/tbaut-polkadot-identicons' …
pmespresso Aug 5, 2019
8b651d1
fix: merge master
Tbaut Aug 5, 2019
121b44e
fix: use genesisHash and Address
Tbaut Aug 5, 2019
e34fae5
fix: merge master
pmespresso Aug 6, 2019
66840f7
Merge branch 'master' into tbaut-substrate-accounts
Tbaut Aug 6, 2019
9c40dc4
fix: Merge branch 'master' of https://github.com/paritytech/parity-si…
pmespresso Aug 6, 2019
88833fc
fix: make it build
pmespresso Aug 6, 2019
4cf1f40
fix: move parsing logic to store, setup for hadnleing multipart
pmespresso Aug 6, 2019
db21641
fix: store unsignedata
pmespresso Aug 6, 2019
552fe44
fix: setData uses scannerstore state unsigned data
pmespresso Aug 6, 2019
b84897c
fix: move parse to util
pmespresso Aug 7, 2019
be0d887
fix: new account creation with mock
Tbaut Aug 7, 2019
d3535c5
fix: bring in native blake2s function
pmespresso Aug 7, 2019
918b9de
fix: advanced derived path field for new account
Tbaut Aug 7, 2019
3c9d2f6
fix: move decores
pmespresso Aug 7, 2019
c575e7a
chore: Merge remote-tracking branch 'origin/tbaut-substrate-accounts'…
pmespresso Aug 7, 2019
6c47c72
fix: use react hooks in AccountIcon
Tbaut Aug 7, 2019
89f462e
fix: fix address and nits
Tbaut Aug 7, 2019
6ef950f
fix: fix genesis in QR
Tbaut Aug 7, 2019
3e1b4fd
fix: genesisHash as string
Tbaut Aug 7, 2019
f841700
fix: use real accounts and mnemonic
Tbaut Aug 7, 2019
999f0dd
fix: refactor
pmespresso Aug 7, 2019
199b481
fix: merge conflicts
pmespresso Aug 7, 2019
32c3ae7
fix: setup unit tests, vscode debug env
pmespresso Aug 8, 2019
62e45ad
fix: address encoding
pmespresso Aug 8, 2019
48b2ef9
fix: make tests pass
pmespresso Aug 8, 2019
f9e1db8
fix: multipart unit test
pmespresso Aug 8, 2019
19c6811
fix: setup for testing stores
pmespresso Aug 9, 2019
e995bed
fix: Merge branch 'master' of https://github.com/paritytech/parity-si…
pmespresso Aug 12, 2019
8c1cba6
fix: displaying ascii message to sign, use Kusama adddress in store
pmespresso Aug 12, 2019
3c78763
fix: unneeded hexToAscii
Tbaut Aug 12, 2019
5276807
feat: sr25519 signing
maciejhirsz Aug 12, 2019
afab547
fix: put current account in the state
Tbaut Aug 13, 2019
6ba2f48
fix: decode SCALE
pmespresso Aug 13, 2019
be64543
fix: make tests pass
pmespresso Aug 13, 2019
15745b4
fix: merge accounts
pmespresso Aug 14, 2019
c1caf7d
fix: Merge remote-tracking branch 'origin/mh-sr25519' into yj-ar
pmespresso Aug 14, 2019
2bd5cab
feat: Complete SURI derivation
maciejhirsz Aug 14, 2019
a08d9f6
feat: Expose blake2s proxy function in native.js
maciejhirsz Aug 14, 2019
e96666b
fix: Merge remote-tracking branch 'origin/mh-sr25519' into yj-ar
pmespresso Aug 14, 2019
f126ac4
fix: use genesisHash
Tbaut Aug 14, 2019
da9e9be
Merge remote-tracking branch 'origin/mh-sr25519' into tbaut-substrate…
Tbaut Aug 14, 2019
69fceb7
fix: use substrateAddress
Tbaut Aug 14, 2019
fa6fd52
fix: recover
Tbaut Aug 14, 2019
3e36b8c
fix: recover derivation
Tbaut Aug 14, 2019
f1ca0e9
fix: refactor advanced (derivation path) field
Tbaut Aug 15, 2019
d537a71
fix: bridge for ios
pmespresso Aug 15, 2019
61db6fe
fix: derivation path validity + refactor
Tbaut Aug 15, 2019
0a87201
fix: bridge for ios
pmespresso Aug 15, 2019
66a1371
fix: sign data
pmespresso Aug 15, 2019
f8043e2
fix: binding for blake2
pmespresso Aug 15, 2019
7e62d0f
fix: display derivation path and link to check pasword
Tbaut Aug 15, 2019
2f06e1a
fix: Added react methods to EthkeyBridge.m
maciejhirsz Aug 15, 2019
f40b733
fix: derivation for new accounts
Tbaut Aug 15, 2019
019e047
fix: Merge remote-tracking branch 'origin/mh-sr25519' into yj-ar
pmespresso Aug 16, 2019
9af141b
fix: merge
pmespresso Aug 16, 2019
79759ce
fix: merge account derivation
pmespresso Aug 16, 2019
9b53a01
fix: verify derivation pw
Tbaut Aug 16, 2019
d8ba4c0
fix: remove dup, reset head
Aug 17, 2019
96255ee
fix: merge master
Aug 17, 2019
de39540
fix: merge conflicts, handling legacy etehrum txn
Aug 17, 2019
6039031
fix: show the hash for oversized message hex
pmespresso Aug 18, 2019
ad7d134
Merge remote-tracking branch 'origin/tbaut-substrate-accounts' into y…
pmespresso Aug 18, 2019
458b0fa
fix: alert warning signing hash, get network key substrate
pmespresso Aug 18, 2019
c07b476
fix: remove log reports
pmespresso Aug 18, 2019
85de82c
fix: display decoded extrinsic payload details
pmespresso Aug 18, 2019
2f3dfbf
fix: lock when saving accounts
Tbaut Aug 19, 2019
6a61ee4
fix: lock when unmounting backup view
Tbaut Aug 19, 2019
8a36e7e
fix: name wasn't save properly in securestore
Tbaut Aug 19, 2019
28eadd5
Merge branch 'master' into tbaut-substrate-accounts
Tbaut Aug 19, 2019
8f40aeb
fix: comment out Polkadot and add testnet
Tbaut Aug 19, 2019
4e81753
fix: bug ethereum new account and duplicated functions
Tbaut Aug 20, 2019
7ae517b
fix: stray comment
Tbaut Aug 20, 2019
507fb3a
fix: derive path
Tbaut Aug 20, 2019
64f2e87
fix: bump api for payload with spec version
pmespresso Aug 20, 2019
6f26dfe
fix: merge derive paths
pmespresso Aug 20, 2019
458450e
fix: making it build on android
Tbaut Aug 20, 2019
ba1bc50
fix: link RNSecureStorage
Tbaut Aug 20, 2019
339800e
fix: link for ios
pmespresso Aug 21, 2019
62270af
fix: make it sign
pmespresso Aug 21, 2019
b356133
fix: finalize
pmespresso Aug 21, 2019
76e07a1
fix: remove logs
pmespresso Aug 21, 2019
0289082
fix: remove console logs
pmespresso Aug 21, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions android/app/src/main/java/io/parity/signer/EthkeyBridge.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ public void keccak(String data, Promise promise) {
promise.resolve(ethkeyKeccak(data));
}

@ReactMethod
public void blake2s(String data, Promise promise) {
promise.resolve(ethkeyBlake2s(data));
}

@ReactMethod
public void ethSign(String data, Promise promise) {
promise.resolve(ethkeyEthSign(data));
Expand Down Expand Up @@ -111,15 +116,26 @@ public void qrCode(String data, Promise promise) {
}
}

@ReactMethod
public void qrCodeHex(String data, Promise promise) {
try {
promise.resolve(ethkeyQrCodeHex(data));
} catch (Exception e) {
promise.reject("failed to create QR code", "failed to create QR code");
}
}

private static native String ethkeyBrainwalletAddress(String seed);
private static native String ethkeyBrainwalletBIP39Address(String seed);
private static native String ethkeyBrainwalletSign(String seed, String message);
private static native String ethkeyRlpItem(String data, int position);
private static native String ethkeyKeccak(String data);
private static native String ethkeyBlake2s(String data);
private static native String ethkeyEthSign(String data);
private static native String ethkeyBlockiesIcon(String seed);
private static native String ethkeyRandomPhrase();
private static native String ethkeyEncryptData(String data, String password);
private static native String ethkeyDecryptData(String data, String password);
private static native String ethkeyQrCode(String data);
private static native String ethkeyQrCodeHex(String data);
}
1 change: 0 additions & 1 deletion ios/NativeSigner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
};
objectVersion = 46;
objects = {

/* Begin PBXBuildFile section */
00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; };
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; };
Expand Down
26 changes: 26 additions & 0 deletions ios/NativeSigner/EthkeyBridge.swift
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,17 @@ class EthkeyBridge: NSObject {
resolve(hash)
}

@objc func blake2s(_ data: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) -> Void {
var error: UInt32 = 0
var data_ptr = data.asPtr()
let hash_rust_str = blake2s(&error, &data_ptr)
let hash_rust_str_ptr = rust_string_ptr(hash_rust_str)
let hash = String.fromStringPtr(ptr: hash_rust_str_ptr!.pointee)
rust_string_ptr_destroy(hash_rust_str_ptr)
rust_string_destroy(hash_rust_str)
resolve(hash)
}

@objc func ethSign(_ data: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) -> Void {
var error: UInt32 = 0
var data_ptr = data.asPtr()
Expand Down Expand Up @@ -143,4 +154,19 @@ class EthkeyBridge: NSObject {
reject("Failed to generate blockies", nil, nil)
}
}

@objc func qrCodeHex(_ data: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) -> Void {
var error: UInt32 = 0
var data_ptr = data.asPtr()
let icon_rust_str = qrcode_hex(&error, &data_ptr)
let icon_rust_str_ptr = rust_string_ptr(icon_rust_str)
let icon = String.fromStringPtr(ptr: icon_rust_str_ptr!.pointee)
rust_string_ptr_destroy(icon_rust_str_ptr)
rust_string_destroy(icon_rust_str)
if error == 0 {
resolve(icon)
} else {
reject("Failed to generate blockies", nil, nil)
}
}
}
9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,17 @@
"commit": "commit-wizard"
},
"dependencies": {
"@polkadot/ui-qr": "^0.34.0-beta.86",
"@polkadot/util-crypto": "^0.94.1",
"@polkadot/wasm-crypto": "^0.13.1",
"@react-native-community/netinfo": "^4.1.1",
"bignumber.js": "^4.0.0",
"hoist-non-react-statics": "^2.5.0",
"lodash": "^4.17.15",
"prop-types": "^15.6.1",
"react": "16.8.6",
"react-native": "0.60.3",
"react-native-camera": "^2.11.1",
"react-native-camera": "^3.0.0",
"react-native-gesture-handler": "^1.3.0",
"react-native-keyboard-aware-scroll-view": "^0.8.0",
"react-native-markdown-renderer": "^3.2.8",
Expand All @@ -36,8 +39,8 @@
"react-native-tabs": "^1.0.9",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^3.11.1",
"unstated": "^2.1.1",
"yarn": "^1.17.3"
"styled-components": "^4.3.2",
"unstated": "^2.1.1"
},
"devDependencies": {
"@babel/cli": "^7.5.0",
Expand Down
Loading