wip
This commit is contained in:
parent
6ed22a7c6e
commit
0c2e0ca9b3
|
@ -8,12 +8,13 @@ const createBlockTrackerInspectorMiddleware = require('eth-json-rpc-middleware/b
|
|||
const providerFromMiddleware = require('eth-json-rpc-middleware/providerFromMiddleware')
|
||||
const createPocketMiddleware = require('json-rpc-pocket')
|
||||
const BlockTracker = require('eth-block-tracker')
|
||||
const devid = 'DEVO7QQqPHCK2h3cGXhh2rY'
|
||||
|
||||
module.exports = createPocketClient
|
||||
|
||||
function createPocketClient ({ network }) {
|
||||
const pocketMiddleware = createPocketMiddleware('DEVO7QQqPHCK2h3cGXhh2rY', {
|
||||
netID: getNetworkIds(network).netId,
|
||||
const pocketMiddleware = createPocketMiddleware(devid, {
|
||||
netID: getNetworkIds({ network }).netId,
|
||||
})
|
||||
const pocketProvider = providerFromMiddleware(pocketMiddleware)
|
||||
const blockTracker = new BlockTracker({ provider: pocketProvider })
|
||||
|
@ -34,7 +35,6 @@ function getNetworkIds ({ network }) {
|
|||
let chainId
|
||||
let netId
|
||||
|
||||
console.log(network)
|
||||
switch (network) {
|
||||
case 'mainnet':
|
||||
netId = '1'
|
||||
|
@ -65,7 +65,7 @@ function getNetworkIds ({ network }) {
|
|||
}
|
||||
|
||||
function createNetworkAndChainIdMiddleware ({ network }) {
|
||||
const networkIds = getNetworkIds(network)
|
||||
const networkIds = getNetworkIds({network})
|
||||
|
||||
return createScaffoldMiddleware({
|
||||
eth_chainId: networkIds.chainId,
|
||||
|
|
|
@ -10,7 +10,7 @@ const createMetamaskMiddleware = require('./createMetamaskMiddleware')
|
|||
const createInfuraClient = require('./createInfuraClient')
|
||||
const createJsonRpcClient = require('./createJsonRpcClient')
|
||||
const createLocalhostClient = require('./createLocalhostClient')
|
||||
//const createPocketClient = require('./createPocketClient')
|
||||
const createPocketClient = require('./createPocketClient')
|
||||
const { createSwappableProxy, createEventEmitterProxy } = require('swappable-obj-proxy')
|
||||
const ethNetProps = require('eth-net-props')
|
||||
const parse = require('url-parse')
|
||||
|
@ -56,7 +56,8 @@ module.exports = class NetworkController extends EventEmitter {
|
|||
// create stores
|
||||
this.providerStore = new ObservableStore(providerConfig)
|
||||
this.networkStore = new ObservableStore('loading')
|
||||
this.store = new ComposedStore({ provider: this.providerStore, network: this.networkStore, dProvider: false })
|
||||
this.dProviderStore = new ObservableStore({dProvider: false})
|
||||
this.store = new ComposedStore({ provider: this.providerStore, network: this.networkStore, dProviderStore: this.dProviderStore })
|
||||
this.on('networkDidChange', this.lookupNetwork)
|
||||
// provider and block tracker
|
||||
this._provider = null
|
||||
|
@ -154,12 +155,13 @@ module.exports = class NetworkController extends EventEmitter {
|
|||
}
|
||||
|
||||
getDProvider(){
|
||||
return this.store.getState().dProvider
|
||||
return this.dProviderStore.getState().dProvider
|
||||
}
|
||||
|
||||
setDProvider(key){
|
||||
this.store.updateState({
|
||||
dProvider: key
|
||||
console.log("UPDATING STATE TO " + key)
|
||||
this.dProviderStore.updateState({
|
||||
dProvider: key,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -178,11 +180,10 @@ module.exports = class NetworkController extends EventEmitter {
|
|||
// infura type-based endpoints
|
||||
const isInfura = INFURA_PROVIDER_TYPES.includes(type)
|
||||
if (isInfura) {
|
||||
if (this.store.dProvider) {
|
||||
// log.debug("IS POCKET")
|
||||
console.log(this.dProviderStore.getState())
|
||||
if (this.dProviderStore.getState().dProvider) {
|
||||
this._configurePocketProvider(opts)
|
||||
} else {
|
||||
// log.debug("IS INFURA")
|
||||
this._configureInfuraProvider(opts)
|
||||
}
|
||||
// other type-based rpc endpoints
|
||||
|
@ -218,8 +219,7 @@ module.exports = class NetworkController extends EventEmitter {
|
|||
|
||||
_configurePocketProvider ({ type }) {
|
||||
log.info('NetworkController - configurePocketProvider', type)
|
||||
//const networkClient = createPocketClient({ network: type })
|
||||
const networkClient = createInfuraClient({ network: type })
|
||||
const networkClient = createPocketClient({ network: type })
|
||||
this._setNetworkClient(networkClient)
|
||||
// setup networkConfig
|
||||
var settings = {
|
||||
|
|
|
@ -1757,6 +1757,7 @@ module.exports = class MetamaskController extends EventEmitter {
|
|||
* @param {Function} cb - A callback function called when complete.
|
||||
*/
|
||||
setDProvider (key, cb) {
|
||||
console.log("SETDPROVIDER CALLED ON METAMASK CONTROLLER" + key)
|
||||
try {
|
||||
this.networkController.setDProvider(key)
|
||||
cb(null)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const inherits = require('util').inherits
|
||||
const Component = require('react').Component
|
||||
const h = require('react-hyperscript')
|
||||
const connect = require('react-redux').connect
|
||||
import PropTypes from 'prop-types'
|
||||
const actions = require('../../ui/app/actions')
|
||||
const LoadingIndicator = require('./components/loading')
|
||||
const Web3 = require('web3')
|
||||
|
@ -14,22 +14,18 @@ const Modal = require('../../ui/app/components/modals/index').Modal
|
|||
const ethNetProps = require('eth-net-props')
|
||||
const { networks } = require('../../app/scripts/controllers/network/util')
|
||||
|
||||
class ConfigScreen extends Component {
|
||||
module.exports = connect(mapStateToProps)(ConfigScreen)
|
||||
|
||||
constructor (props) {
|
||||
super(props)
|
||||
this.state = {
|
||||
loading: false,
|
||||
}
|
||||
function mapStateToProps (state) {
|
||||
return {
|
||||
metamask: state.metamask,
|
||||
warning: state.appState.warning,
|
||||
}
|
||||
}
|
||||
|
||||
<<<<<<< ef400f8d291b983ac5a95bb2d4a3287dae588f76
|
||||
static propTypes = {
|
||||
dispatch: PropTypes.func,
|
||||
=======
|
||||
inherits(ConfigScreen, Component)
|
||||
function ConfigScreen (props) {
|
||||
if (props.metamask.dProvider){
|
||||
if (props.metamask.dProviderStore.dProvider){
|
||||
this.state = {
|
||||
loading: false,
|
||||
provider: "Decentralized"
|
||||
|
@ -39,10 +35,11 @@ function ConfigScreen (props) {
|
|||
loading: false,
|
||||
provider: "Centralized"
|
||||
}
|
||||
>>>>>>> wip
|
||||
}
|
||||
Component.call(this)
|
||||
}
|
||||
|
||||
render () {
|
||||
ConfigScreen.prototype.render = function () {
|
||||
const state = this.props
|
||||
const metamaskState = state.metamask
|
||||
const warning = state.warning
|
||||
|
@ -96,9 +93,8 @@ function ConfigScreen (props) {
|
|||
},
|
||||
}, [
|
||||
|
||||
this.currentProviderDisplay(metamaskState, state),
|
||||
currentProviderDisplay(metamaskState, state),
|
||||
|
||||
<<<<<<< ef400f8d291b983ac5a95bb2d4a3287dae588f76
|
||||
h('div', { style: {display: 'flex'} }, [
|
||||
h('input#new_rpc', {
|
||||
placeholder: 'New RPC URL',
|
||||
|
@ -135,49 +131,13 @@ function ConfigScreen (props) {
|
|||
|
||||
h('hr.horizontal-line'),
|
||||
|
||||
this.currentConversionInformation(metamaskState, state),
|
||||
currentConversionInformation(metamaskState, state),
|
||||
|
||||
h('hr.horizontal-line', {
|
||||
style: {
|
||||
marginTop: '20px',
|
||||
},
|
||||
}),
|
||||
=======
|
||||
// POCKET NETWORK UI CHANGES START
|
||||
h('p', {
|
||||
style: {
|
||||
fontFamily: 'Nunito Regular',
|
||||
fontSize: '14px',
|
||||
lineHeight: '18px',
|
||||
},
|
||||
}, [
|
||||
'Choose Pocket Nework for a decentralized blockchain provider for applicable networks',
|
||||
]),
|
||||
|
||||
h('button', {
|
||||
style: {
|
||||
alignSelf: 'center',
|
||||
marginTop: '20px',
|
||||
},
|
||||
onClick: (event) => {
|
||||
event.preventDefault()
|
||||
this.toggleProvider()
|
||||
},
|
||||
}, this.state.provider),
|
||||
|
||||
h('hr.horizontal-line', {
|
||||
style: {
|
||||
marginTop: '20px',
|
||||
},
|
||||
}),
|
||||
// POCKET NETWORK UI CHANGES END
|
||||
|
||||
h('div', {
|
||||
style: {
|
||||
marginTop: '20px',
|
||||
},
|
||||
}, [
|
||||
>>>>>>> wip
|
||||
|
||||
h('div', {
|
||||
style: {
|
||||
|
@ -235,12 +195,37 @@ function ConfigScreen (props) {
|
|||
marginTop: '20px',
|
||||
},
|
||||
}),
|
||||
<<<<<<< ef400f8d291b983ac5a95bb2d4a3287dae588f76
|
||||
|
||||
// POCKET NETWORK UI CHANGES START
|
||||
h('p', {
|
||||
style: {
|
||||
fontFamily: 'Nunito Regular',
|
||||
fontSize: '14px',
|
||||
lineHeight: '18px',
|
||||
},
|
||||
}, [
|
||||
'Choose Pocket Nework for a decentralized blockchain provider for applicable networks',
|
||||
]),
|
||||
|
||||
h('button', {
|
||||
style: {
|
||||
alignSelf: 'center',
|
||||
marginTop: '20px',
|
||||
},
|
||||
onClick: (event) => {
|
||||
event.preventDefault()
|
||||
this.toggleProvider()
|
||||
},
|
||||
}, this.state.provider),
|
||||
|
||||
h('hr.horizontal-line', {
|
||||
style: {
|
||||
marginTop: '20px',
|
||||
},
|
||||
}),
|
||||
// POCKET NETWORK UI CHANGES END
|
||||
|
||||
h('div', {
|
||||
=======
|
||||
h('button', {
|
||||
>>>>>>> wip
|
||||
style: {
|
||||
marginTop: '20px',
|
||||
},
|
||||
|
@ -272,7 +257,6 @@ function ConfigScreen (props) {
|
|||
marginTop: '20px',
|
||||
},
|
||||
}),
|
||||
|
||||
h('button', {
|
||||
style: {
|
||||
alignSelf: 'center',
|
||||
|
@ -287,34 +271,31 @@ function ConfigScreen (props) {
|
|||
]),
|
||||
])
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
<<<<<<< ef400f8d291b983ac5a95bb2d4a3287dae588f76
|
||||
componentWillUnmount () {
|
||||
this.props.dispatch(actions.displayWarning(''))
|
||||
}
|
||||
=======
|
||||
ConfigScreen.prototype.toggleProvider = function (){
|
||||
// console.log(this)
|
||||
console.log(this)
|
||||
console.log(this.props.metamask.provider.type)
|
||||
if (this.state.provider == "Centralized"){
|
||||
this.setState({
|
||||
provider: "Decentralized"
|
||||
})
|
||||
this.props.dispatch(actions.setDProvider(true))
|
||||
this.props.dispatch(actions.setProviderType(this.props.metamask.provider.type))
|
||||
} else {
|
||||
this.setState({
|
||||
provider: "Centralized"
|
||||
})
|
||||
this.props.dispatch(actions.setDProvider(false))
|
||||
this.props.dispatch(actions.setProviderType(this.props.metamask.provider.type))
|
||||
}
|
||||
}
|
||||
|
||||
ConfigScreen.prototype.componentWillUnmount = function () {
|
||||
this.props.dispatch(actions.displayWarning(''))
|
||||
}
|
||||
>>>>>>> wip
|
||||
|
||||
rpcValidation (newRpc, state) {
|
||||
ConfigScreen.prototype.rpcValidation = function (newRpc, state) {
|
||||
if (validUrl.isWebUri(newRpc)) {
|
||||
this.setState({
|
||||
loading: true,
|
||||
|
@ -337,9 +318,9 @@ ConfigScreen.prototype.componentWillUnmount = function () {
|
|||
state.dispatch(actions.displayWarning('Invalid RPC URI'))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
currentConversionInformation (metamaskState, state) {
|
||||
function currentConversionInformation (metamaskState, state) {
|
||||
const currentCurrency = metamaskState.currentCurrency
|
||||
const conversionDate = metamaskState.conversionDate
|
||||
return h('div', [
|
||||
|
@ -358,9 +339,9 @@ ConfigScreen.prototype.componentWillUnmount = function () {
|
|||
})
|
||||
),
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
currentProviderDisplay (metamaskState, state) {
|
||||
function currentProviderDisplay (metamaskState, state) {
|
||||
const provider = metamaskState.provider
|
||||
let title, value
|
||||
|
||||
|
@ -382,15 +363,4 @@ ConfigScreen.prototype.componentWillUnmount = function () {
|
|||
},
|
||||
}, 'Delete'),
|
||||
])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function mapStateToProps (state) {
|
||||
return {
|
||||
metamask: state.metamask,
|
||||
warning: state.appState.warning,
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = connect(mapStateToProps)(ConfigScreen)
|
||||
|
|
|
@ -2652,10 +2652,20 @@ function updateCurrentLocale (key) {
|
|||
}
|
||||
}
|
||||
|
||||
function setDProvider(key){
|
||||
return {
|
||||
function setDProvider (val) {
|
||||
return (dispatch) => {
|
||||
dispatch(actions.showLoadingIndication())
|
||||
log.debug(`background.setDProvider`)
|
||||
background.setDProvider(val, (err) => {
|
||||
dispatch(actions.hideLoadingIndication())
|
||||
if (err) {
|
||||
return dispatch(actions.displayWarning(err.message))
|
||||
}
|
||||
})
|
||||
dispatch({
|
||||
type: actions.SET_DPROVIDER,
|
||||
value: key,
|
||||
value: val,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -356,7 +356,9 @@ function reduceMetamask (state, action) {
|
|||
|
||||
case actions.SET_DPROVIDER:
|
||||
return extend(metamaskState, {
|
||||
dProvider: action.value
|
||||
dProviderStore: {
|
||||
dProvider : action.value,
|
||||
},
|
||||
})
|
||||
|
||||
case actions.SET_CURRENT_LOCALE:
|
||||
|
|
Loading…
Reference in New Issue