init
This commit is contained in:
58
numbergame/src/store/index.js
Normal file
58
numbergame/src/store/index.js
Normal file
@@ -0,0 +1,58 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import state from './state'
|
||||
import getWeb3 from '../network/getWeb3'
|
||||
import pollWeb3 from '../network/pollWeb3'
|
||||
import getContract from '../network/getContract'
|
||||
|
||||
Vue.use(Vuex)
|
||||
export const store = new Vuex.Store({
|
||||
strict: true,
|
||||
state,
|
||||
mutations: {
|
||||
registerWeb3Instance (state, data) {
|
||||
console.log('registerWeb3instance', data)
|
||||
const result = data
|
||||
let newWeb3 = state.web3
|
||||
newWeb3.coinbase = result.coinbase
|
||||
newWeb3.networkId = result.networkId
|
||||
newWeb3.balance = parseInt(result.balance, 10)
|
||||
newWeb3.isInjected = result.injectedWeb3
|
||||
newWeb3.web3Instance = result.web3
|
||||
state.web3 = newWeb3
|
||||
pollWeb3()
|
||||
},
|
||||
|
||||
updateWeb3Instance (state, data) {
|
||||
console.log('updateWeb3Instance', data)
|
||||
state.web3.coinbase = data.coinbase
|
||||
state.web3.balance = parseInt(data.balance, 10)
|
||||
},
|
||||
|
||||
registerContractInstance (state, data) {
|
||||
console.log('contract instance: ', data)
|
||||
state.contractInstance = () => data
|
||||
}
|
||||
|
||||
},
|
||||
actions: {
|
||||
registerWeb3 ({commit}) {
|
||||
getWeb3.then(result => {
|
||||
console.log('commit result')
|
||||
commit('registerWeb3Instance', result)
|
||||
}).catch(e => {
|
||||
console.error('error', e)
|
||||
})
|
||||
},
|
||||
|
||||
updateWeb3 ({commit}, data) {
|
||||
commit('updateWeb3Instance', data)
|
||||
},
|
||||
|
||||
getContractInstance ({commit}) {
|
||||
getContract.then(result => {
|
||||
commit('registerContractInstance', result)
|
||||
}).catch(e => console.log(e))
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user