aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rpc.js
blob: 9186f4cde72163bc87a1e014ea2fc119b7d8013d (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
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)
    }
  );