aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rpc.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rpc.js')
-rw-r--r--lib/rpc.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/rpc.js b/lib/rpc.js
new file mode 100644
index 00000000..b8a2d0dd
--- /dev/null
+++ b/lib/rpc.js
@@ -0,0 +1,26 @@
+import got from "got";
+
+export default ({ host, port, wallet, username, password }) =>
+ new Proxy(
+ {},
+ {
+ get: (target, prop) => (...params) =>
+ ((method, ...params) => {
+ let url = `http://${host}:${port}/wallet/${wallet}`;
+ return got
+ .post(url, {
+ json: {
+ method,
+ params
+ },
+ headers: {
+ authorization: `Basic ${Buffer.from(
+ `${username}:${password}`
+ ).toString("base64")}`
+ }
+ })
+ .json()
+ .then(({ result }) => result);
+ })(prop.toLowerCase(), ...params)
+ }
+ );