* QR code scanning in-place * QrScan component * Update tests * s/store/createStore/ in props * Create of actual accountsInfo entry * Exteral/hardware forget, no password change * Add external accounts to accounts list * Render external accounts in section (along with hw) * Manul test bugfixes * Display Qr code for tx signing * Align QR code * Hints for QR operations * Generate actual qr codes based on tx data * Add leading 0x if not found * Update tests for 0x leading addition * from & rpl without leading 0x * Auto-detect QR code size (input length) * Confirm raw * WIP (lots of logging) * WIP * Chain-replay protection * Readability * Re-add r: chainId * s = 0, r = 0, v = chainId * Update eth_signTransaction to send transaction object * And it actually works. * Externalise createUnsigned/createSigned * Check for nonce updates (future: subscriptions) * Allow gas overrides * Expose formatted condition * Extract calculation (cap at 40) * Remove debug log * Fix rename linting * Allow for signing hash & rlp (App support forthcoming) * WIP * User original qrcode-generator package * Complete hash + rlp signing * Accurate QR code size calculation * Simplify type calculation * R-eactivate current mobile interface (TODO for new) * Move napa to dep * Allow external accounts visibility in dapps * Allow napa install on CI * Allow new signTransaction & signTransactionHash functionality
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Copyright 2015-2017 Parity Technologies (UK) Ltd.
 | 
						|
// This file is part of Parity.
 | 
						|
 | 
						|
// Parity is free software: you can redistribute it and/or modify
 | 
						|
// it under the terms of the GNU General Public License as published by
 | 
						|
// the Free Software Foundation, either version 3 of the License, or
 | 
						|
// (at your option) any later version.
 | 
						|
 | 
						|
// Parity is distributed in the hope that it will be useful,
 | 
						|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
// GNU General Public License for more details.
 | 
						|
 | 
						|
// You should have received a copy of the GNU General Public License
 | 
						|
// along with Parity.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
 | 
						|
import 'isomorphic-fetch';
 | 
						|
import 'mock-local-storage';
 | 
						|
 | 
						|
import es6Promise from 'es6-promise';
 | 
						|
es6Promise.polyfill();
 | 
						|
 | 
						|
import injectTapEventPlugin from 'react-tap-event-plugin';
 | 
						|
injectTapEventPlugin();
 | 
						|
 | 
						|
import chai from 'chai';
 | 
						|
import chaiAsPromised from 'chai-as-promised';
 | 
						|
import chaiEnzyme from 'chai-enzyme';
 | 
						|
import 'sinon-as-promised';
 | 
						|
import sinonChai from 'sinon-chai';
 | 
						|
import { WebSocket } from 'mock-socket';
 | 
						|
import jsdom from 'jsdom';
 | 
						|
 | 
						|
chai.use(chaiAsPromised);
 | 
						|
chai.use(chaiEnzyme());
 | 
						|
chai.use(sinonChai);
 | 
						|
 | 
						|
// expose expect to global so we won't have to manually import & define it in every test
 | 
						|
global.expect = chai.expect;
 | 
						|
global.WebSocket = WebSocket;
 | 
						|
 | 
						|
// setup jsdom
 | 
						|
global.document = jsdom.jsdom('<!doctype html><html><body></body></html>');
 | 
						|
global.window = document.defaultView;
 | 
						|
global.navigator = global.window.navigator;
 | 
						|
global.location = global.window.location;
 | 
						|
global.Blob = () => {};
 | 
						|
 | 
						|
// attach mocked localStorage onto the window as exposed by jsdom
 | 
						|
global.window.localStorage = global.localStorage;
 | 
						|
 | 
						|
module.exports = {};
 |