UNPKG

@colony/colony-js-adapter-ethers

Version:

ColonyContract adapter for ethers.js

194 lines (145 loc) 6.14 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray'); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); 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 _ethers = require('ethers'); var _ethers2 = _interopRequireDefault(_ethers); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var EthersContract = function (_ethers$Contract) { (0, _inherits3.default)(EthersContract, _ethers$Contract); function EthersContract() { (0, _classCallCheck3.default)(this, EthersContract); return (0, _possibleConstructorReturn3.default)(this, (EthersContract.__proto__ || Object.getPrototypeOf(EthersContract)).apply(this, arguments)); } (0, _createClass3.default)(EthersContract, [{ key: 'callConstant', /** * Given a function name and an array of arguments, apply the arguments and * return the resulting value/s. */ value: function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(functionName, args) { var fn; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: fn = this.functions[functionName]; if (!(typeof fn !== 'function')) { _context.next = 3; break; } throw new TypeError('Function ' + functionName + ' not found on contract'); case 3: return _context.abrupt('return', fn.apply(undefined, (0, _toConsumableArray3.default)(args))); case 4: case 'end': return _context.stop(); } } }, _callee, this); })); function callConstant(_x, _x2) { return _ref.apply(this, arguments); } return callConstant; }() /** * Given a function name and an array of arguments, apply the arguments and * return the resulting gas cost estimate as a BigNumber */ }, { key: 'callEstimate', value: function () { var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(functionName, args) { var fn; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: fn = this.estimate[functionName]; if (!(typeof fn !== 'function')) { _context2.next = 3; break; } throw new TypeError('Estimation function ' + functionName + ' not found on contract'); case 3: return _context2.abrupt('return', fn.apply(undefined, (0, _toConsumableArray3.default)(args))); case 4: case 'end': return _context2.stop(); } } }, _callee2, this); })); function callEstimate(_x3, _x4) { return _ref2.apply(this, arguments); } return callEstimate; }() /** * Given a function name, an array of arguments and optional transaction * options, apply the arguments and return the sent transaction */ }, { key: 'sendTransaction', value: function () { var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(functionName, args, options) { var fn; return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: fn = this.functions[functionName]; if (!(typeof fn !== 'function')) { _context3.next = 3; break; } throw new TypeError('Function ' + functionName + ' not found on contract'); case 3: return _context3.abrupt('return', fn.apply(undefined, (0, _toConsumableArray3.default)(args).concat([options]))); case 4: case 'end': return _context3.stop(); } } }, _callee3, this); })); function sendTransaction(_x5, _x6, _x7) { return _ref3.apply(this, arguments); } return sendTransaction; }() /** * Given the name of an interface function, and an array of arguments * that will be accepted byt that function, get the data from the interface * by applying the arguments to it. */ }, { key: 'createTransactionData', value: function createTransactionData(name, args) { var interfaceFn = this.interface.functions[name]; if (typeof interfaceFn !== 'function') throw new TypeError('Function ' + name + ' not found on contract interface'); var _interfaceFn = interfaceFn.apply(undefined, (0, _toConsumableArray3.default)(args)), data = _interfaceFn.data; return data; } }]); return EthersContract; }(_ethers2.default.Contract); exports.default = EthersContract; //# sourceMappingURL=EthersContract.js.map