UNPKG

@colony/colony-js-client

Version:

Reference implementation of the Colony API

198 lines (149 loc) 6.23 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); 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 _colonyJsContractClient = require('@colony/colony-js-contract-client'); var _colonyJsContractClient2 = _interopRequireDefault(_colonyJsContractClient); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var TransferExpenditure = function (_ContractClient$Sende) { (0, _inherits3.default)(TransferExpenditure, _ContractClient$Sende); function TransferExpenditure() { (0, _classCallCheck3.default)(this, TransferExpenditure); return (0, _possibleConstructorReturn3.default)(this, (TransferExpenditure.__proto__ || Object.getPrototypeOf(TransferExpenditure)).apply(this, arguments)); } (0, _createClass3.default)(TransferExpenditure, [{ key: 'owner', value: function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(expenditureId) { var _ref2, count, _ref3, owner, address; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return this.client.getExpenditureCount.call(); case 2: _ref2 = _context.sent; count = _ref2.count; if (!(count < expenditureId)) { _context.next = 6; break; } throw new Error('Expenditure ID ' + expenditureId + ' not found'); case 6: _context.next = 8; return this.client.getExpenditure.call({ expenditureId: expenditureId }); case 8: _ref3 = _context.sent; owner = _ref3.owner; _context.next = 12; return this.client.adapter.wallet.getAddress(); case 12: address = _context.sent; return _context.abrupt('return', address === owner); case 14: case 'end': return _context.stop(); } } }, _callee, this); })); function owner(_x) { return _ref.apply(this, arguments); } return owner; }() }, { key: 'send', value: function () { var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(inputValues, options) { var isOwner; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: if (Object.hasOwnProperty.call(inputValues, 'expenditureId')) { _context2.next = 2; break; } throw new Error('ExpenditureId is required'); case 2: _context2.next = 4; return this.owner(inputValues.expenditureId); case 4: isOwner = _context2.sent; if (!isOwner) { _context2.next = 7; break; } return _context2.abrupt('return', this.client.transferExpenditureViaOwnership.send(inputValues, options)); case 7: return _context2.abrupt('return', this.client.transferExpenditureViaArbitration.send(inputValues, options)); case 8: case 'end': return _context2.stop(); } } }, _callee2, this); })); function send(_x2, _x3) { return _ref4.apply(this, arguments); } return send; }() }, { key: 'estimate', value: function () { var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(inputValues) { var isOwner; return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: if (Object.hasOwnProperty.call(inputValues, 'expenditureId')) { _context3.next = 2; break; } throw new Error('ExpenditureId is required'); case 2: _context3.next = 4; return this.owner(inputValues.expenditureId); case 4: isOwner = _context3.sent; if (!isOwner) { _context3.next = 7; break; } return _context3.abrupt('return', this.client.transferExpenditureViaOwnership.estimate(inputValues)); case 7: return _context3.abrupt('return', this.client.transferExpenditureViaArbitration.estimate(inputValues)); case 8: case 'end': return _context3.stop(); } } }, _callee3, this); })); function estimate(_x4) { return _ref5.apply(this, arguments); } return estimate; }() }]); return TransferExpenditure; }(_colonyJsContractClient2.default.Sender); /* eslint-disable import/no-cycle */ exports.default = TransferExpenditure; //# sourceMappingURL=TransferExpenditure.js.map