Skip to content

Commit

Permalink
Fix wallet_scanQRCode rpc method (#1758)
Browse files Browse the repository at this point in the history
* browser tab: fix wallet_scanQRCode rpc method: wrap in a promise

* BrowserTab: implement regex for scanQRCode

* BrowserTab: return promise in wallet_scanQRCode
  • Loading branch information
EtDu authored Sep 22, 2020
1 parent 7955e4a commit a152901
Showing 1 changed file with 23 additions and 16 deletions.
39 changes: 23 additions & 16 deletions app/components/Views/BrowserTab/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -639,22 +639,30 @@ export class BrowserTab extends PureComponent {
res.result = `MetaMask/${this.props.app_version}/Beta/Mobile`;
},

wallet_scanQRCode: async () => {
this.props.navigation.navigate('QRScanner', {
onScanSuccess: data => {
let result = data;
if (data.target_address) {
result = data.target_address;
} else if (data.scheme) {
result = JSON.stringify(data);
wallet_scanQRCode: () =>
new Promise((resolve, reject) => {
this.props.navigation.navigate('QRScanner', {
onScanSuccess: data => {
const regex = new RegExp(req.params[0]);
if (regex && !regex.exec(data)) {
reject({ message: 'NO_REGEX_MATCH', data });
} else if (!regex && !/^(0x){1}[0-9a-fA-F]{40}$/i.exec(data.target_address)) {
reject({ message: 'INVALID_ETHEREUM_ADDRESS', data: data.target_address });
}
let result = data;
if (data.target_address) {
result = data.target_address;
} else if (data.scheme) {
result = JSON.stringify(data);
}
res.result = result;
resolve();
},
onScanError: e => {
throw ethErrors.rpc.internal(e.toString());
}
res.result = result;
},
onScanError: e => {
throw ethErrors.rpc.internal(e.toString());
}
});
},
});
}),

wallet_watchAsset: async () => {
const {
Expand All @@ -674,7 +682,6 @@ export class BrowserTab extends PureComponent {
if (!this.isHomepage()) {
throw ethErrors.provider.unauthorized('Forbidden.');
}

Alert.alert(strings('browser.remove_bookmark_title'), strings('browser.remove_bookmark_msg'), [
{
text: strings('browser.cancel'),
Expand Down

0 comments on commit a152901

Please sign in to comment.