@colony/colony-js-client
Version:
Reference implementation of the Colony API
94 lines (68 loc) • 3.37 kB
JavaScript
;
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 }; }
// When adding an extension contract to a colony, a new extension contract will
// be deployed that is unique to the colony. In order for the colony to use the
// extension contract, the extension contract will need to be assigned a colony
// role (which role depends on the extension contract and contract methods). In
// order to assign the extension contract a colony role, the extension contract
// address will need to be accessible.
var GetExtensionAddress = function (_ContractClient$Calle) {
(0, _inherits3.default)(GetExtensionAddress, _ContractClient$Calle);
function GetExtensionAddress() {
(0, _classCallCheck3.default)(this, GetExtensionAddress);
return (0, _possibleConstructorReturn3.default)(this, (GetExtensionAddress.__proto__ || Object.getPrototypeOf(GetExtensionAddress)).apply(this, arguments));
}
(0, _createClass3.default)(GetExtensionAddress, [{
key: 'call',
value: function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(args) {
var factoryContract, address;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return this.client.adapter.getContract({
contractName: args.contractName + 'Factory'
});
case 2:
factoryContract = _context.sent;
_context.next = 5;
return factoryContract.callConstant('deployedExtensions', [this.client.contract.address]);
case 5:
address = _context.sent;
return _context.abrupt('return', { address: address });
case 7:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function call(_x) {
return _ref.apply(this, arguments);
}
return call;
}()
}]);
return GetExtensionAddress;
}(_colonyJsContractClient2.default.Caller);
exports.default = GetExtensionAddress;
//# sourceMappingURL=GetExtensionAddress.js.map