UNPKG

dogecoin-gatewayd-plugin

Version:

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

59 lines (50 loc) 1.92 kB
// Generated by CoffeeScript 1.7.1 var DogecoinAddressValidator, RippleToDogecoinBridge; DogecoinAddressValidator = require("" + __dirname + "/dogecoin_address_validator"); RippleToDogecoinBridge = (function() { function RippleToDogecoinBridge(dogecoinAddress, gatewayd) { var error; this.dogecoinAddress = dogecoinAddress; this.gatewayd = gatewayd; if (!this.dogecoinAddress) { error = new Error; error.field = "dogecoinAddress"; error.message = "invalid dogecoin address"; return error; } } RippleToDogecoinBridge.prototype._validateDogecoinAddress = function(callback) { var dogecoinAddressValidator; dogecoinAddressValidator = new DogecoinAddressValidator(this.gatewayd); return dogecoinAddressValidator.validate(this.dogecoinAddress, callback); }; RippleToDogecoinBridge.prototype._getDogecoinAddressRecord = function(callback) { return this.gatewayd.data.models.externalAccounts.findOrCreate({ name: this.dogecoinAddress }).complete(callback); }; RippleToDogecoinBridge.prototype.getRippleAddress = function(callback) { return this._validateDogecoinAddress((function(_this) { return function(error, isvalid) { if (error || !isvalid) { error = new Error; error.field = "dogecoinAddress"; error.message = "invalid dogecoin address"; return callback(error, null); } else { return _this.gatewayd.data.models.externalAccounts.findOrCreate({ name: _this.dogecoinAddress, user_id: 0 }).complete(function(error, externalAccount) { return callback(error, { address: _this.gatewayd.config.get('COLD_WALLET'), tag: externalAccount.id }); }); } }; })(this)); }; return RippleToDogecoinBridge; })(); module.exports = RippleToDogecoinBridge;