UNPKG

@colony/colony-js-client

Version:

Reference implementation of the Colony API

184 lines (140 loc) 5.93 kB
'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