forked from MetaMask/web3-provider-engine
/
ipc.js
39 lines (37 loc) · 1.15 KB
/
ipc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const test = require('tape')
const ProviderEngine = require('../../index.js')
const createPayload = require('../../util/create-payload.js')
const IpcSubprovider = require('../../subproviders/ipc')
const socketPath = process.argv[2]; // e.g. '/root/.ethereum/geth.ipc'
test('ipc personal_listAccounts', function(t) {
t.plan(3)
var engine = new ProviderEngine()
var ipc = new IpcSubprovider({ipcPath : socketPath});
engine.addProvider(ipc)
engine.start()
engine.sendAsync(createPayload({
method: 'personal_listAccounts',
params: [],
}), function(err, response){
t.ifError(err, 'throw no error')
t.ok(response, 'has response')
t.equal(typeof response.result[0], 'string')
t.end()
})
})
test('ipc personal_newAccount', function(t) {
t.plan(3)
var engine = new ProviderEngine()
var ipc = new IpcSubprovider({ipcPath : socketPath});
engine.addProvider(ipc)
engine.start()
engine.sendAsync(createPayload({
method: 'personal_newAccount',
params: ['test'],
}), function(err, response){
t.ifError(err, 'throw no error')
t.ok(response, 'has response')
t.equal(response.result.length, 42);
t.end()
})
})