@colony/colony-js-client
Version:
Reference implementation of the Colony API
184 lines (140 loc) • 5.93 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _DomainAuth2 = require('./DomainAuth');
var _DomainAuth3 = _interopRequireDefault(_DomainAuth2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var MakePayment = function (_DomainAuth) {
(0, _inherits3.default)(MakePayment, _DomainAuth);
function MakePayment() {
(0, _classCallCheck3.default)(this, MakePayment);
return (0, _possibleConstructorReturn3.default)(this, (MakePayment.__proto__ || Object.getPrototypeOf(MakePayment)).apply(this, arguments));
}
(0, _createClass3.default)(MakePayment, [{
key: 'estimate',
value: function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(inputValues) {
var inputValuesWithDefaults, proofs, contract, args;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (this.client.networkClient && this.client.networkClient.getParentSkillId && this.client.hasColonyRole) {
_context.next = 2;
break;
}
throw new Error('Client not compatible with DomainAuth sender');
case 2:
// combine with default values
inputValuesWithDefaults = (0, _extends3.default)({}, this.defaultValues || {}, inputValues);
// get proof input values
_context.next = 5;
return this.getPermissionProofs(inputValuesWithDefaults);
case 5:
proofs = _context.sent;
_context.next = 8;
return this._getContract();
case 8:
contract = _context.sent;
args = this.getValidatedArgs((0, _extends3.default)({}, inputValuesWithDefaults, proofs));
return _context.abrupt('return', contract.callEstimate('makePayment', args));
case 11:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function estimate(_x) {
return _ref.apply(this, arguments);
}
return estimate;
}()
}, {
key: '_sendTransaction',
value: function () {
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(args, options) {
var contract;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this._getContract();
case 2:
contract = _context2.sent;
return _context2.abrupt('return', contract.sendTransaction('makePayment', args, options));
case 4:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
function _sendTransaction(_x2, _x3) {
return _ref2.apply(this, arguments);
}
return _sendTransaction;
}()
}, {
key: '_getContract',
value: function () {
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {
var factoryContract, contractAddress;
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this.client.adapter.getContract({
contractName: 'OneTxPaymentFactory'
});
case 2:
factoryContract = _context3.sent;
_context3.next = 5;
return factoryContract.callConstant('deployedExtensions', [this.client.contract.address]);
case 5:
contractAddress = _context3.sent;
if (contractAddress) {
_context3.next = 8;
break;
}
throw new Error('OneTxPayment not deployed for this Colony');
case 8:
return _context3.abrupt('return', this.client.adapter.getContract({
contractAddress: contractAddress,
contractName: 'OneTxPayment'
}));
case 9:
case 'end':
return _context3.stop();
}
}
}, _callee3, this);
}));
function _getContract() {
return _ref3.apply(this, arguments);
}
return _getContract;
}()
}]);
return MakePayment;
}(_DomainAuth3.default);
/* eslint-disable import/no-cycle */
exports.default = MakePayment;
//# sourceMappingURL=MakePayment.js.map