Ui 2 packages (#6169)
* Ensure all internal dapps have package.json * Update compilation rules # Conflicts: # js/src/redux/providers/balancesActions.js # js/src/ui/Form/TypedInput/typedInput.js * Remove SignerIcon * Cleanup providers * Enable request of new token from app * Queue when no token (yet) * Add location & token request * Cleanup send logic * Request token * Request comms token * Remove yarn.lock (not updated) * Update version to 1.99.99 (publish prepare) * Move jsonrpc to seperate repo * Update jsonrpc references * Update repo info * Update repo info * Additional debugging * Update repo references * Move ABI to js-abi repo * Move webWorker to shared * Fix package reference * Worker location * Move js-ui & js-shared components * Update file references * Update package repo locations * Remove debugging info * Cleanup debug * Split api into own repo * Update api local references * Update app loading * Update dependencies * Allow serving of /parity-utils * Error when EthereumProvider has not been attached * Use inject.js * Correct appId retrieval
This commit is contained in:
@@ -14,5 +14,74 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import './parity';
|
||||
import './web3';
|
||||
import 'whatwg-fetch';
|
||||
|
||||
import es6Promise from 'es6-promise';
|
||||
es6Promise.polyfill();
|
||||
|
||||
import Api from '@parity/api';
|
||||
import Web3 from 'web3';
|
||||
|
||||
import web3extensions from './web3.extensions';
|
||||
|
||||
function initProvider () {
|
||||
let [, appId] = window.location.pathname.split('/');
|
||||
|
||||
if (appId.indexOf('.html') !== -1) {
|
||||
appId = appId.replace('.html', '');
|
||||
}
|
||||
|
||||
if (appId.substr(0, 2) !== '0x') {
|
||||
appId = Api.util.sha3(appId);
|
||||
}
|
||||
|
||||
const ethereum = new Api.Provider.PostMessage(appId);
|
||||
|
||||
console.log(`Requesting communications token for ${appId}`);
|
||||
|
||||
ethereum
|
||||
.requestNewToken()
|
||||
.then((tokenId) => {
|
||||
console.log(`Received new communications token ${tokenId}`);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Unable to retrieve communications token', error);
|
||||
});
|
||||
|
||||
window.ethereum = ethereum;
|
||||
|
||||
return ethereum;
|
||||
}
|
||||
|
||||
function initWeb3 (ethereum) {
|
||||
// FIXME: Use standard provider for web3
|
||||
const http = new Web3.providers.HttpProvider('/rpc/');
|
||||
const web3 = new Web3(http);
|
||||
|
||||
// set default account
|
||||
web3.eth.getAccounts((error, accounts) => {
|
||||
if (error || !accounts || !accounts[0]) {
|
||||
return;
|
||||
}
|
||||
|
||||
web3.eth.defaultAccount = accounts[0];
|
||||
});
|
||||
|
||||
web3extensions(web3).map((extension) => web3._extend(extension));
|
||||
|
||||
window.web3 = web3;
|
||||
}
|
||||
|
||||
function initParity (ethereum) {
|
||||
const api = new Api(ethereum);
|
||||
|
||||
window.parity = {
|
||||
Api,
|
||||
api
|
||||
};
|
||||
}
|
||||
|
||||
const ethereum = initProvider();
|
||||
|
||||
initWeb3(ethereum);
|
||||
initParity(ethereum);
|
||||
|
||||
Reference in New Issue
Block a user