add connect to blockchain and make dapp call it
This commit is contained in:
parent
d5ef560e3c
commit
519763453d
|
@ -1,9 +1,51 @@
|
||||||
/*global ethereum*/
|
/*global ethereum*/
|
||||||
import {reduce} from './async';
|
import {reduce} from './async';
|
||||||
|
|
||||||
let Blockchain = {};
|
let Blockchain = {
|
||||||
|
list: [],
|
||||||
|
done: false,
|
||||||
|
err: null
|
||||||
|
};
|
||||||
let contracts = [];
|
let contracts = [];
|
||||||
|
|
||||||
|
Blockchain.connect = function({dappConnection, dappAutoEnable = true, warnAboutMetamask, blockchainClient = ''}, cb = () => {}) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
this.whenEnvIsLoaded(() => {
|
||||||
|
this.doFirst((done) => {
|
||||||
|
this.autoEnable = dappAutoEnable;
|
||||||
|
this.doConnect(dappConnection, {
|
||||||
|
warnAboutMetamask: warnAboutMetamask,
|
||||||
|
blockchainClient: blockchainClient
|
||||||
|
}, (err) => {
|
||||||
|
cb(err);
|
||||||
|
done(err);
|
||||||
|
if (err) {
|
||||||
|
return reject(err);
|
||||||
|
}
|
||||||
|
resolve(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
Blockchain.doFirst = function(todo) {
|
||||||
|
todo((err) => {
|
||||||
|
this.done = true;
|
||||||
|
this.err = err;
|
||||||
|
this.list.map((x) => x.apply(x, [self.err]));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Blockchain.whenEnvIsLoaded = function(cb) {
|
||||||
|
if (typeof document !== 'undefined' && document !== null && !(/comp|inter|loaded/).test(document.readyState)) {
|
||||||
|
document.addEventListener('DOMContentLoaded', cb);
|
||||||
|
} else {
|
||||||
|
cb();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
Blockchain.Providers = {};
|
Blockchain.Providers = {};
|
||||||
|
|
||||||
Blockchain.registerProvider = function(providerName, obj) {
|
Blockchain.registerProvider = function(providerName, obj) {
|
||||||
|
@ -24,7 +66,7 @@ Blockchain.setProvider = function(providerName, options) {
|
||||||
provider.init(options);
|
provider.init(options);
|
||||||
};
|
};
|
||||||
|
|
||||||
Blockchain.connect = function(connectionList, opts, doneCb) {
|
Blockchain.doConnect = function(connectionList, opts, doneCb) {
|
||||||
const self = this;
|
const self = this;
|
||||||
|
|
||||||
const checkConnect = (next) => {
|
const checkConnect = (next) => {
|
||||||
|
|
Loading…
Reference in New Issue