aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rpc.js
blob: 3e217c7e96e251b41a85118e2cb2fa00ce88daa1 (plain) (blame)
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
import wretch from "./wretch";

export default ({ host, port, wallet, username, password }) =>
  new Proxy(
    {},
    {
      get: (target, prop) => (...params) =>
        ((method, ...params) => {
          let url = `http://${host}:${port}/wallet/${wallet}`;
          return wretch()
            .url(url)
            .auth(
              `Basic ${Buffer.from(`${username}:${password}`).toString(
                "base64"
              )}`
            )
            .post({
              method,
              params
            })
              .json(({ result }) => result)
        })(prop.toLowerCase(), ...params)
        
    }
  );