UNPKG

dogecoin-gatewayd-plugin

Version:

Three unix processes designed to automate the integration between a ripple gateway using gatewayd and a dogecoind server.

72 lines (63 loc) 2.41 kB
// Generated by CoffeeScript 1.7.1 var config, getNewDogecoinAddress, getNewGatewayAccount, loopAndSetNewGatewayExternalAccount, request, setDogecoinAddress; loopAndSetNewGatewayExternalAccount = function(callback) { return getNewGatewayAccount(function(error, gatewayExternalAccount) { if (error) { console.log("ERROR", error); return callback(callback); } else if (gatewayExternalAccount) { return setDogecoinAddress(gatewayExternalAccount.id, function(error, gatewayExternalAccount) { if (error) { callback(callback); return console.log("ERROR", error); } else { console.log("UPDATED", gatewayExternalAccount); return callback(callback); } }); } else { return callback(callback); } }); }; getNewGatewayAccount = function(callback) { return request.get(config.get("gatewaydDomain") + "/v1/external_accounts?name=default").auth(config.get("adminEmail"), config.get("apiKey")).end(function(error, response) { var account; if (error) { return callback(error, null); } else { try { account = response.body.external_accounts[0]; return callback(null, account); } catch (_error) { error = _error; return callback(error, null); } } }); }; getNewDogecoinAddress = function(callback) { return request.get(config.get("dogecoinExpressDomain") + "/v1/getnewaddress").auth("admin", config.get("dogecoinExpressApiKey")).end(function(error, response) { return callback(error, response.body.address); }); }; setDogecoinAddress = function(externalAccountId, callback) { return getNewDogecoinAddress(function(error, dogecoinAddress) { return request.put(config.get("gatewaydDomain") + "/v1/external_accounts/" + externalAccountId).send({ name: dogecoinAddress }).auth(config.get("adminEmail"), config.get("apiKey")).end(function(error, response) { if (error) { return callback(error, null); } else { console.log(error, response.body); return callback(null, response.body.external_account); } }); }); }; request = require("superagent"); config = require(__dirname + "/config/config.js"); if (process.env.NODE_ENV !== "production") { process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; } loopAndSetNewGatewayExternalAccount(loopAndSetNewGatewayExternalAccount);