diff --git a/ios/Podfile.lock b/ios/Podfile.lock index b301a7c9c..9999de0eb 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -230,6 +230,8 @@ PODS: - SDWebImage/GIF - react-native-netinfo (5.3.3): - React + - react-native-randombytes (3.5.3): + - React - react-native-version-number (0.3.6): - React - react-native-webview (8.0.4): @@ -269,7 +271,7 @@ PODS: - React-cxxreact (= 0.61.5) - React-jsi (= 0.61.5) - ReactCommon/jscallinvoker (= 0.61.5) - - ReactNativeDarkMode (0.2.1): + - ReactNativeDarkMode (0.2.2): - React - rn-fetch-blob (0.12.0): - React-Core @@ -326,6 +328,7 @@ DEPENDENCIES: - react-native-config (from `../node_modules/react-native-config`) - react-native-fast-image (from `../node_modules/react-native-fast-image`) - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" + - react-native-randombytes (from `../node_modules/react-native-randombytes`) - react-native-version-number (from `../node_modules/react-native-version-number`) - react-native-webview (from `../node_modules/react-native-webview`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) @@ -413,6 +416,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-fast-image" react-native-netinfo: :path: "../node_modules/@react-native-community/netinfo" + react-native-randombytes: + :path: "../node_modules/react-native-randombytes" react-native-version-number: :path: "../node_modules/react-native-version-number" react-native-webview: @@ -490,6 +495,7 @@ SPEC CHECKSUMS: react-native-config: f2c2ae45625a068c35681a16b9bfb1ca58b0adc7 react-native-fast-image: 6d50167ad4d68b59640ceead8c2bc4e58d91d8bd react-native-netinfo: 8884d510fe67349940b4399c01db3e3591c922aa + react-native-randombytes: 3638d24759d67c68f6ccba60c52a7a8a8faa6a23 react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f react-native-webview: 3f5aa91c3cb083ea4762e006b9653291a96a777a React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76 @@ -502,7 +508,7 @@ SPEC CHECKSUMS: React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd - ReactNativeDarkMode: 0e6e7bdbd387eb949fa7ff238a48f6d6431a428d + ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba RNCAsyncStorage: 44395cb9c7c1523104c2b499eb426ef7aff82bca RNGestureHandler: 946a7691e41df61e2c4b1884deab41a4cdc3afff diff --git a/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate b/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate index e2beeec23..7280e63ca 100644 Binary files a/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate and b/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/package.json b/package.json index 754617734..b6a433d73 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,8 @@ "start": "react-native start", "android": "react-native run-android", "ios": "react-native run-ios", + "releasenotes": "./release-notes.sh > release-notes.txt; node -e 'console.log(JSON.stringify(require(\"fs\").readFileSync(\"release-notes.txt\", \"utf8\")));' > release-notes.json", + "postinstall": "rn-nodeify --install buffer,stream,assert,events,crypto,vm,process --hack", "test": "node node_modules/jest/bin/jest.js --watch", "lint": "eslint src/", "lint:fix": "eslint src/ --fix", @@ -22,7 +24,7 @@ }, "dependencies": { "@babel/runtime": "^7.5.5", - "@esteemapp/esteem-render-helpers": "^1.3.6", + "@esteemapp/esteem-render-helpers": "^1.3.7", "@esteemapp/react-native-autocomplete-input": "^4.2.1", "@esteemapp/react-native-modal-popover": "^0.0.15", "@esteemapp/react-native-multi-slider": "^1.1.0", @@ -35,8 +37,10 @@ "appcenter-analytics": "^2.6.0", "appcenter-crashes": "^2.6.0", "appcenter-push": "^2.6.0", + "assert": "^1.5.0", "axios": "^0.18.0", - "buffer": "^5.2.1", + "bitcoinjs-lib": "5.1.1", + "buffer": "^5.4.3", "bugsnag-react-native": "^2.23.4", "core-js": "^2.6.0", "crypto-js": "^3.1.9-1", @@ -55,6 +59,7 @@ "react-native-actionsheet": "esteemapp/react-native-actionsheet", "react-native-autoheight-webview": "^1.4.1", "react-native-config": "luggit/react-native-config#master", + "react-native-crypto": "^2.2.0", "react-native-dark-mode": "^0.2.2", "react-native-datepicker": "esteemapp/react-native-datepicker", "react-native-extended-stylesheet": "^0.10.0", @@ -68,6 +73,8 @@ "react-native-modal-dropdown": "esteemapp/react-native-modal-dropdown", "react-native-modal-translucent": "^5.0.0", "react-native-navigation-bar-color": "^1.0.0", + "react-native-qrcode-svg": "^6.0.3", + "react-native-randombytes": "^3.5.3", "react-native-reanimated": "^1.3.0", "react-native-scrollable-tab-view": "esteemapp/react-native-scrollable-tab-view", "react-native-snap-carousel": "^3.8.0", @@ -83,6 +90,7 @@ "react-navigation-stack": "^1.10.3", "react-navigation-tabs": "^2.6.2", "react-redux": "^7.1.1", + "readable-stream": "^3.6.0", "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-promise": "^0.6.0", @@ -91,7 +99,9 @@ "rn-placeholder": "^1.3.2", "speakingurl": "^14.0.1", "stacktrace-parser": "0.1.4", - "steemconnect": "^3.0.4" + "steemconnect": "^3.0.4", + "stream-browserify": "^1.0.0", + "vm-browserify": "0.0.4" }, "devDependencies": { "@babel/core": "^7.6.2", @@ -120,7 +130,8 @@ "prettier-eslint": "^8.8.2", "react-test-renderer": "16.9.0", "redux-devtools-extension": "^2.13.5", - "redux-logger": "^3.0.6" + "redux-logger": "^3.0.6", + "rn-nodeify": "^10.2.0" }, "lint-staged": { "*.js": [ @@ -138,5 +149,25 @@ }, "resolutions": { "underscore.string": "^3.3.5" + }, + "react-native": { + "crypto": "react-native-crypto", + "_stream_transform": "readable-stream/transform", + "_stream_readable": "readable-stream/readable", + "_stream_writable": "readable-stream/writable", + "_stream_duplex": "readable-stream/duplex", + "_stream_passthrough": "readable-stream/passthrough", + "stream": "stream-browserify", + "vm": "vm-browserify" + }, + "browser": { + "crypto": "react-native-crypto", + "_stream_transform": "readable-stream/transform", + "_stream_readable": "readable-stream/readable", + "_stream_writable": "readable-stream/writable", + "_stream_duplex": "readable-stream/duplex", + "_stream_passthrough": "readable-stream/passthrough", + "stream": "stream-browserify", + "vm": "vm-browserify" } } diff --git a/release-notes.sh b/release-notes.sh new file mode 100644 index 000000000..f8b3cd2f3 --- /dev/null +++ b/release-notes.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +TAG=`git tag | sort | tail -n 1` +HASH=`git show-ref -s $TAG` +git log --pretty=format:'* %s %b' $HASH..HEAD | grep -Ev 'New translations' \ No newline at end of file diff --git a/shim.js b/shim.js new file mode 100644 index 000000000..0e7070f90 --- /dev/null +++ b/shim.js @@ -0,0 +1,26 @@ +if (typeof __dirname === 'undefined') global.__dirname = '/'; +if (typeof __filename === 'undefined') global.__filename = ''; +if (typeof process === 'undefined') { + global.process = require('process'); +} else { + const bProcess = require('process'); + for (var p in bProcess) { + if (!(p in process)) { + process[p] = bProcess[p]; + } + } +} + +process.browser = false; +if (typeof Buffer === 'undefined') global.Buffer = require('buffer').Buffer; + +// global.location = global.location || { port: 80 } +const isDev = typeof __DEV__ === 'boolean' && __DEV__; +process.env.NODE_ENV = isDev ? 'development' : 'production'; +if (typeof localStorage !== 'undefined') { + localStorage.debug = isDev ? '*' : ''; +} + +// If using the crypto shim, uncomment the following line to ensure +// crypto is loaded first, so it can populate global.crypto +require('crypto'); diff --git a/src/components/walletDetails/view/walletDetailsView.js b/src/components/walletDetails/view/walletDetailsView.js index 9c303c9a2..01de54e3b 100644 --- a/src/components/walletDetails/view/walletDetailsView.js +++ b/src/components/walletDetails/view/walletDetailsView.js @@ -11,8 +11,8 @@ import { vestsToSp } from '../../../utils/conversions'; import styles from './walletDetailsStyles'; const WalletDetailsView = ({ walletData, intl, navigate, isShowDropdowns }) => { - const steemDropdown = ['transfer_token', 'transfer_to_saving', 'powerUp']; - const sbdDropdown = ['transfer_token', 'transfer_to_saving']; + const steemDropdown = ['purchase_estm', 'transfer_token', 'transfer_to_saving', 'powerUp']; + const sbdDropdown = ['purchase_estm', 'transfer_token', 'transfer_to_saving', 'convert']; const savingSteemDropdown = ['withdraw_steem']; const savingSbdDropdown = ['withdraw_sbd']; const steemPowerDropdown = ['delegate', 'power_down']; diff --git a/src/components/walletHeader/view/walletHeaderStyles.js b/src/components/walletHeader/view/walletHeaderStyles.js index f6a7887a2..6a8f2a559 100644 --- a/src/components/walletHeader/view/walletHeaderStyles.js +++ b/src/components/walletHeader/view/walletHeaderStyles.js @@ -31,7 +31,7 @@ export default EStyleSheet.create({ }, subText: { color: '$darkIconColor', - fontSize: 8, + fontSize: 18, justifyContent: 'center', alignSelf: 'center', marginTop: 5, diff --git a/src/components/walletHeader/view/walletHeaderView.js b/src/components/walletHeader/view/walletHeaderView.js index 8e110a7f3..e095ba761 100644 --- a/src/components/walletHeader/view/walletHeaderView.js +++ b/src/components/walletHeader/view/walletHeaderView.js @@ -28,8 +28,10 @@ const WalletHeaderView = ({ currentIndex, valueDescriptions, showBuyButton, + showAddressButton, index, fetchUserActivity, + getTokenAddress, reload, refreshing, }) => { @@ -105,6 +107,25 @@ const WalletHeaderView = ({ )} + {showAddressButton && ( + getTokenAddress()} + > + + + {intl.formatMessage({ id: `wallet.${type}.address` })} + + + + + + + )} + {valueDescriptions && valueDescriptions.map((item, _index) => ( { let balance; - if (transferType === 'transfer_token' && fundType === 'STEEM') { + if ( + (transferType === 'transfer_token' || transferType === 'purchase_estm') && + fundType === 'STEEM' + ) { balance = Math.round(walletData.balance * 1000) / 1000; } - if (transferType === 'transfer_token' && fundType === 'SBD') { + if ( + (transferType === 'transfer_token' || + transferType === 'convert' || + transferType === 'purchase_estm') && + fundType === 'SBD' + ) { balance = Math.round(walletData.sbdBalance * 1000) / 1000; } if (transferType === 'withdraw_steem' && fundType === 'STEEM') { @@ -252,17 +267,23 @@ const WalletContainer = ({ dispatch( openPinCodeModal({ navigateTo: ROUTES.SCREENS.TRANSFER, - navigateParams: { transferType, fundType, balance }, + navigateParams: { transferType, fundType, balance, tokenAddress }, }), ); } else { navigate({ routeName: ROUTES.SCREENS.TRANSFER, - params: { transferType, fundType, balance }, + params: { transferType, fundType, balance, tokenAddress }, }); } }; + const getTokenAddress = tokenType => { + if (tokenType === 'BTC') { + console.log(getBtcAddress(pinCode, currentAccount)); + } + }; + return ( children && children({ @@ -280,16 +301,20 @@ const WalletContainer = ({ steemBalance, spBalance, sbdBalance, + tokenBalance, + getTokenAddress, steemSavingBalance, sbdSavingBalance, estimatedValue, estimatedSteemValue, estimatedSbdValue, + estimatedTokenValue, estimatedSpValue, delegationsAmount, navigate: _navigate, steemDropdown: STEEM_DROPDOWN, sbdDropdown: SBD_DROPDOWN, + btcDropdown: BTC_DROPDOWN, savingSteemDropdown: SAVING_STEEM_DROPDOWN, savingSbdDropdown: SAVING_SBD_DROPDOWN, steemPowerDropdown: STEEM_POWER_DROPDOWN, diff --git a/src/containers/transferContainer.js b/src/containers/transferContainer.js index 0b1106ab9..8bc6f7666 100644 --- a/src/containers/transferContainer.js +++ b/src/containers/transferContainer.js @@ -7,6 +7,7 @@ import get from 'lodash/get'; import { lookupAccounts, transferToken, + convert, transferFromSavings, transferToSavings, transferToVesting, @@ -35,6 +36,7 @@ class TransferContainer extends Component { this.state = { fundType: props.navigation.getParam('fundType', ''), balance: props.navigation.getParam('balance', ''), + tokenAddress: props.navigation.getParam('tokenAddress', ''), transferType: props.navigation.getParam('transferType', ''), selectedAccount: props.currentAccount, }; @@ -65,15 +67,23 @@ class TransferContainer extends Component { }; fetchBalance = username => { - const { fundType, transferType } = this.state; + const { fundType, transferType, tokenAddress } = this.state; getAccount(username).then(async account => { let balance; - if (transferType === 'transfer_token' && fundType === 'STEEM') { + if ( + (transferType === 'purchase_estm' || transferType === 'transfer_token') && + fundType === 'STEEM' + ) { balance = account[0].balance.replace(fundType, ''); } - if (transferType === 'transfer_token' && fundType === 'SBD') { + if ( + (transferType === 'purchase_estm' || + transferType === 'convert' || + transferType === 'transfer_token') && + fundType === 'SBD' + ) { balance = account[0].sbd_balance.replace(fundType, ''); } if (transferType === 'points' && fundType === 'ESTM') { @@ -88,6 +98,10 @@ class TransferContainer extends Component { if (transferType === 'powerUp' && fundType === 'STEEM') { balance = account[0].balance.replace(fundType, ''); } + if (transferType === 'address_view' && fundType === 'BTC') { + //TOD implement transfer of custom tokens + console.log(tokenAddress); + } const local = await getUserDataWithUsername(username); @@ -132,6 +146,13 @@ class TransferContainer extends Component { case 'transfer_token': func = transferToken; break; + case 'purchase_estm': + func = transferToken; + break; + case 'convert': + func = convert; + data.requestId = new Date().getTime() >>> 0; + break; case 'transfer_to_saving': func = transferToSavings; break; @@ -200,7 +221,7 @@ class TransferContainer extends Component { render() { const { accounts, navigation, children, steemPerMVests, currentAccount } = this.props; - const { balance, fundType, selectedAccount } = this.state; + const { balance, fundType, selectedAccount, tokenAddress } = this.state; const transferType = navigation.getParam('transferType', ''); @@ -209,6 +230,7 @@ class TransferContainer extends Component { children({ accounts, balance, + tokenAddress, fundType, transferType, selectedAccount, diff --git a/src/providers/esteem/esteem.js b/src/providers/esteem/esteem.js index 1bab98cac..611ff6a63 100644 --- a/src/providers/esteem/esteem.js +++ b/src/providers/esteem/esteem.js @@ -398,14 +398,13 @@ export const getCommunity = tag => } axios - .post('https://beta-api.steemit.com', { + .post('https://api.steemit.com', { jsonrpc: '2.0', method: 'bridge.get_community', params: { name: tag, observer: '' }, id: 1, }) .then(resp => { - console.log(resp); if (resp.data.result) { const { title } = resp.data.result; cache[tag] = title; diff --git a/src/providers/steem/dsteem.js b/src/providers/steem/dsteem.js index b9cad552e..f9edea1bb 100644 --- a/src/providers/steem/dsteem.js +++ b/src/providers/steem/dsteem.js @@ -1,9 +1,11 @@ /* eslint-disable camelcase */ +import '../../../shim'; +import * as bitcoin from 'bitcoinjs-lib'; + import { Client, PrivateKey } from 'dsteem'; import steemconnect from 'steemconnect'; import Config from 'react-native-config'; import { get, has } from 'lodash'; - import { getServer } from '../../realm/realm'; import { getUnreadActivityCount } from '../esteem/esteem'; import { userActivity } from '../esteem/ePoint'; @@ -565,6 +567,41 @@ export const transferToken = (currentAccount, pin, data) => { return Promise.reject(new Error('Check private key permission!')); }; +export const convert = (currentAccount, pin, data) => { + const digitPinCode = getDigitPinCode(pin); + const key = getAnyPrivateKey({ activeKey: get(currentAccount, 'local.activeKey') }, digitPinCode); + + if (key) { + const privateKey = PrivateKey.fromString(key); + + const args = [ + [ + 'convert', + { + owner: get(data, 'from'), + amount: get(data, 'amount'), + requestid: get(data, 'requestId'), + }, + ], + ]; + + return new Promise((resolve, reject) => { + client.broadcast + .sendOperations(args, privateKey) + .then(result => { + if (result) { + resolve(result); + } + }) + .catch(err => { + reject(err); + }); + }); + } + + return Promise.reject(new Error('Check private key permission!')); +}; + export const transferToSavings = (currentAccount, pin, data) => { const digitPinCode = getDigitPinCode(pin); const key = getAnyPrivateKey({ activeKey: get(currentAccount, 'local.activeKey') }, digitPinCode); @@ -1301,6 +1338,26 @@ export const profileUpdate = async (params, pin, currentAccount) => { return Promise.reject(new Error('Check private key permission!')); }; +export const getBtcAddress = (pin, currentAccount) => { + const digitPinCode = getDigitPinCode(pin); + const key = getActiveKey(get(currentAccount, 'local'), digitPinCode); + console.log(pin, currentAccount, digitPinCode, key); + /*if (get(currentAccount, 'local.authType') === AUTH_TYPE.STEEM_CONNECT) { + return { address: '' }; + }*/ + + if (key) { + console.log(key); + const keyPair = bitcoin.ECPair.fromWIF(key); + const { address } = bitcoin.payments.p2pkh({ pubkey: keyPair.publicKey }); + + console.log('btc address', address); + return { address: address }; + } + + return { address: '' }; +}; + // HELPERS const getAnyPrivateKey = (local, pin) => { diff --git a/src/screens/editor/container/editorContainer.js b/src/screens/editor/container/editorContainer.js index 9c9db7eaf..7ed43d339 100644 --- a/src/screens/editor/container/editorContainer.js +++ b/src/screens/editor/container/editorContainer.js @@ -539,7 +539,7 @@ class EditorContainer extends Component { if (navigation.state && navigation.state.params) { const navigationParams = navigation.state.params; - if (navigationParams.draft) { + /*if (navigationParams.draft) { _draft = navigationParams.draft; this.setState({ @@ -551,7 +551,7 @@ class EditorContainer extends Component { draftId: _draft._id, isDraft: true, }); - } + }*/ if (navigationParams.post) { ({ post } = navigationParams); diff --git a/src/screens/transfer/index.js b/src/screens/transfer/index.js index 8481556fe..6dca69694 100644 --- a/src/screens/transfer/index.js +++ b/src/screens/transfer/index.js @@ -3,6 +3,7 @@ import React from 'react'; import { TransferContainer } from '../../containers'; import TransferView from './screen/transferScreen'; +import AddressView from './screen/addressScreen'; import PowerDownView from './screen/powerDownScreen'; import DelegateView from './screen/delegateScreen'; @@ -25,6 +26,8 @@ const Transfer = ({ navigation }) => ( }) => { switch (transferType) { case 'transfer_token': + case 'purchase_estm': + case 'convert': case 'transfer_to_saving': case 'powerUp': case 'points': @@ -78,6 +81,17 @@ const Transfer = ({ navigation }) => ( setWithdrawVestingRoute={setWithdrawVestingRoute} /> ); + case 'address_view': + return ( + + ); default: return null; diff --git a/src/screens/transfer/screen/addressScreen.js b/src/screens/transfer/screen/addressScreen.js new file mode 100644 index 000000000..77a529de4 --- /dev/null +++ b/src/screens/transfer/screen/addressScreen.js @@ -0,0 +1,86 @@ +import React, { Fragment, Component } from 'react'; +import { Text, View, ScrollView, TouchableOpacity } from 'react-native'; +import { WebView } from 'react-native-webview'; +import ActionSheet from 'react-native-actionsheet'; +import { injectIntl } from 'react-intl'; +import get from 'lodash/get'; +import QRCode from 'react-native-qrcode-svg'; +import { connect, useDispatch } from 'react-redux'; + +import { steemConnectOptions } from '../../../constants/steemConnectOptions'; +import AUTH_TYPE from '../../../constants/authType'; +import { encryptKey, decryptKey } from '../../../utils/crypto'; + +import { BasicHeader, MainButton } from '../../../components'; + +import styles from './transferStyles'; + +/* Props + * ------------------------------------------------ + * @prop { type } name - Description.... + */ +const AddressView = ({ + intl, + handleOnModalClose, + fundType, + transferType, + balance, + currentAccountName, + selectedAccount, + accountType, + pinCode, +}) => { + console.log( + fundType, + transferType, + balance, + currentAccountName, + selectedAccount, + accountType, + pinCode, + ); + + let base64Logo = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAABEVBMVEUaUJoqVZwkU5stV5z9/v4YT5r///3///9LovL+/v8UT5lPo/L8/f0dUZogUpoAQpZTpPIAPJUxWZ0AJZAASpgAM5Pr7vEALZH2+PgARpcnVZv4+/oAKpHc4ecAI48amfLy9PXS1+AAII+/x9UAHI9FoPLl6e3K0dwRmfI3Xp7X3OPJ3faIl7hDZaDu8/YAMJKSoL25wdFOa6MjmvINTJmlsccunPKlyfPh5eqstsuyvM1An/Jtgq03nvJdd6d2ibBmfaoAN5MAOZSbp8Gbw/LGzdnn8Pjy9/qgrMSCkrW30vVWcaW+1vV8jrODuPJZpvHf6/d4s/KMm7purvIElvLU5Pba6Pdlq/KtzfSPvfIAAInGKpZ5AAANoUlEQVRo3r1ahXbqzBaOTiAkhBga3KWo1KhA3fXY//4PcvdMhIRC4Zd156x1ukrDfLP923tCCf+HRe38ZBgW5y38238LAruv23L9p/8MBI5NfkqFeLZVJ6uVjRckB+c/AAEN4f3jxcHF2UPTUM0ELFM1mqd3k6taBv8t/C9Bwhgh2Tp82lNLpZ6aGssMWfI4pSYqCfrsKAtPbJWG2gKBDg7PU7mEIrMaSzNRWaZgyXKUoVktnerlxE6RE7aZ5hsQULpUfJf1xZhm6SgvijzlW/A7xbC0kVA7B+TZfwICp0PFO1U3aJqhgvv7gCiGlvXxYfJ7lW0CAU3V3lUrykapLSuqGZWz2rcqozZZI3PE6pQmi9TWJTKs1SzCl/4eCIhxcJZLsdEdILDWKE1VrmyU8K4ggFFmEjTDr1iC9z5Y/YvIGokyMeOukkhC8iKR0ih+xcgyuC1tL/C2oC+ItKEW4XRcBu0EwgnxWYWhg5riZVpjDLVn6Xoup1umEtXSQRRW3YsLHPr5ukZj1FeMg6GuBa0hM6y8qCSoh6f+xWQyue3M9uYlhWUCx9BKfSGMbi67WN3fg3BCtmkGVCVGaUapqKcX5YOCowwuGa9f7FUUCFGfK/MKVtj9c+aLLNQXOZoLTfR7Dhs1E8PbVtJ+AHmFJH401MX08lGete4kAXWrlwiFvwORhPjQDGAwrDmflbtOQrYBSPXCMLeKsrQdz4xTWUFC+5+P34JwQmFm+TB4mU3lzuvJdfUpjNNnXVNoT2OiVpnAFj8+X65XFEYFMKROSVuqWUwzFnsEEBK3PoOGhRZjMEt9mTN4+PrX528URPGBwOeTCi37lJyyOrXvygUIM0gw3jcYg60JKPOcXxWF8gtSNymGX1q8x5Y5u25trMxC4VRNLz19Dv6F9qej+00gEIRDlRWX0WedbS0UsNdtifUUTOtlALnPH3/cBFAon7IuKj6js6VOcnthDQtXFu19h84dAshjPnbyA3HSGhBOKKrysniwOmBI25mMUDQZ38EmWJLGS34fCbW4F/qU93Ty3PTcUdT0s10w4GtHPnWxJSzJ/ufL9C0j1AaCGy9LkIHueZbILh7iu2CEheRs7lMX2CTM/RnFqqFXIQm1XwqAEKu7gvCMYWR3wYCvlX0uLPMQ8kLm7SQSGbWR0L9wazLlsoajCus9TFsDYRdqKAm1puKlfJ5WHwqC8BqpRmINMMrAdK1CuYLseU/zYHRO2AkjeZZg/WkFzi60p5FQbPQnIxT/uggYngjiYqRTzdpuRkcXJXaZICDXt7DdRwAyhUg5SFE1WxTKxig8LAOX1ge7ySFNTEbml1kogVP99ctxJBQ5+XUNyvnryAfCCVee/SDNnWUEbns3IXQ7etRXtaIUrvIQJZFQKFKNvULGqZwXyE4YJIzQe4L2ChxhBFsgQJutU91fGUGQDsRF99cJAcE+PDNTRQ8kYHa69yRt05aEhOShMQ9UaeL2IMhnLOSAZM5U84LkKxukPnczihw1r7ZYHVfF1iw3pvkAj6hAtDuChCLHkO2lzlw5TWJRKAJ1m3O9hMG+Ht7ST8QvFJNm/Bii1jtPYtdqYEHA8OBdQj9BQ3TaIBzWnpPjebZ0+x0Ghigc7ZVEdoVBKiLOET+PQ1gQcGHgLMJFrlkaYBchIDU25ZxLjs6/MTuGSJZPc0C5xBX+uLgCOTJvUyJIKJa/BPI0yTVzfVyJKbsiOg4MmWG4UVsYQqrPLJVOUyscdWyWQQ60n7cxQpH8I+KEw1xTPS3YIL5whxTfR2tBSJubrD+ZJk2vsGRg2z3MtqFaRRyM6vFPAYOwBoODnoIt0UXOLYk42jluLYLQLc/MXpSlVhm9pig4wwvtk5ALckLq7y0EEtE+Bsmc9WxJ7ByPKVDYF9oS9mgpOxla8yi72hXxsmaysFEYtY+rDkYoMrrE9epCp+ncwAEBxmH7PE8vTgtSvUCCwRlvEG5aKz8ZFSUd4L5O6aFL5wc4Vz6eeBghXE7go3eLpfULYpMwxHuKcRy4B3nraFiOL7sMVDgod5pWYqyl17RYrJF7L0AGQPdTHwYORWCKTz023buDqkFhjs0YUce5rA4UieFfw/6gVYvHD1pXR/1TuWcp6RWndZvFnjjgcD7ez4c8DNuBMWmY08wCYpSAZFNi1LV7H5RZn6cSukI3m1ElUbJUg6HT8pomG9re0iyLM1nmshFZYoQi0x/YESAhQtMxhH4Fg7RUWXZBcLyDMpu0bKRShpxm6TTE0BcEHowh5tJAlDkJXT83Yj6M2Ai3KKAg0WAYBfdfKyDAzsISoZI8maFsaHdBUeOE0icME/34NYqFfHKAIKAOYGQLmI6sA9EnAvm7mmI3TCFIFtUMPdXJIhxSmcfjEz+GbZEw/BvkaGo9CA54SGllVdGi67QErJqmlYrYz2IujtDrc6Ma8WMQ1woT1lvSxLUg1jvJKiCLVqLwVAXPbcjC85toGj4yTH3vFqTAmur+ro4iAQxIWzhGnBD3gWQVXnZLKJRFLsPBY7V3RVd4mmWhd0/j1l1j03xqbiXST+U4LsAIZdofjWpAVaCsz0vnmPEmpPYlyIHsxgnpldB1G/s+avX3VD1nmaoCa9HTS7rKnvfLB5JAFJVpv41OVsSAQvJ2QxgwSe1gPQVqIBeMeOCAXdxbXmYQJBSEh4J358Ph3nB4eta5HRRrSWTXXwyRn65ChGInL682yw4LE8zE04sZCUZ/7nJ4Xbf69oqQnbekZLcb73YLmbCTkBGsm8e30TSyoils9OMfgoORPF9AHqITHcEG8WVh3CVDRn38jO2/Sng7f8ZHZGWu2/u/8msgoIyctJHNscGbFJxG6NzESZCo79WTtIVLA+p+TEfHz4+vNxxaLilzc/2zvf8cGzXAFpEvGLEq1EOn4pFi4jZ4GCRYGTs4UFC78RIaNapvl/v3j21Yj/f3+3+eP2In+cb0OBL7igAYxyCHg8Fh3gsmkGVMj+0aX5xHHR9msFEARLr8jMUi1ekon8+PYOXzjfxoegJkJLYWAT6fRjwMzHvNKAQz5Me4SyTiXpfB0zksH9gJkh7ZcbnIL6H1KxZpfLx6c8iwIN1ZQLJEMm5xiIT0lHB5F22eSSQr3Dw3XOqxeW9PjJPR/g3yJiNu9YCO5RDZvAv+P9Q9vi2CFnG4CTd/PmNbNnchqo2PNkKcr1vv69iVYDOXQWJgw3BZJ231BTsvZP40IpFdIPKR3zeCjxLi/cZYENY8d7kwiRST9ppS5oB8AVAuP4+3CAPRkq9eviL/WBhqxV2CRDcpT2GvCSpbyyZI77vTV6n90ghthgFbHTcwBArMqSTbtfB5xazXn5AGW2H8szHOPhK63j/OV9fGBThbaJp/2QeIIHledus0oSq+xnTiNaau3zmJ6udlJE/iz88UAKE6bRy/3V+jFTEwBevrZC+ZMet2q+O12E2X2MMfE1fu4eD76PX+OZZvnJCtYyRYqhD41bffPzN287jSSx7lyGgDmCKmQ/4WW7j1RkR8Gid8zneHAjnx8qM6akD45xuN/DT0cfn4mkHo6y0AsJC6KtrHtfNWYOzh82IKekzJUzQZbkJ2f23f78P6fd/+gROnsG6kBxhFI0Wyh+2//rGHTbZ8c4/SxN9BeNd9y9y/9gowjKfKip08/EqnPL/DonjDBSZxJAQGr+Fw2JvXbrpjhE9bTWf4h+mCN4Wmlg9MlpMrnhGhd9o+Mli9nqqLjhwUM/YNmij/zHLhjSDF9Fgd/C0UUBU6UlK02+DCjNiTl/IdpOj6hY2SOOR2GnrZZwSq0IfeXnRizTwtLI9IBTy8tBwLiwyDWw9uJ2HwU8UHnXb6C5w1Wj41BIbPUie3HHCLDK2fZ3e5ESXzg1tFZd2REXjnkT+GgmP0wnliObXlZdaUB5ltMHiYkywPS7w3BoERSLCHplbGfXuq/9KBNfSzIsIaD2+83gaIqxmQy+hyFGvNkgGfWb3ayHpO6Kisp3RaknOxsQYApiDlWQ+ae9+UcDFcGcVSqzPYouiXBVpPPqEAxbYpmwQLWmL8w0bMHBydJub+5h4w0qujWOpL0BbZhe96AzfRfE/fey9nC8GLN5Ss1SezcUllaP8NmGY2W6vxRa1JP3s9Tfb3P1Foe3SdOu8PitlaLd6N10hbPGuaFXPMpuXA6EAfHnyJYWqNP9ZOc8GOGti5RhtzCzphVtsbNrWoYuq6mYpqbGB8IDLpyll8++0csX73riIHLxrJfTXN8Ab0xAq0xWNoukAGPvgQO871143411/LZiamwq7MOEi/6C3gtSt3s/iOTRmgdZlo0wVzfU9naGq3C2b7NpI1Suet9TmV2nQbH++Yc/B+frd7bJmNWsYkueFWntqcuOunOZWl14wjvg5AWKY3v8tuvGOjNk/ihcLgAUcBI2+eG9gOMbbMs7q0+Y6N+n5wOjg1EymGTVPiVyDnVQxe1Y1OMfPdHRv1fSESCvWOZlkpGrr4qH/Sgl8q0TTGMHPq6WTbyyvUtrG/gGqDu6ZVSahGlPYWExVTC73SS88mxYKw7f2Yra/5kAFk7er26UFWrVwpVyqV4No/sTCa553Dei25ywtF1A4MAW+BpMJB8WpwSNagfFXMxpOcV3r/k1ev1h01TErKf/JWVPAVMofZhf/ma2S7v6n2L9b/AODt5rxpnWUSAAAAAElFTkSuQmCC'; + + return ( + + + + + {accountType !== 'postingKey' && + accountType !== 'memoKey' && + accountType !== 'steemConnect' && ( + + + + + + TEST + + + )} + {(accountType === 'postingKey' || + accountType === 'memoKey' || + accountType === 'steemConnect') && Cannot generate Address} + + + + ); +}; + +const mapStateToProps = state => ({ + pinCode: state.application.pin, + globalProps: state.account.globalProps, + currency: state.application.currency.currency, + isPinCodeOpen: state.application.isPinCodeOpen, +}); + +export default connect(mapStateToProps)(injectIntl(AddressView)); diff --git a/src/screens/transfer/screen/transferScreen.js b/src/screens/transfer/screen/transferScreen.js index f6405a8d3..9e7cd1d00 100644 --- a/src/screens/transfer/screen/transferScreen.js +++ b/src/screens/transfer/screen/transferScreen.js @@ -35,11 +35,17 @@ class TransferView extends Component { props.transferType === 'powerUp' || props.transferType === 'withdraw_steem' || props.transferType === 'withdraw_steem' + ? props.currentAccountName + : props.transferType === 'purchase_estm' + ? 'esteem.app' + : props.transferType === 'convert' ? props.currentAccountName : '', amount: '', - memo: '', + memo: props.transferType === 'purchase_estm' ? 'estm-purchase' : '', isUsernameValid: !!( + props.transferType === 'purchase_estm' || + props.transferType === 'convert' || props.transferType === 'powerUp' || props.transferType === 'withdraw_steem' || (props.transferType === 'withdraw_steem' && props.currentAccountName) @@ -129,10 +135,13 @@ class TransferView extends Component { ); _handleOnDropdownChange = value => { - const { fetchBalance } = this.props; + const { fetchBalance, transferType } = this.props; fetchBalance(value); this.setState({ from: value }); + if (transferType === 'convert') { + this.setState({ destination: value }); + } }; _renderDescription = text => {text}; @@ -195,16 +204,18 @@ class TransferView extends Component { label={intl.formatMessage({ id: 'transfer.from' })} rightComponent={() => this._renderDropdown(accounts, currentAccountName)} /> - - this._renderInput( - intl.formatMessage({ id: 'transfer.to_placeholder' }), - 'destination', - 'default', - ) - } - /> + {transferType !== 'convert' && ( + + this._renderInput( + intl.formatMessage({ id: 'transfer.to_placeholder' }), + 'destination', + 'default', + ) + } + /> + )} @@ -246,6 +257,13 @@ class TransferView extends Component { } /> )} + {transferType === 'convert' && ( + + this._renderDescription(intl.formatMessage({ id: 'transfer.convert_desc' })) + } + /> + )} { + const { getAccountsWithUsername, balance } = this.props; + + if (key) { + switch (key) { + case 'destination': + getAccountsWithUsername(value).then(res => { + const isValid = res.includes(value); + + this.setState({ isUsernameValid: isValid }); + }); + this.setState({ [key]: value }); + break; + case 'amount': + if (parseFloat(Number(value)) <= parseFloat(balance)) { + this.setState({ [key]: value }); + } + break; + + default: + this.setState({ [key]: value }); + break; + } + } + }; + + _handleTransferAction = () => { + const { transferToAccount, accountType } = this.props; + const { from, destination, amount, memo } = this.state; + + this.setState({ isTransfering: true }); + + if (accountType === AUTH_TYPE.STEEM_CONNECT) { + this.setState({ steemConnectTransfer: true }); + } else { + transferToAccount(from, destination, amount, memo); + } + }; + + _handleOnAmountChange = (state, amount) => { + let _amount = amount.toString(); + if (_amount.includes(',')) { + _amount = amount.replace(',', '.'); + } + + this._setState(state, _amount); + }; + + _renderInput = (placeholder, state, keyboardType, isTextArea) => ( + this._handleOnAmountChange(state, amount)} + value={this.state[state]} + placeholder={placeholder} + placeholderTextColor="#c1c5c7" + autoCapitalize="none" + multiline={isTextArea} + numberOfLines={isTextArea ? 4 : 1} + keyboardType={keyboardType} + /> + ); + + _renderDropdown = (accounts, currentAccountName) => ( + item.username)} + defaultText={currentAccountName} + selectedOptionIndex={accounts.findIndex(item => item.username === currentAccountName)} + onSelect={(index, value) => this._handleOnDropdownChange(value)} + /> + ); + + _handleOnDropdownChange = value => { + const { fetchBalance, transferType } = this.props; + + fetchBalance(value); + this.setState({ from: value }); + if (transferType === 'convert') { + this.setState({ destination: value }); + } + }; + + _renderDescription = text => {text}; + + render() { + const { + accounts, + intl, + handleOnModalClose, + balance, + fundType, + transferType, + currentAccountName, + selectedAccount, + } = this.props; + const { + destination, + isUsernameValid, + amount, + steemConnectTransfer, + memo, + isTransfering, + from, + } = this.state; + let path; + + if (transferType === 'points') { + const json = JSON.stringify({ + sender: get(selectedAccount, 'name'), + receiver: destination, + amount: `${Number(amount).toFixed(3)} ${fundType}`, + memo, + }); + path = `sign/custom-json?authority=active&required_auths=%5B%22${get( + selectedAccount, + 'name', + )}%22%5D&required_posting_auths=%5B%5D&id=esteem_point_transfer&json=${encodeURIComponent( + json, + )}`; + } else { + path = `sign/transfer?from=${ + accounts[0].username + }&to=${destination}&amount=${encodeURIComponent( + `${amount} ${fundType}`, + )}&memo=${encodeURIComponent(memo)}`; + } + + return ( + + + + + + + + + + + this._renderDropdown(accounts, currentAccountName)} + /> + {transferType !== 'convert' && ( + + this._renderInput( + intl.formatMessage({ id: 'transfer.to_placeholder' }), + 'destination', + 'default', + ) + } + /> + )} + + this._renderInput( + intl.formatMessage({ id: 'transfer.amount' }), + 'amount', + 'numeric', + ) + } + /> + ( + this._handleOnAmountChange('amount', balance)}> + {this._renderDescription( + `${intl.formatMessage({ + id: 'transfer.amount_desc', + })} ${balance} ${fundType}`, + )} + + )} + /> + {(transferType === 'points' || transferType === 'transfer_token') && ( + + this._renderInput( + intl.formatMessage({ id: 'transfer.memo_placeholder' }), + 'memo', + 'default', + true, + ) + } + /> + )} + {(transferType === 'points' || transferType === 'transfer_token') && ( + + this._renderDescription(intl.formatMessage({ id: 'transfer.memo_desc' })) + } + /> + )} + {transferType === 'convert' && ( + + this._renderDescription(intl.formatMessage({ id: 'transfer.convert_desc' })) + } + /> + )} + + + = 0.001 && isUsernameValid)} + onPress={() => this.ActionSheet.show()} + isLoading={isTransfering} + > + {intl.formatMessage({ id: 'transfer.next' })} + + + + + (this.ActionSheet = o)} + options={[ + intl.formatMessage({ id: 'alert.confirm' }), + intl.formatMessage({ id: 'alert.cancel' }), + ]} + title={intl.formatMessage({ id: 'transfer.information' })} + cancelButtonIndex={1} + destructiveButtonIndex={0} + onPress={index => { + index === 0 ? this._handleTransferAction() : null; + }} + /> + {path && ( + + + + )} + + ); + } +} + +export default injectIntl(TransferTokenView); diff --git a/src/screens/wallet/screen/btcView.js b/src/screens/wallet/screen/btcView.js new file mode 100644 index 000000000..7c45b2068 --- /dev/null +++ b/src/screens/wallet/screen/btcView.js @@ -0,0 +1,59 @@ +import React from 'react'; +import { View } from 'react-native'; + +import { WalletHeader, FormattedCurrency } from '../../../components'; +import { SteemWalletContainer, AccountContainer } from '../../../containers'; + +import globalStyles from '../../../globalStyles'; + +const BtcView = ({ handleOnSelected, index, currentIndex, refreshing: reload }) => ( + + + {({ currentAccount }) => ( + + {({ + isClaiming, + claimRewardBalance, + handleOnWalletRefresh, + refreshing, + transferHistory, + tokenBalance, + getTokenAddress, + isLoading, + estimatedTokenValue, + btcDropdown, + navigate, + }) => ( + handleOnSelected(transferHistory, isLoading)} + index={index} + claim={claimRewardBalance} + reload={reload} + fetchUserActivity={handleOnWalletRefresh} + getTokenAddress={() => getTokenAddress('BTC')} + isClaiming={isClaiming} + isLoading={isLoading} + refreshing={refreshing} + unclaimedBalance={0} + userBalance={[{ balance: tokenBalance, nameKey: 'btc', options: btcDropdown }]} + handleOnDropdownSelected={option => navigate(option, 'BTC')} + type="btc" + currentIndex={currentIndex} + showAddressButton + showIconList={false} + valueDescriptions={[ + { + textKey: 'estimated_value', + value: , + subTextKey: 'estimated_value_desc', + }, + ]} + /> + )} + + )} + + +); + +export default BtcView; diff --git a/src/utils/crypto.js b/src/utils/crypto.js index f36c71ae7..a4310f900 100644 --- a/src/utils/crypto.js +++ b/src/utils/crypto.js @@ -2,5 +2,8 @@ import CryptoJS from 'crypto-js'; export const encryptKey = (key, data) => CryptoJS.AES.encrypt(key, data).toString(); -export const decryptKey = (key, data) => - CryptoJS.AES.decrypt(key, data).toString(CryptoJS.enc.Utf8); +export const decryptKey = (key, data) => { + console.log('key', key, 'data', data); + + return CryptoJS.AES.decrypt(key, data).toString(CryptoJS.enc.Utf8); +}; diff --git a/src/utils/wallet.js b/src/utils/wallet.js index 77ce77a03..09b0245c4 100644 --- a/src/utils/wallet.js +++ b/src/utils/wallet.js @@ -165,7 +165,7 @@ export const groomingWalletData = async (user, globalProps, userCurrency) => { if (!user) { return walletData; } - + console.log('groomingWalletData', user); const state = await getState(`/@${get(user, 'name')}/transfers`); const { accounts } = state; if (!accounts) { @@ -266,3 +266,12 @@ export const getPointsEstimate = async (amount, userCurrency) => { return ppEstm * amount; }; + +export const getBtcEstimate = async (amount, userCurrency) => { + if (!amount) { + return 0; + } + const ppBtc = await getCurrencyTokenRate(userCurrency, 'btc'); + + return ppBtc * amount; +}; diff --git a/yarn.lock b/yarn.lock index 05d69dbfb..2b6b86523 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1113,10 +1113,10 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@esteemapp/esteem-render-helpers@^1.3.6": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@esteemapp/esteem-render-helpers/-/esteem-render-helpers-1.3.6.tgz#320d39012fda19c88ada266e133cb8d2e25bc076" - integrity sha512-CHD5INnrEb5efL1OcSix84D2QFBYV3xivu0tfGo4wIhj8pCTgH0cR3sLsVks8oHwmBftzQ9uDGYkbzOp83XwsA== +"@esteemapp/esteem-render-helpers@^1.3.7": + version "1.3.7" + resolved "https://registry.yarnpkg.com/@esteemapp/esteem-render-helpers/-/esteem-render-helpers-1.3.7.tgz#1d8c4b6c8f4bc909ea7a511a2689ee5c8288a96a" + integrity sha512-iF3zWL0IMnHBcz+tW61TNYWhhoT3v+daWmMygTupE02moJpxDOh05hYuGQX/ROHPFOVi9OYesckWjyLSFj7+yw== dependencies: he "^1.2.0" lru-cache "^5.1.1" @@ -1609,6 +1609,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== +"@types/node@10.12.18": + version "10.12.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" + integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" @@ -1690,6 +1695,11 @@ lodash.unescape "4.0.1" semver "5.5.0" +"@yarnpkg/lockfile@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + abab@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" @@ -2016,6 +2026,15 @@ asap@~2.0.3: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" @@ -2028,6 +2047,14 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +assert@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -2309,26 +2336,76 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +bech32@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.3.tgz#bd47a8986bbb3eec34a56a097a84b8d3e9a2dfcd" + integrity sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg== + big-integer@^1.6.44: version "1.6.48" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== -bindings@^1.5.0: +bindings@^1.3.0, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" -bip66@^1.1.5: +bip174@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bip174/-/bip174-1.0.1.tgz#858a587f9529e22ee9b0572fd884e5783696824d" + integrity sha512-Mq2aFs1TdMfxBpYPg7uzjhsiXbAtoVq44TNjEWtvuZBiBgc3m7+n55orYMtTAxdg7jWbL4DtH0MKocJER4xERQ== + +bip32@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.5.tgz#e3808a9e97a880dbafd0f5f09ca4a1e14ee275d2" + integrity sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g== + dependencies: + "@types/node" "10.12.18" + bs58check "^2.1.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + tiny-secp256k1 "^1.1.3" + typeforce "^1.11.5" + wif "^2.0.6" + +bip66@^1.1.0, bip66@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI= dependencies: safe-buffer "^5.0.1" -bn.js@^4.11.8, bn.js@^4.4.0: +bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278" + integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow== + +bitcoinjs-lib@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.1.1.tgz#fa682d7fc1d7bb67aff0a0cf2de999cd7633d88c" + integrity sha512-BrjFqv+yE9YV1edKdPMIjZMg31Q1I5b1sniIQDOuuwa5/rv6FYG/m4jH/bR8t0M0yzeeEcqF5M4zxKqK1TrVHA== + dependencies: + "@types/node" "10.12.18" + bech32 "^1.1.2" + bip174 "^1.0.0" + bip32 "^2.0.3" + bip66 "^1.1.0" + bitcoin-ops "^1.4.0" + bs58check "^2.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.3" + merkle-lib "^2.0.10" + pushdata-bitcoin "^1.0.1" + randombytes "^2.0.1" + tiny-secp256k1 "^1.1.1" + typeforce "^1.11.3" + varuint-bitcoin "^1.0.4" + wif "^2.0.1" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.8, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== @@ -2393,7 +2470,7 @@ browser-resolve@^1.11.3: dependencies: resolve "1.1.7" -browserify-aes@^1.0.6: +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== @@ -2405,13 +2482,62 @@ browserify-aes@^1.0.6: inherits "^2.0.1" safe-buffer "^5.0.1" -bs58@^4.0.1: +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= dependencies: base-x "^3.0.2" +bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -2434,7 +2560,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@^4.5.1: +buffer@^4.5.1, buffer@^4.9.1: version "4.9.2" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== @@ -2443,7 +2569,7 @@ buffer@^4.5.1: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.2.1: +buffer@^5.4.3: version "5.4.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== @@ -2533,6 +2659,13 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +can-promise@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/can-promise/-/can-promise-0.0.1.tgz#7a7597ad801fb14c8b22341dfec314b6bd6ad8d3" + integrity sha512-gzVrHyyrvgt0YpDm7pn04MQt8gjh0ZAhN4ZDyCRtGl6YnuuK6b4aiUTD7G52r9l4YNmxfTtEscb92vxtAlL6XQ== + dependencies: + window-or-global "^1.0.1" + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -2854,6 +2987,14 @@ cosmiconfig@^5.0.2, cosmiconfig@^5.0.5, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1: js-yaml "^3.13.1" parse-json "^4.0.0" +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -2865,7 +3006,7 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.4: +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -3058,6 +3199,18 @@ deep-diff@^0.3.5: resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" integrity sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ= +deep-equal@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -3129,6 +3282,14 @@ deprecated-react-native-listview@0.0.5: invariant "*" react-clone-referenced-element "*" +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" @@ -3154,6 +3315,20 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dijkstrajs@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b" + integrity sha1-082BIh4+pAdCz83lVtTpnpjdxxs= + dlv@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" @@ -3280,7 +3455,7 @@ elegant-spinner@^1.0.1: resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= -elliptic@^6.4.1: +elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.4.1: version "6.5.2" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== @@ -3782,7 +3957,7 @@ events@^3.0.0: resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== -evp_bytestokey@^1.0.3: +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== @@ -4117,6 +4292,11 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +findit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e" + integrity sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4= + flat-cache@^1.2.1: version "1.3.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" @@ -4186,6 +4366,15 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= +fs-extra@^0.22.1: + version "0.22.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.22.1.tgz#5fd6f8049dc976ca19eb2355d658173cabcce056" + integrity sha1-X9b4BJ3JdsoZ6yNV1lgXPKvM4FY= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + rimraf "^2.2.8" + fs-extra@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" @@ -4598,6 +4787,11 @@ indent-string@^3.0.0, indent-string@^3.2.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -4606,11 +4800,16 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -4721,6 +4920,11 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -4916,6 +5120,11 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isarray@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + iserror@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/iserror/-/iserror-0.0.2.tgz#bd53451fe2f668b9f2402c1966787aaa2c7c0bf5" @@ -5998,6 +6207,11 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +merkle-lib@^2.0.10: + version "2.0.10" + resolved "https://registry.yarnpkg.com/merkle-lib/-/merkle-lib-2.0.10.tgz#82b8dbae75e27a7785388b73f9d7725d0f6f3326" + integrity sha1-grjbrnXieneFOItz+ddyXQ9vMyY= + metro-babel-register@0.56.3, metro-babel-register@^0.56.0: version "0.56.3" resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.56.3.tgz#d0cfb38adf45cb35965649ede794f2308562e20f" @@ -6243,6 +6457,14 @@ micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: snapdragon "^0.8.1" to-regex "^3.0.2" +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + mime-db@1.42.0, "mime-db@>= 1.40.0 < 2": version "1.42.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" @@ -6309,7 +6531,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.1, minimist@^1.2.0: +minimist@^1.1.1, minimist@^1.1.2, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= @@ -6370,7 +6592,7 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@^2.12.1, nan@^2.14.0: +nan@^2.12.1, nan@^2.13.2, nan@^2.14.0: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -6545,6 +6767,11 @@ object-inspect@^1.7.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== +object-is@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" + integrity sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== + object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -6600,7 +6827,7 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -object.pick@^1.3.0: +object.pick@^1.1.1, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= @@ -6830,6 +7057,18 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-asn1@^5.0.0: + version "5.1.5" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -6934,6 +7173,24 @@ path@^0.12.7: process "^0.11.1" util "^0.10.3" +pbkdf2@3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.8.tgz#2f8abf16ebecc82277945d748aba1d78761f61e2" + integrity sha1-L4q/FuvsyCJ3lF10irodeHYfYeI= + dependencies: + create-hmac "^1.1.2" + +pbkdf2@^3.0.3: + version "3.0.17" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + pbxproj-dom@^1.0.11: version "1.2.0" resolved "https://registry.yarnpkg.com/pbxproj-dom/-/pbxproj-dom-1.2.0.tgz#1cf4101163bd666eba9eb92a5b8f616ce824ea85" @@ -7024,6 +7281,11 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== +pngjs@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -7164,6 +7426,18 @@ psl@^1.1.24, psl@^1.1.28: resolved "https://registry.yarnpkg.com/psl/-/psl-1.6.0.tgz#60557582ee23b6c43719d9890fb4170ecd91e110" integrity sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA== +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -7187,6 +7461,24 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +pushdata-bitcoin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz#15931d3cd967ade52206f523aa7331aef7d43af7" + integrity sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc= + dependencies: + bitcoin-ops "^1.3.0" + +qrcode@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.2.0.tgz#330d24313fbf8d429a806091af9525250239e44a" + integrity sha512-wZK0Z0eYmOUDP2tOGzmLdeBn5Npa+4wms9GdvzH7HrywvGUq/Stz0BKUhW4DfmBf1PSrm9dNfdnVDq683Zxvag== + dependencies: + can-promise "^0.0.1" + dijkstrajs "^1.0.1" + isarray "^2.0.1" + pngjs "^3.3.0" + yargs "^8.0.2" + qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -7206,6 +7498,21 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -7283,6 +7590,22 @@ react-native-config@luggit/react-native-config#master: version "0.12.0" resolved "https://codeload.github.com/luggit/react-native-config/tar.gz/cf8ab95350a227d1a932fec7a920df562b3e9ae5" +react-native-crypto@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-native-crypto/-/react-native-crypto-2.2.0.tgz#c999ed7c96064f830e1f958687f53d0c44025770" + integrity sha512-eZu9Y8pa8BN9FU2pIex7MLRAi+Cd1Y6bsxfiufKh7sfraAACJvjQTeW7/zcQAT93WMfM+D0OVk+bubvkrbrUkw== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.4" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "3.0.8" + public-encrypt "^4.0.0" + randomfill "^1.0.3" + react-native-dark-mode@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/react-native-dark-mode/-/react-native-dark-mode-0.2.2.tgz#4faa335e36330bfca832ba8b3d2bd84c7b880381" @@ -7390,6 +7713,22 @@ react-native-navigation-bar-color@^1.0.0: resolved "https://registry.yarnpkg.com/react-native-navigation-bar-color/-/react-native-navigation-bar-color-1.0.0.tgz#04ff752a58049af93ceea9ccf266b8d3fbc6514a" integrity sha512-djBE0zSp+JT65VeUm4UpIpr9DA9SpE9YTLwDAcqkWfB9JI8l3djSx+SmrIYfc7dUs216Y6qo2dr0qR3+M5qbOQ== +react-native-qrcode-svg@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/react-native-qrcode-svg/-/react-native-qrcode-svg-6.0.3.tgz#27b6a7a1df02c5bf10796fd97e8b55c0044dc0f8" + integrity sha512-Zag+k0TEkRQ5jwGaidXvwCB4PXvxeeTr0OrQbXPRGvSohshRaNmsv2q7ib1FYdvvDeOygWOA5XdgmOH9D8xdAA== + dependencies: + prop-types "^15.5.10" + qrcode "1.2.0" + +react-native-randombytes@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/react-native-randombytes/-/react-native-randombytes-3.5.3.tgz#b3bdcd11473cce106551a586244b98855e443cd1" + integrity sha512-n/7QwMrRJxHr+/3mt2KxqqacGylM+ssW+FfBTgXGzvwq5KzSohooEWf6Z6MTSByuJ/izP9VbSPtwomPwzvupKQ== + dependencies: + buffer "^4.9.1" + sjcl "^1.0.3" + react-native-reanimated@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.4.0.tgz#7f1acbf9be08492d834f512700570978052be2f9" @@ -7651,6 +7990,16 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" +readable-stream@^1.0.27-1: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readable-stream@^2.0.1, readable-stream@^2.2.2, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" @@ -7673,6 +8022,15 @@ readable-stream@^3.1.1: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -7762,6 +8120,14 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp.prototype.flags@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + regexpp@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" @@ -7953,7 +8319,7 @@ rimraf@2.6.3, rimraf@~2.6.2: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.3: +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -7981,6 +8347,21 @@ rn-fetch-blob@^0.12.0: base-64 "0.1.0" glob "7.0.6" +rn-nodeify@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/rn-nodeify/-/rn-nodeify-10.2.0.tgz#e68843bf280edf878b7615b255fb5e71cde9f8f6" + integrity sha512-mPNe2vNR14UTwAbpebI9fXn9HAU37vebyZDCqZOK6G5GBEUiMCANIVa7zgc9aJ1JeziLUGLR9c+H9/BSbVdd4Q== + dependencies: + "@yarnpkg/lockfile" "^1.0.0" + deep-equal "^1.0.0" + findit "^2.0.0" + fs-extra "^0.22.1" + minimist "^1.1.2" + object.pick "^1.1.1" + run-parallel "^1.1.2" + semver "^5.0.1" + xtend "^4.0.0" + rn-placeholder@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/rn-placeholder/-/rn-placeholder-1.3.3.tgz#205067c1a2f08bcdfe09971b0c48b46afcd9c952" @@ -8005,6 +8386,11 @@ run-node@^1.0.0: resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== +run-parallel@^1.1.2: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + rx-lite-aggregates@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" @@ -8036,7 +8422,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== @@ -8116,7 +8502,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -8259,6 +8645,11 @@ sisteransi@^1.0.3: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== +sjcl@^1.0.3: + version "1.0.8" + resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" + integrity sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ== + slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -8489,6 +8880,14 @@ steemconnect@^3.0.4: cross-fetch "^3.0.1" steem-uri "^0.1.1" +stream-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-1.0.0.tgz#bf9b4abfb42b274d751479e44e0ff2656b6f1193" + integrity sha1-v5tKv7QrJ011FHnkTg/yZWtvEZM= + dependencies: + inherits "~2.0.1" + readable-stream "^1.0.27-1" + stream-buffers@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" @@ -8568,6 +8967,11 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -8727,6 +9131,17 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= +tiny-secp256k1@^1.1.1, tiny-secp256k1@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.3.tgz#e93b1e1bf62e9bd1ad3ab24af27ff6127ce0e077" + integrity sha512-ZpobrhOtHP98VYEN51IYQH1YcrbFpnxFhI6ceWa3OEbJn7eHvSd8YFjGPxbedGCy7PNYU1v/+BRsdvyr5uRd4g== + dependencies: + bindings "^1.3.0" + bn.js "^4.11.8" + create-hmac "^1.1.7" + elliptic "^6.4.0" + nan "^2.13.2" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -8853,6 +9268,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typeforce@^1.11.3, typeforce@^1.11.5: + version "1.18.0" + resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" + integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== + typescript-eslint-parser@^16.0.0: version "16.0.1" resolved "https://registry.yarnpkg.com/typescript-eslint-parser/-/typescript-eslint-parser-16.0.1.tgz#b40681c7043b222b9772748b700a000b241c031b" @@ -8994,6 +9414,13 @@ util.promisify@^1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + util@^0.10.3: version "0.10.4" resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" @@ -9019,6 +9446,13 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +varuint-bitcoin@^1.0.4: + version "1.1.2" + resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92" + integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw== + dependencies: + safe-buffer "^5.1.1" + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -9038,6 +9472,13 @@ vlq@^1.0.0: resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468" integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= + dependencies: + indexof "0.0.1" + vue-eslint-parser@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1" @@ -9130,6 +9571,18 @@ which@^1.2.10, which@^1.2.9, which@^1.3.0: dependencies: isexe "^2.0.0" +wif@^2.0.1, wif@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" + integrity sha1-CNP1IFbGZnkplyb63g1DKudLRwQ= + dependencies: + bs58check "<3.0.0" + +window-or-global@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/window-or-global/-/window-or-global-1.0.1.tgz#dbe45ba2a291aabc56d62cf66c45b7fa322946de" + integrity sha1-2+RboqKRqrxW1iz2bEW3+jIpRt4= + word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -9266,7 +9719,7 @@ xpipe@^1.0.5: resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98= -xtend@^4.0.1, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -9348,6 +9801,25 @@ yargs@^13.2.2, yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yargs@^9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c"