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
JavaScript
// 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;