diff --git a/app.json b/app.json
index 8aa0223d..08e1c762 100644
--- a/app.json
+++ b/app.json
@@ -1,6 +1,6 @@
{
"expo": {
- "sdkVersion": "28.0.0",
+ "sdkVersion": "30.0.0",
"version": "2.5.1",
"privacy": "public",
"platforms": [
diff --git a/package-lock.json b/package-lock.json
index d4efae56..d36294a5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "BlueWallet",
- "version": "2.5.0",
+ "version": "2.5.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -3577,9 +3577,9 @@
}
},
"create-react-context": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz",
- "integrity": "sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz",
+ "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==",
"requires": {
"fbjs": "^0.8.0",
"gud": "^1.0.0"
@@ -4613,13 +4613,34 @@
}
},
"expo": {
- "version": "28.0.1",
- "resolved": "https://registry.npmjs.org/expo/-/expo-28.0.1.tgz",
- "integrity": "sha512-aPU+ndhh7gNOqC6K3ZtXfcSylSKpIiwF+gEQM07qOsWtWCsdZ/u08UFhVKDwjXSn/Qnag8EqRPle3aU/hcn1Tw==",
+ "version": "30.0.0",
+ "resolved": "https://registry.npmjs.org/expo/-/expo-30.0.0.tgz",
+ "integrity": "sha512-PQkxBreb+SGZMDGHQEWaqvKNlKk8Q9zjBYUTAHqMmhm7Upoyd2eV0DBgCnabxs6NpLMCrE4MpfARB7Lg8TyTlA==",
"requires": {
"@expo/vector-icons": "^6.3.1",
"@expo/websql": "^1.0.1",
"babel-preset-expo": "^4.0.0",
+ "expo-ads-admob": "^1.0.0",
+ "expo-analytics-segment": "^1.0.0",
+ "expo-asset": "^1.1.0",
+ "expo-barcode-scanner": "^1.0.0",
+ "expo-camera": "^1.1.0",
+ "expo-constants": "^1.0.2",
+ "expo-contacts": "^1.0.0",
+ "expo-core": "^1.1.0",
+ "expo-face-detector": "^1.0.2",
+ "expo-file-system": "^1.0.2",
+ "expo-font": "^1.0.0",
+ "expo-gl": "^1.0.2",
+ "expo-local-authentication": "^1.0.0",
+ "expo-location": "^1.0.0",
+ "expo-media-library": "^1.0.0",
+ "expo-payments-stripe": "^1.0.0",
+ "expo-permissions": "^1.1.0",
+ "expo-print": "^1.0.0",
+ "expo-react-native-adapter": "^1.1.0",
+ "expo-sensors": "^1.0.2",
+ "expo-sms": "^1.0.2",
"fbemitter": "^2.1.1",
"invariant": "^2.2.2",
"lodash.map": "^4.6.0",
@@ -4631,18 +4652,302 @@
"prop-types": "^15.6.0",
"qs": "^6.5.0",
"react-native-branch": "2.2.5",
- "react-native-gesture-handler": "1.0.4",
+ "react-native-gesture-handler": "1.0.6",
"react-native-maps": "0.21.0",
- "react-native-reanimated": "1.0.0-alpha.3",
+ "react-native-reanimated": "1.0.0-alpha.6",
+ "react-native-screens": "^1.0.0-alpha.5",
"react-native-svg": "6.2.2",
"uuid-js": "^0.7.5"
}
},
+ "expo-ads-admob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-ads-admob/-/expo-ads-admob-1.0.0.tgz",
+ "integrity": "sha512-Zak9hhRlGAsTIEF/DJNMOwkDlZrRpD2ZiSZaO+U/Z8ripsUKY/AdLI2ppeznxzYoO2Lt9PyVw6doyq9jnq+lHg==",
+ "requires": {
+ "prop-types": "^15.6.2"
+ }
+ },
"expo-analytics": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/expo-analytics/-/expo-analytics-1.0.7.tgz",
"integrity": "sha1-14tLkJC6NZsuwjP841USuQ7zkts="
},
+ "expo-analytics-segment": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-analytics-segment/-/expo-analytics-segment-1.0.0.tgz",
+ "integrity": "sha512-FxHluv5koQvx41uTZgBlxfyPs1x1tVTb8ML9pZoqQV0ai/p513WCyqFo/rgKqfcW+pa5qt4yCKEatsjPqObJVw==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-asset": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-1.1.0.tgz",
+ "integrity": "sha512-EWlIBYJRJMnoWBzmZUZJCFdLj9OtborBHWDjlLLMEY6/Hz+s5MNcEoVDSWhGfHbJFrp0T+s2JipSy0jay8+eEQ==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "uri-parser": "^1.0.1",
+ "url-join": "^4.0.0"
+ },
+ "dependencies": {
+ "url-join": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz",
+ "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo="
+ }
+ }
+ },
+ "expo-barcode-scanner": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-barcode-scanner/-/expo-barcode-scanner-1.0.0.tgz",
+ "integrity": "sha512-BdjvWkoUOSxnlDj3J5DuNQiDhwBDqpMuHAoABLMLVn1ja1idSBvU5Nk4hB6Kxc7Ev03Wn1u0CkuD2BKr3KFUxg==",
+ "requires": {
+ "expo-barcode-scanner-interface": "~1.0.0",
+ "lodash.mapvalues": "^4.6.0",
+ "prop-types": "^15.6.0"
+ }
+ },
+ "expo-barcode-scanner-interface": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-barcode-scanner-interface/-/expo-barcode-scanner-interface-1.0.0.tgz",
+ "integrity": "sha512-oGiyUMyzS43RsJ4rSJ/lt2NBSA3YM592QAW+oFOso8NzktCf/UmZdZLdW7UG/N6LOhsVuYLmDjkmg+TdS6FECQ=="
+ },
+ "expo-camera": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-1.1.0.tgz",
+ "integrity": "sha512-crZrh8Xu92i8RfWm+IT+/6nVpPlRGSUwAcXCNNCgB3QXAdzlzORvL5IF+wF21s9BluTDg5eUnvxvBh4aWz+m6Q==",
+ "requires": {
+ "expo-barcode-scanner-interface": "~1.0.0",
+ "expo-camera-interface": "~1.0.2",
+ "expo-core": "~1.1.0",
+ "expo-face-detector-interface": "~1.0.2",
+ "expo-file-system-interface": "~1.0.2",
+ "expo-permissions-interface": "~1.1.0",
+ "lodash.mapvalues": "^4.6.0",
+ "prop-types": "^15.6.0"
+ }
+ },
+ "expo-camera-interface": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-camera-interface/-/expo-camera-interface-1.0.2.tgz",
+ "integrity": "sha512-3EsbW9WjxrdWC/vSsC0kygL3Ie124UEXcw7JZx/d6Wmdr+QHhX25eSjYIgeE9ESTCcHqmsAnnJCxOoEBa+dyaQ==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-constants": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-1.0.2.tgz",
+ "integrity": "sha512-bM09y3XssMYimzCa2/XpClWgeIjrBuptr8K4aYMB9hs3/5ZFLlmCVkhh4/iXINRAcjOwXJWDb1TpaM5SVnRsZQ==",
+ "requires": {
+ "expo-constants-interface": "~1.0.2",
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-constants-interface": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-constants-interface/-/expo-constants-interface-1.0.2.tgz",
+ "integrity": "sha512-eYjTrjFnjh07FnAsbPRKrDLPvTrg8AwqsAzCVQpMo7eg8THM+2f0kTGgqWd0p26SDC0xIqBJkbPw8SYIHk9uMw==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-contacts": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-contacts/-/expo-contacts-1.0.0.tgz",
+ "integrity": "sha512-khT2yW8e2EAOAKHscCx6123QzWm56/bybnC2t//kKGNCxV6EuUJHN64EBFNna643B+9e+sUcWKEljoBXeFARpg==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "uuid-js": "^0.7.5"
+ }
+ },
+ "expo-core": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expo-core/-/expo-core-1.1.0.tgz",
+ "integrity": "sha512-R6U7AGkIWdzFP/gf8ZtOA6A/vBIQQz/YG4wZiFw4q+UtVOzpaLAs6P9NxOSPlIoRY+lFAeCM+UY1skfwpToAHQ=="
+ },
+ "expo-face-detector": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-face-detector/-/expo-face-detector-1.0.2.tgz",
+ "integrity": "sha512-sV+OzYuQBuuko/QmR38iXIqaIDlYZuUk3ekliiMtrdJ0Ajc8m4IJumSYCHI1vp2ONN5RzHoNXT9EknypBuAXaw==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-face-detector-interface": "~1.0.2",
+ "expo-permissions-interface": "~1.1.0"
+ }
+ },
+ "expo-face-detector-interface": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-face-detector-interface/-/expo-face-detector-interface-1.0.2.tgz",
+ "integrity": "sha512-nHAbvSQb7IW7AfS5xziNoxig9x8S/I/j6ixISBIqpoDsiFYWNS6DrhsW29PK32am1GshShxRN2oxSoeFGWTCjQ==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-file-system": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-1.0.2.tgz",
+ "integrity": "sha512-9jVrC1BP+vhfVBkCDdpZE3GL8JuWQVuSyhhFV+hF2FS1JVFGbYYaDYf8RVXIl/L9rNnn1H3ZWaUeNI2Jt+m0Zw==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-file-system-interface": "~1.0.2",
+ "uuid-js": "^0.7.5"
+ }
+ },
+ "expo-file-system-interface": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-file-system-interface/-/expo-file-system-interface-1.0.2.tgz",
+ "integrity": "sha512-6u+G1J2GjJnow71pcvxFuWxssRmZQWnUZTQ3Xvi2X75O5ZyzBj5gxqjVJBHlUqWMkD/1cOizPjiXjcUSzdsdfw==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-font": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-1.0.0.tgz",
+ "integrity": "sha512-tdZN00QBmLZkA0XNp4XFBuT0QmgXxc2EpocZw7aDbwlrdx5vYZToEvCxE6y8eBaX4gj30SnhqvZWLrZAqB2uNQ==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-font-interface": "~1.0.0",
+ "invariant": "^2.2.2"
+ }
+ },
+ "expo-font-interface": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-font-interface/-/expo-font-interface-1.0.0.tgz",
+ "integrity": "sha512-8rqCi6SPekkEnmpkgXOJgdFT3eQn40XQAn1rnNCBO46kJHvP/2afj19ADbLGIkH1htuB1FabamOuSJosnzIzCA==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-gl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-gl/-/expo-gl-1.0.2.tgz",
+ "integrity": "sha512-QCpAlwSeOWc+O6IYn8kwq36fjdqoyNxTT31qcT3/pm1fPIGV0OJz3sImnx/1V9gdYY0efR/5Nw/ItWCknJCG9A==",
+ "requires": {
+ "expo-camera-interface": "~1.0.2",
+ "expo-core": "~1.1.0",
+ "expo-file-system-interface": "~1.0.2",
+ "expo-gl-cpp": "~1.0.2"
+ }
+ },
+ "expo-gl-cpp": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-gl-cpp/-/expo-gl-cpp-1.0.2.tgz",
+ "integrity": "sha512-PDqR/kY03fJXDMEdDd7tDh6ZRW6185jZY8B755qlXsWYejMlHEiDgjTXUbiXPBnQlydu66OYXjNo2vmT0wCe5A==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-image-loader-interface": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-image-loader-interface/-/expo-image-loader-interface-1.0.0.tgz",
+ "integrity": "sha512-hWJCVXrVHqzkglNsoJb7VBxuePppfoD5EPO3UVABmSzfrXgKy/EVJUOiG+LAWlLTfTbXMne7fGgzoKfQr4OR0w==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-local-authentication": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-1.0.0.tgz",
+ "integrity": "sha512-iv4euY+OtC5eAPXz7E+ZezaIS6h+wxiSrgJ8F3nNLBeQ8WK2zF5BZiRkRYoT0ksb+o9+NBti/7Hq2hEdW1hHOg==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "invariant": "^2.2.4"
+ }
+ },
+ "expo-location": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-1.0.0.tgz",
+ "integrity": "sha512-j9TjxCrtk5l83RhvHtYIxiZ0mg0coK2rD+5564afE4Jm1q2WTNL5rcQRHwjz77LpHYxw0vWxtBAH0CoKYiWImQ==",
+ "requires": {
+ "invariant": "^2.2.4"
+ }
+ },
+ "expo-media-library": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-media-library/-/expo-media-library-1.0.0.tgz",
+ "integrity": "sha512-9oiWdXmzJFmOFD3i0sFCvYc5gACcN6Qwd0x0zW2DXE4rlLdmVlL9aez1X8tU/yd8ZVWOv+0LJ9Kou17fRw23zg==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-permissions-interface": "~1.1.0"
+ }
+ },
+ "expo-payments-stripe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/expo-payments-stripe/-/expo-payments-stripe-1.0.1.tgz",
+ "integrity": "sha512-V2pWsdWqWEJsrwDie6Wt5NZmQfUFWYRaBohlGWMmnYytnL1I7Gb3B9Ne0gTPlLqsfdRlUsVaZcKvsr2okKlIzg==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-permissions": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-1.1.0.tgz",
+ "integrity": "sha512-SAbnQONPeGvYfBg2RLgYvbH4egLOw7I2W9krufWtAo0ckvw9qvonff1fPWglUfs8AYg9gaTEX2uvSnFkwG5vjw==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-permissions-interface": "~1.1.0"
+ }
+ },
+ "expo-permissions-interface": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expo-permissions-interface/-/expo-permissions-interface-1.1.0.tgz",
+ "integrity": "sha512-BM5XLTzU2oSEOcnk6dLUjA3a/D3EyZ/+BfE+NDO4z8EOXoqubWGx1TvRP/Z60RlOXkxzpf3UVQm4gFke5wxeBQ==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-print": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/expo-print/-/expo-print-1.0.0.tgz",
+ "integrity": "sha512-GXYukrO40LFZPPK6QBkAFFlDydWSGN9XUIUB62/dd2HqaPn/pBnALCd15Bh8E+WzqwFKfqp7UOm45HlrHgoUSw==",
+ "requires": {
+ "babel-preset-expo": "^4.0.0",
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-react-native-adapter": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/expo-react-native-adapter/-/expo-react-native-adapter-1.1.1.tgz",
+ "integrity": "sha512-I2p+IOa3CWKbzbJuAgJaAAdmbZh4o+dfvP4zedDyIGMsma8i807nhqH/864le6/HHnuSJTphWSpRuvvUapw2OQ==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-image-loader-interface": "~1.0.0",
+ "expo-permissions-interface": "~1.1.0",
+ "lodash.omit": "^4.5.0",
+ "lodash.pick": "^4.4.0",
+ "prop-types": "^15.6.1"
+ }
+ },
+ "expo-sensors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-sensors/-/expo-sensors-1.0.2.tgz",
+ "integrity": "sha512-tIl7BWcQc2a31c+k1NpK0rCswX7V99mOhtln7ySSuWfoYDV/Jo6NsxOmZtlE/8xXy7xI7Gt2OhrvXVUf4z/lNQ==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-sensors-interface": "~1.0.2",
+ "invariant": "^2.2.4"
+ }
+ },
+ "expo-sensors-interface": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-sensors-interface/-/expo-sensors-interface-1.0.2.tgz",
+ "integrity": "sha512-I8q6gbekGmNSoRNA8k13nGB3mxYZ0G/F87oa1DSriV3qzl0ElWNvoHJQ2rN1sQqypvug4R0Y0WxCMNeBniIzyQ==",
+ "requires": {
+ "expo-core": "~1.1.0"
+ }
+ },
+ "expo-sms": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/expo-sms/-/expo-sms-1.0.2.tgz",
+ "integrity": "sha512-0+0JMiP7yALBNSYol1v1OFPOlKkVNzdCfgFBmAYTn3nJ1cSr938QwgLE6tReNdQvQwXGcbr7VfdlQbWx6gnF5g==",
+ "requires": {
+ "expo-core": "~1.1.0",
+ "expo-permissions-interface": "~1.1.0"
+ }
+ },
"express": {
"version": "4.16.3",
"resolved": "http://registry.npmjs.org/express/-/express-4.16.3.tgz",
@@ -7091,12 +7396,12 @@
}
},
"jest-expo": {
- "version": "28.0.0",
- "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-28.0.0.tgz",
- "integrity": "sha512-aw2stZNx6cdKxxZgDXDxfocYT7BhKe1q1LYlsd9ijq9MNwZ8GNCwIRj/voYUkxA0JktCkB/RGf9LeMgiJDIZ6g==",
+ "version": "30.0.0",
+ "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-30.0.0.tgz",
+ "integrity": "sha512-xlTRUnnjiWH+w9R0/jNOKBYoW2NXkBUZqyN7UQ+Pdv7xEodQbfsdLtLbP4EsSLp80EdpAddA6EBdM9UalQta/g==",
"dev": true,
"requires": {
- "babel-jest": "^22.4.1",
+ "babel-jest": "^22.4.2",
"jest": "^22.4.2",
"json5": "^0.5.1",
"react-test-renderer": "^16.3.1"
@@ -8699,6 +9004,11 @@
"resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
"integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM="
},
+ "lodash.mapvalues": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw="
+ },
"lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
@@ -8737,6 +9047,11 @@
"resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz",
"integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs="
},
+ "lodash.pick": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM="
+ },
"lodash.sortby": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
@@ -9307,27 +9622,6 @@
"integrity": "sha512-xwqMqYYKZEqJ66Wpf5OpyPJhApOQDb8rYiO94VInlDeHpN7eKGCVILclnx9AmVM3dStmebvXa5jrdgsbnJ1bSg==",
"requires": {
"uglify-es": "^3.1.9"
- },
- "dependencies": {
- "commander": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
- "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "uglify-es": {
- "version": "3.3.9",
- "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
- "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
- "requires": {
- "commander": "~2.13.0",
- "source-map": "~0.6.1"
- }
- }
}
},
"metro-resolver": {
@@ -10947,14 +11241,14 @@
}
},
"react": {
- "version": "16.3.1",
- "resolved": "http://registry.npmjs.org/react/-/react-16.3.1.tgz",
- "integrity": "sha512-NbkxN9jsZ6+G+ICsLdC7/wUD26uNbvKU/RAxEWgc9kcdKvROt+5d5j2cNQm5PSFTQ4WNGsR3pa4qL2Q0/WSy1w==",
+ "version": "16.5.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.5.1.tgz",
+ "integrity": "sha512-E+23+rbpPsJgSX812LQkwupUCFnbVE84+L8uxlkqN5MU0DcraWMlVf9cRvKCKtGu0XvScyRnW7Z+9d7ymkjy3A==",
"requires": {
- "fbjs": "^0.8.16",
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
- "prop-types": "^15.6.0"
+ "prop-types": "^15.6.2",
+ "schedule": "^0.4.0"
}
},
"react-addons-shallow-compare": {
@@ -11027,8 +11321,8 @@
}
},
"react-native": {
- "version": "https://github.com/expo/react-native/archive/sdk-28.0.1.tar.gz",
- "integrity": "sha512-BnWjzbMLVni+ZeewxbSWTKv5jM8ZPskmyiLf/mPJvWIqB9MSKWiUNkgXHpqtPhYYpExeq4Vz8oTeOqPqtqDgtQ==",
+ "version": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
+ "integrity": "sha512-YVFC6WoKwPZhAYwy0cktB6ocdD4K+ot/GxXyW8UdjRiaPTMGw3fY/VQLNms24YS6VeCXgi5/oI/rDzavWFGEqw==",
"requires": {
"absolute-path": "^0.0.0",
"art": "^0.10.0",
@@ -11084,7 +11378,6 @@
"serve-static": "^1.13.1",
"shell-quote": "1.6.1",
"stacktrace-parser": "^0.1.3",
- "whatwg-fetch": "^1.0.0",
"ws": "^1.1.0",
"xcode": "^0.9.1",
"xmldoc": "^0.4.0",
@@ -11101,11 +11394,6 @@
"resolved": "http://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz",
"integrity": "sha1-UwvlxCs8BbNkFKeipDN6qArNDo0="
},
- "whatwg-fetch": {
- "version": "1.1.1",
- "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz",
- "integrity": "sha1-rDydOfMgxtzlM5lp0FTvQ90zMxk="
- },
"ws": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
@@ -11214,9 +11502,9 @@
"integrity": "sha1-oBgDk8UxujR3cixuQqMc6xwRYjs="
},
"react-native-gesture-handler": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.4.tgz",
- "integrity": "sha512-Ml7xQqJGoYUfGg3aSj/eNJosivhCB5MxsZ4g4+wDFadJc0oWkXXzm86KWwgsuXxT8dzP5cQRLaG+NC2pzmw+NA==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.6.tgz",
+ "integrity": "sha512-0XUumPI8i4zoPK0fp2sJ4Ks+mPGtFxB46b5mUzxd+DmZpXJyuA/m9qVcqm3eNAHCybRmqU7lpojRDpDAg2hFFQ==",
"requires": {
"hoist-non-react-statics": "^2.3.1",
"invariant": "^2.2.2",
@@ -11365,14 +11653,14 @@
}
},
"react-native-reanimated": {
- "version": "1.0.0-alpha.3",
- "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.0.0-alpha.3.tgz",
- "integrity": "sha512-OG7Wydk54SH8ibpY1buwQl7WIuJL2MS6a1czOBZdfXnCgyx9WvnXspsAqiAH16c9N8doccNcwKQxIwgOuDiiKw=="
+ "version": "1.0.0-alpha.6",
+ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.0.0-alpha.6.tgz",
+ "integrity": "sha512-0D99kvdFZCJMMIMd0ThosAWlOhDCPDuhMxLijWE0/ZBhGCknvihg0R5jEyv9spxXyvgjKhUE+aLm27XV+1eLhQ=="
},
"react-native-safe-area-view": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.8.0.tgz",
- "integrity": "sha512-uAUzpBxXPVmfupz71GYcPjUBnZFtDuThKO/Q4FWEUykSuML78lItYR6JRsE006CY6gw6mUwpk4MJjhDE4uZ+Ww==",
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz",
+ "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==",
"requires": {
"hoist-non-react-statics": "^2.3.1"
}
@@ -11385,6 +11673,11 @@
"dedent": "^0.6.0"
}
},
+ "react-native-screens": {
+ "version": "1.0.0-alpha.12",
+ "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.12.tgz",
+ "integrity": "sha512-n/XyqUStDjtCymXUhAxG98asvgI8/OSH+v9AaAzUFEqfBwJLY8/UjY6m8PIJSgqRt4aR/Z9nO+A1mcMXw6dMdA=="
+ },
"react-native-scripts": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/react-native-scripts/-/react-native-scripts-1.8.1.tgz",
@@ -11503,20 +11796,22 @@
}
},
"react-navigation": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-2.9.3.tgz",
- "integrity": "sha512-yKR7yYMwVrpEe1sPA1agGCmv+MdUuNX4xC2ZOLpx+wkhXF1GE3j0FD+l9t4YMwJb+fS0/nih/WAg5NL3eIZkeQ==",
+ "version": "2.17.0",
+ "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-2.17.0.tgz",
+ "integrity": "sha512-OT3V5ZGA+VOFydjJg5JAo/sh94stWoyEYXOVdAz98Rw4UW3BATUG6Y/4ROMbBSlYl2PvGfc9Q1+RHEhy5Xjp8A==",
"requires": {
"clamp": "^1.0.1",
- "create-react-context": "^0.2.1",
+ "create-react-context": "0.2.2",
"hoist-non-react-statics": "^2.2.0",
"path-to-regexp": "^1.7.0",
"query-string": "^6.1.0",
"react-lifecycles-compat": "^3",
- "react-native-safe-area-view": "^0.8.0",
+ "react-native-safe-area-view": "0.11.0",
+ "react-native-screens": "^1.0.0-alpha.11",
"react-navigation-deprecated-tab-navigator": "1.3.0",
- "react-navigation-drawer": "0.4.3",
- "react-navigation-tabs": "0.5.1"
+ "react-navigation-drawer": "0.5.0",
+ "react-navigation-stack": "0.7.0",
+ "react-navigation-tabs": "0.8.2"
}
},
"react-navigation-deprecated-tab-navigator": {
@@ -11528,33 +11823,29 @@
}
},
"react-navigation-drawer": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-0.4.3.tgz",
- "integrity": "sha512-ShPAnq2a7gfNl7O4SAPhP54Z6QNbd9KJ+NQgk5Q1llZFcrsQZ886iUb9KieGestft34c5VOVLrrPDjo8+hCJPQ==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-0.5.0.tgz",
+ "integrity": "sha512-F1y593uC6pqBMGH+Omz75oNODEbxB/s0EGO8QtYwu1NmOOEUuuLA+c14zm+pgMsI4HlDabiHxPkWqsgGz25xVQ==",
"requires": {
"react-native-drawer-layout-polyfill": "^1.3.2"
}
},
+ "react-navigation-stack": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-0.7.0.tgz",
+ "integrity": "sha512-3Tbb/SsustBrM9R/qaI6XuOfyqYMVbwkeHFC8NbU890vB0aKZvjAtioWLZ18e/4LgbiOCmoTdp37z3gkGDyNDQ=="
+ },
"react-navigation-tabs": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-0.5.1.tgz",
- "integrity": "sha512-VwStdeQm5OcAW0n94CxL7qL0zgmnyBCXcgdBRf5hYpw4tWcVUIedgRF+rAWa1v3ftY6H0CXbnT2OKdbod5QJXA==",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-0.8.2.tgz",
+ "integrity": "sha512-q2xfY79ERj4XJek3rceveifUny3Qcg7y6bNlN6wQg6c7D/pMFOGZsSALGenF7CuNDhYyEkijlnGTHl1laZgbDw==",
"requires": {
"hoist-non-react-statics": "^2.5.0",
"prop-types": "^15.6.1",
"react-lifecycles-compat": "^3.0.4",
- "react-native-safe-area-view": "^0.7.0",
"react-native-tab-view": "^1.0.0"
},
"dependencies": {
- "react-native-safe-area-view": {
- "version": "0.7.0",
- "resolved": "http://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz",
- "integrity": "sha512-SjLdW/Th0WVMhyngH4O6yC21S+O4U4AAG3QxBr7fZ2ftgjXSpKbDHAhEpxBdFwei6HsnsC2h9oYMtPpaW9nfGg==",
- "requires": {
- "hoist-non-react-statics": "^2.3.1"
- }
- },
"react-native-tab-view": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.0.2.tgz",
@@ -12420,6 +12711,14 @@
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
+ "schedule": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.4.0.tgz",
+ "integrity": "sha512-hYjmoaEMojiMkWCxKr6ue+LYcZ29u29+AamWYmzwT2VOO9ws5UJp/wNhsVUPiUeNh+EdRfZm7nDeB40ffTfMhA==",
+ "requires": {
+ "object-assign": "^4.1.1"
+ }
+ },
"secure-random": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/secure-random/-/secure-random-1.1.1.tgz",
@@ -13973,6 +14272,27 @@
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz",
"integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA=="
},
+ "uglify-es": {
+ "version": "3.3.9",
+ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
+ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
+ "requires": {
+ "commander": "~2.13.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
+ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
"uglify-js": {
"version": "3.4.9",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
@@ -14112,6 +14432,11 @@
"upper-case": "^1.1.1"
}
},
+ "uri-parser": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uri-parser/-/uri-parser-1.0.1.tgz",
+ "integrity": "sha512-TRjjM2M83RD9jIIYttNj7ghUQTKSov+WXZbQIMM8DxY1R1QdJEGWNKKMYCxyeOw1p9re2nQ85usM6dPTVtox1g=="
+ },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
diff --git a/package.json b/package.json
index 2a924860..51f0bf52 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"eslint-plugin-promise": "^3.8.0",
"eslint-plugin-react": "^7.11.1",
"eslint-plugin-standard": "^3.1.0",
- "jest-expo": "28.0.0",
+ "jest-expo": "30.0.0",
"prettier-eslint-cli": "^4.7.1",
"react-native-scripts": "1.8.1",
"react-test-renderer": "16.3.1",
@@ -47,7 +47,7 @@
"crypto-js": "^3.1.9-1",
"eslint-config-prettier": "^2.10.0",
"eslint-plugin-prettier": "^2.6.2",
- "expo": "28.0.1",
+ "expo": "30.0.0",
"expo-analytics": "^1.0.7",
"frisbee": "^1.6.4",
"isaac": "0.0.5",
@@ -57,9 +57,9 @@
"prettier": "^1.14.2",
"process": "^0.11.10",
"prop-types": "^15.6.2",
- "react": "16.3.1",
+ "react": "16.5.1",
"react-localization": "^1.0.10",
- "react-native": "https://github.com/expo/react-native/archive/sdk-28.0.1.tar.gz",
+ "react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
"react-native-camera": "^0.12.0",
"react-native-elements": "^0.19.0",
"react-native-flexi-radio-button": "^0.2.2",
@@ -67,7 +67,7 @@
"react-native-material-dropdown": "^0.11.1",
"react-native-qrcode": "^0.2.7",
"react-native-snap-carousel": "^3.7.4",
- "react-navigation": "2.9.3",
+ "react-navigation": "^2.17.0",
"react-test-render": "^1.1.1",
"readable-stream": "^1.1.14",
"request-promise-native": "^1.0.5",
diff --git a/screen/lnd/scanLndInvoice.js b/screen/lnd/scanLndInvoice.js
index 9dd013d2..78eed10e 100644
--- a/screen/lnd/scanLndInvoice.js
+++ b/screen/lnd/scanLndInvoice.js
@@ -1,7 +1,7 @@
/* global alert */
import React from 'react';
import { Text, Dimensions, ActivityIndicator, Button, View, TouchableOpacity } from 'react-native';
-import { Camera, Permissions } from 'expo';
+import { BarCodeScanner, Permissions } from 'expo';
import PropTypes from 'prop-types';
import {
BlueSpacingVariable,
@@ -25,7 +25,8 @@ export default class ScanLndInvoice extends React.Component {
state = {
isLoading: false,
hasCameraPermission: null,
- type: Camera.Constants.Type.back,
+ type: BarCodeScanner.Constants.Type.back,
+ barCodeTypes: [BarCodeScanner.Constants.BarCodeType.qr],
};
constructor(props) {
@@ -95,7 +96,7 @@ export default class ScanLndInvoice extends React.Component {
onCameraReady: function() {
alert('onCameraReady');
},
- barCodeTypes: [Camera.Constants.BarCodeType.qr],
+ barCodeTypes: [BarCodeScanner.Constants.BarCodeType.qr],
});
}
@@ -198,7 +199,12 @@ export default class ScanLndInvoice extends React.Component {
} else {
return (
- this.onBarCodeRead(ret)}>
+ this.onBarCodeScanned(ret)}
+ >
{
this.setState({
- type: this.state.type === Camera.Constants.Type.back ? Camera.Constants.Type.front : Camera.Constants.Type.back,
+ type: this.state.type === BarCodeScanner.Constants.Type.back
+ ? BarCodeScanner.Constants.Type.front
+ : BarCodeScanner.Constants.Type.back,
});
}}
>
-
+
);
}
diff --git a/screen/send/scanQrAddress.js b/screen/send/scanQrAddress.js
index e8dc6374..136cdb5c 100644
--- a/screen/send/scanQrAddress.js
+++ b/screen/send/scanQrAddress.js
@@ -1,7 +1,7 @@
/* global alert */
import React from 'react';
import { Text, ActivityIndicator, Button, View, TouchableOpacity } from 'react-native';
-import { Camera, Permissions, BarCodeScanner } from 'expo';
+import { Permissions, BarCodeScanner } from 'expo';
import PropTypes from 'prop-types';
let EV = require('../../events');
@@ -13,7 +13,8 @@ export default class CameraExample extends React.Component {
state = {
isLoading: false,
hasCameraPermission: null,
- type: Camera.Constants.Type.back,
+ type: BarCodeScanner.Constants.Type.back,
+ barCodeTypes: [BarCodeScanner.Constants.BarCodeType.qr],
};
async onBarCodeScanned(ret) {
@@ -55,7 +56,12 @@ export default class CameraExample extends React.Component {
} else {
return (
- this.onBarCodeScanned(ret)}>
+ this.onBarCodeScanned(ret)}
+ >
{
this.setState({
- type: this.state.type === Camera.Constants.Type.back ? Camera.Constants.Type.front : Camera.Constants.Type.back,
+ type: this.state.type === BarCodeScanner.Constants.Type.back
+ ? BarCodeScanner.Constants.Type.front
+ : BarCodeScanner.Constants.Type.back,
});
}}
>
-
+
);
}
diff --git a/screen/wallets/scanQrWif.js b/screen/wallets/scanQrWif.js
index 13bbd719..6acaa5dc 100644
--- a/screen/wallets/scanQrWif.js
+++ b/screen/wallets/scanQrWif.js
@@ -2,7 +2,7 @@
import React from 'react';
import { Text, ActivityIndicator, Button, View, TouchableOpacity } from 'react-native';
import { BlueText, SafeBlueArea, BlueButton } from '../../BlueComponents';
-import { Camera, Permissions, BarCodeScanner } from 'expo';
+import { Permissions, BarCodeScanner } from 'expo';
import { SegwitP2SHWallet, LegacyWallet, WatchOnlyWallet } from '../../class';
import PropTypes from 'prop-types';
/** @type {AppStorage} */
@@ -21,7 +21,8 @@ export default class ScanQrWif extends React.Component {
state = {
isLoading: false,
hasCameraPermission: null,
- type: Camera.Constants.Type.back,
+ type: BarCodeScanner.Constants.Type.back,
+ barCodeTypes: [BarCodeScanner.Constants.BarCodeType.qr],
};
async onBarCodeScanned(ret) {
@@ -170,7 +171,12 @@ export default class ScanQrWif extends React.Component {
);
} else {
return (
- this.onBarCodeScanned(ret)}>
+ this.onBarCodeScanned(ret)}
+ >
{
this.setState({
- type: this.state.type === Camera.Constants.Type.back ? Camera.Constants.Type.front : Camera.Constants.Type.back,
+ type: this.state.type === BarCodeScanner.Constants.Type.back
+ ? BarCodeScanner.Constants.Type.front
+ : BarCodeScanner.Constants.Type.back,
});
}}
>
@@ -197,7 +205,7 @@ export default class ScanQrWif extends React.Component {
/>
-
+
);
}
})()}