/ src / common / blockchain / index.js
index.js
 1  import utils from './utils'
 2  import EmbarkJS from '../../embarkArtifacts/embarkjs'
 3  
 4  import SNTService from './services/snt-service/snt-service'
 5  import DiscoverService from './services/discover-service/discover-service'
 6  
 7  const initServices = function() {
 8    const sharedContext = {
 9      account: '0x0000000000000000000000000000000000000000',
10    }
11  
12    sharedContext.SNTService = new SNTService(sharedContext)
13    sharedContext.DiscoverService = new DiscoverService(sharedContext)
14  
15    return {
16      SNTService: sharedContext.SNTService,
17      DiscoverService: sharedContext.DiscoverService,
18      utils,
19    }
20  }
21  
22  const getInstance = async () => {
23    return new Promise((resolve, reject) => {
24      const returnInstance = () => {
25        try {
26          const services = initServices()
27          resolve(services)
28        } catch (error) {
29          reject(error.message)
30        }
31      }
32  
33      EmbarkJS.onReady(err => {
34        if (err) reject(err)
35  
36        returnInstance()
37      })
38    })
39  }
40  
41  export default { getInstance, utils }