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:
Jaco Greeff
2017-07-28 10:25:34 +02:00
committed by GitHub
parent 5830767273
commit a1b8fabd99
782 changed files with 530 additions and 64912 deletions

View File

@@ -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);