UNPKG

@nexex/cli

Version:
1,558 lines (1,258 loc) 321 kB
/******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ var executeModules = data[2]; /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ // add entry modules from loaded chunk to deferred list /******/ deferredModules.push.apply(deferredModules, executeModules || []); /******/ /******/ // run deferred modules when all chunks ready /******/ return checkDeferredModules(); /******/ }; /******/ function checkDeferredModules() { /******/ var result; /******/ for(var i = 0; i < deferredModules.length; i++) { /******/ var deferredModule = deferredModules[i]; /******/ var fulfilled = true; /******/ for(var j = 1; j < deferredModule.length; j++) { /******/ var depId = deferredModule[j]; /******/ if(installedChunks[depId] !== 0) fulfilled = false; /******/ } /******/ if(fulfilled) { /******/ deferredModules.splice(i--, 1); /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); /******/ } /******/ } /******/ /******/ return result; /******/ } /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ 2: 0 /******/ }; /******/ /******/ var deferredModules = []; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/"; /******/ /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // add entry module to deferred list /******/ deferredModules.push([441,3,1,0]); /******/ // run deferred modules when ready /******/ return checkDeferredModules(); /******/ }) /************************************************************************/ /******/ ({ /***/ 133: /***/ (function(module, exports, __webpack_require__) { "use strict"; function __export(m) { for (var p in m) { if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } } Object.defineProperty(exports, "__esModule", { value: true }); var EventSource; (function (EventSource) { EventSource[EventSource["SELF"] = 0] = "SELF"; EventSource[EventSource["PEER"] = 1] = "PEER"; EventSource[EventSource["TASK_NODE"] = 2] = "TASK_NODE"; EventSource[EventSource["IPFS"] = 3] = "IPFS"; })(EventSource = exports.EventSource || (exports.EventSource = {})); var ObEventTypes; (function (ObEventTypes) { ObEventTypes["NEW_ORDER_ONBOARD"] = "new_order_onboard"; ObEventTypes["NEW_ORDER_ACCEPTED"] = "new_order_accepted"; ObEventTypes["DOWNSTREAM_EVENT"] = "downstream_event"; ObEventTypes["WS_UPSTREAM_EVENT"] = "ws_upstream_event"; ObEventTypes["PEER_EVENT"] = "peer_event"; ObEventTypes["ORDER_BALANCE_UPDATE"] = "order_balance_update"; ObEventTypes["ORDER_DELIST"] = "order_delist"; ObEventTypes["ORDER_UPDATE_TASK"] = "order_update_task"; ObEventTypes["IPFS_SUBSCRIPTION"] = "ipfs_subscribe"; ObEventTypes["IPFS_PUBLISH"] = "ipfs_publish"; ObEventTypes["IPFS_INCOMING"] = "ipfs_income"; })(ObEventTypes = exports.ObEventTypes || (exports.ObEventTypes = {})); __export(__webpack_require__(682)); /***/ }), /***/ 14: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importStar = this && this.__importStar || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) { if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; } result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var ErrorsDefs = __importStar(__webpack_require__(679)); exports.Errors = ErrorsDefs; var orderbook_1 = __webpack_require__(133); exports.ObEventTypes = orderbook_1.ObEventTypes; var SolidityTypes; (function (SolidityTypes) { SolidityTypes["Address"] = "address"; SolidityTypes["Uint256"] = "uint256"; SolidityTypes["Uint8"] = "uint8"; SolidityTypes["Uint"] = "uint"; })(SolidityTypes = exports.SolidityTypes || (exports.SolidityTypes = {})); var OrderSide; (function (OrderSide) { /** buy **/ OrderSide["BID"] = "BID"; /** sell **/ OrderSide["ASK"] = "ASK"; })(OrderSide = exports.OrderSide || (exports.OrderSide = {})); var OrderState; (function (OrderState) { OrderState["OPEN"] = "OPEN"; OrderState["FILLED"] = "FILLED"; OrderState["CANCELLED"] = "CANCELLED"; OrderState["EXPIRED"] = "EXPIRED"; OrderState["UNFUNDED"] = "UNFUNDED"; OrderState["CLOSED"] = "CLOSE"; })(OrderState = exports.OrderState || (exports.OrderState = {})); /***/ }), /***/ 150: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var NETWORK_ID = { MAINNET: 1, ROPSTEN: 3, RINKEBY: 4, KOVAN: 42 }; var PortalEntry; (function (PortalEntry) { PortalEntry[PortalEntry["Exchange"] = 0] = "Exchange"; PortalEntry[PortalEntry["TransferGateway"] = 1] = "TransferGateway"; PortalEntry[PortalEntry["TokenRegistry"] = 2] = "TokenRegistry"; })(PortalEntry = exports.PortalEntry || (exports.PortalEntry = {})); exports.constants = { NULL_ADDRESS: '0x0000000000000000000000000000000000000000', MAX_UINT_256: '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', TESTRPC_NETWORK_ID: 50, MAX_DIGITS_IN_UNSIGNED_256_INT: 78, INVALID_JUMP_PATTERN: 'invalid JUMP at', OUT_OF_GAS_PATTERN: 'out of gas', INVALID_TAKER_FORMAT: 'instance.taker is not of a type(s) string', // UNLIMITED_ALLOWANCE_IN_BASE_UNITS: '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', DEFAULT_BLOCK_POLLING_INTERVAL: 1000, NETWORK_ID: NETWORK_ID, PortalEntry: PortalEntry }; /***/ }), /***/ 151: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ethers_1 = __webpack_require__(41); var orderUtil_1 = __webpack_require__(361); var getAddress = ethers_1.utils.getAddress; var ethAddressHexMetadataKey = Symbol('ethAddressHexMetadataKey'); var exchangeOrderMetadataKey = Symbol('exchangeOrderMetadataKey'); function isTypePromise(Type) { try { var test_1 = new Type(function () { return {}; }); return test_1.then && typeof test_1.then === 'function'; } catch (e) { return false; } } function validate(target, propertyName, descriptor) { var method = descriptor.value; var ethHexAddrParameters = Reflect.getOwnMetadata(ethAddressHexMetadataKey, target, propertyName); var orderParameters = Reflect.getOwnMetadata(exchangeOrderMetadataKey, target, propertyName); var retType = Reflect.getMetadata('design:returntype', target, propertyName); var isReturnPromise = isTypePromise(retType); descriptor.value = function () { var isError; var newArgs = arguments; /* ethHexAddr */ if (ethHexAddrParameters) { for (var i = 0; i < newArgs.length; i++) { var arg = newArgs[i]; if (ethHexAddrParameters.includes(i)) { try { newArgs[i] = getAddress(arg); } catch (e) { newArgs[i] = arg; isError = e; } } else { newArgs[i] = arg; } } } /* exchange order */ if (orderParameters) { for (var i = 0; i < newArgs.length; i++) { var arg = newArgs[i]; if (orderParameters.includes(i)) { try { if (getAddress(arg.exchangeContractAddress) !== getAddress(this.getContractAddress())) { isError = new Error('exchange address in order not match'); } } catch (e) { isError = e; } if (!orderUtil_1.isValidOrder(arg)) { isError = new Error('order signature not valid'); } } } } if (isError) { if (isReturnPromise) { return Promise.reject(isError); } else { throw isError; } } else { return method.apply(this, newArgs); } }; } exports.validate = validate; function ethAddressHex(target, propertyKey, parameterIndex) { var existingEthAddrHexParameters = Reflect.getOwnMetadata(ethAddressHexMetadataKey, target, propertyKey) || []; existingEthAddrHexParameters.push(parameterIndex); Reflect.defineMetadata(ethAddressHexMetadataKey, existingEthAddrHexParameters, target, propertyKey); } function exchangeOrder(target, propertyKey, parameterIndex) { var existingParameters = Reflect.getOwnMetadata(exchangeOrderMetadataKey, target, propertyKey) || []; existingParameters.push(parameterIndex); Reflect.defineMetadata(exchangeOrderMetadataKey, existingParameters, target, propertyKey); } exports.validators = { ethAddressHex: ethAddressHex, exchangeOrder: exchangeOrder }; /***/ }), /***/ 17: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Amount; }); /* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21); /* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var Amount = /*#__PURE__*/ function () { function Amount(value, unit, decimals) { _classCallCheck(this, Amount); this.unit = void 0; this.value = void 0; this.decimals = void 0; this.unit = unit; this.value = new bignumber_js__WEBPACK_IMPORTED_MODULE_0___default.a(String(value)); this.decimals = decimals; this.validate(); } _createClass(Amount, [{ key: "toWei", value: function toWei() { if (this.unit === _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].WEI) { return this.value; } else if (this.unit === _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].ETHER) { return this.value.times(Math.pow(10, this.decimals)); } } }, { key: "toEther", value: function toEther() { if (this.unit === _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].ETHER) { return this.value; } else if (this.unit === _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].WEI) { return this.value.div(Math.pow(10, this.decimals)); } } }, { key: "times", value: function times(number) { var roundMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : bignumber_js__WEBPACK_IMPORTED_MODULE_0___default.a.ROUND_DOWN; var value; if (this.unit === _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].ETHER) { value = this.toWei(); } else { value = this.value; } return new Amount(value.times(number).decimalPlaces(0, roundMode), _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].WEI, this.decimals); } }, { key: "div", value: function div(number) { var roundMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : bignumber_js__WEBPACK_IMPORTED_MODULE_0___default.a.ROUND_DOWN; var value; if (this.unit === _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].ETHER) { value = this.toWei(); } else { value = this.value; } return new Amount(value.div(number).decimalPlaces(0, roundMode), _constants__WEBPACK_IMPORTED_MODULE_1__[/* AmountUnit */ "a"].WEI, this.decimals); } }, { key: "toString", value: function toString() { var decimals = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 3; return this.toEther().toFixed(decimals, bignumber_js__WEBPACK_IMPORTED_MODULE_0___default.a.ROUND_DOWN); } }, { key: "validate", value: function validate() { if (!this.toWei().isInteger()) { throw new Error('not a integer number'); } } }]); return Amount; }(); /***/ }), /***/ 176: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importStar = this && this.__importStar || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) { if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; } result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var orderUtilFns = __importStar(__webpack_require__(361)); exports.orderUtil = orderUtilFns; /***/ }), /***/ 201: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importStar = this && this.__importStar || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) { if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; } result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var ERC20TokenArtifact = __importStar(__webpack_require__(687)); var ExchangeArtifact = __importStar(__webpack_require__(688)); var PortalArtifact = __importStar(__webpack_require__(689)); var TokenRegistryArtifact = __importStar(__webpack_require__(690)); var TokenTransferProxyArtifact = __importStar(__webpack_require__(691)); var WETHArtifact = __importStar(__webpack_require__(692)); exports.artifacts = { ExchangeArtifact: ExchangeArtifact, ERC20TokenArtifact: ERC20TokenArtifact, TokenTransferProxyArtifact: TokenTransferProxyArtifact, TokenRegistryArtifact: TokenRegistryArtifact, WETHArtifact: WETHArtifact, PortalArtifact: PortalArtifact }; /***/ }), /***/ 210: /***/ (function(module, exports, __webpack_require__) { "use strict"; function __export(m) { for (var p in m) { if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } } Object.defineProperty(exports, "__esModule", { value: true }); var Dex_1 = __webpack_require__(683); exports.Dex = Dex_1.Dex; var constants_1 = __webpack_require__(150); exports.constants = constants_1.constants; var utils_1 = __webpack_require__(176); exports.orderUtil = utils_1.orderUtil; __export(__webpack_require__(700)); /***/ }), /***/ 290: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importDefault = this && this.__importDefault || function (mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var ethers_1 = __webpack_require__(41); var isUndefined_1 = __importDefault(__webpack_require__(693)); var constants_1 = __webpack_require__(150); var BaseContract = /** @class */ function () { function BaseContract(eth, network, addressIfExists) { this.eth = eth; this.addressIfExists = addressIfExists; this.network = network; } BaseContract.prototype.getContractAddress = function () { var networkId = constants_1.constants.NETWORK_ID[this.network.toUpperCase()]; if (isUndefined_1["default"](this.addressIfExists)) { var artifact = this.getArtifact(); var contractAddress = artifact.networks[networkId.toString()].address; if (isUndefined_1["default"](contractAddress)) { throw new Error('ContractDoesNotExist'); } return contractAddress; } else { return this.addressIfExists; } }; Object.defineProperty(BaseContract.prototype, "contract", { get: function get() { if (!this._contract) { var addr = this.getContractAddress(); if (!addr) { throw new Error('addr not found'); } this._contract = new ethers_1.ethers.Contract(addr, this.getAbiDefinition(), this.eth); } return this._contract; }, enumerable: true, configurable: true }); BaseContract.prototype.getAbiDefinition = function () { return this.getArtifact().abi; }; return BaseContract; }(); exports.BaseContract = BaseContract; /***/ }), /***/ 291: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importStar = this && this.__importStar || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) { if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; } result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var _ = __importStar(__webpack_require__(695)); var signatureUtils_1 = __webpack_require__(362); var HEX_REGEX = /^0x[0-9A-F]*$/i; // async function isSenderAddressAvailable(eth: Eth, senderAddress: string): Promise<boolean> { // const addresses = await getAvailableAddresses(eth); // const normalizedAddress = senderAddress.toLowerCase(); // // return _.includes(addresses, normalizedAddress); // } // async function getAvailableAddresses(eth: Eth): Promise<string[]> { // const addresses = await eth.getAccounts(); // // return _.map(addresses, address => address.toLowerCase()); // } exports.assert = { isString: function isString(variableName, value) { this.assert(_.isString(value), this.typeAssertionMessage(variableName, 'string', value)); }, isFunction: function isFunction(variableName, value) { this.assert(_.isFunction(value), this.typeAssertionMessage(variableName, 'function', value)); }, isHexString: function isHexString(variableName, value) { this.assert(_.isString(value) && HEX_REGEX.test(value), this.typeAssertionMessage(variableName, 'HexString', value)); }, // isETHAddressHex(variableName: string, value: string): void { // this.assert(_.isString(value), this.typeAssertionMessage(variableName, 'string', value)); // this.assert(ethUtil.isValidAddress(value), this.typeAssertionMessage(variableName, 'ETHAddressHex', value)); // }, doesBelongToStringEnum: function doesBelongToStringEnum(variableName, value, stringEnum /* There is no base type for every string enum */ ) { var doesBelongToStringEnum = !_.isUndefined(stringEnum[value]); var enumValues = _.keys(stringEnum); var enumValuesAsStrings = _.map(enumValues, function (enumValue) { return "'" + enumValue + "'"; }); var enumValuesAsString = enumValuesAsStrings.join(', '); exports.assert.assert(doesBelongToStringEnum, "Expected " + variableName + " to be one of: " + enumValuesAsString + ", encountered: " + value); }, hasAtMostOneUniqueValue: function hasAtMostOneUniqueValue(value, errMsg) { this.assert(_.uniq(value).length <= 1, errMsg); }, isNumber: function isNumber(variableName, value) { this.assert(_.isFinite(value), this.typeAssertionMessage(variableName, 'number', value)); }, isBoolean: function isBoolean(variableName, value) { this.assert(_.isBoolean(value), this.typeAssertionMessage(variableName, 'boolean', value)); }, assert: function assert(condition, message) { if (!condition) { throw new Error(message); } }, typeAssertionMessage: function typeAssertionMessage(variableName, type, value) { return "Expected " + variableName + " to be of type " + type + ", encountered: " + value; }, isValidSignature: function isValidSignature(orderHash, ecSignature, signerAddress) { var isValidSignature = signatureUtils_1.signatureUtils.isValidSignature(orderHash, ecSignature, signerAddress); this.assert(isValidSignature, "Expected order with hash '" + orderHash + "' to have a valid signature"); }, // async isSenderAddressAsync(variableName: string, senderAddressHex: string, eth: Eth): Promise<void> { // this.isETHAddressHex(variableName, senderAddressHex); // const isAvailable = await isSenderAddressAvailable(eth, senderAddressHex); // this.assert( // isAvailable, // `Specified ${variableName} ${senderAddressHex} isn't available through the supplied web3 provider` // ); // }, // async isUserAddressAvailableAsync(eth: Eth): Promise<void> { // const availableAddresses = await getAvailableAddresses(eth); // this.assert(!_.isEmpty(availableAddresses), 'No addresses were available on the provided web3 provider'); // }, exists: function exists(value) { this.assert(value !== undefined && value !== null, value + " does not exist"); }, notExists: function notExists(value) { this.assert(value === undefined || value === null, value + " does exist"); } }; /***/ }), /***/ 292: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __extends = this && this.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) d[p] = b[p]; } }; return _extendStatics(d, b); }; return function (d, b) { _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); Object.defineProperty(exports, "__esModule", { value: true }); var ethers_1 = __webpack_require__(41); var formatUnits = ethers_1.utils.formatUnits, parseUnits = ethers_1.utils.parseUnits; var AmountUnit; (function (AmountUnit) { AmountUnit["WEI"] = "wei"; AmountUnit["DISPLAY"] = "display"; })(AmountUnit = exports.AmountUnit || (exports.AmountUnit = {})); var Amount = /** @class */ function (_super) { __extends(Amount, _super); function Amount(value, decimals, unit) { if (decimals === void 0) { decimals = 18; } if (unit === void 0) { unit = AmountUnit.WEI; } var _this = this; if (unit === AmountUnit.DISPLAY) { _this = _super.call(this, parseUnits(String(value), decimals)) || this; } else { _this = _super.call(this, value) || this; } _this.decimals = decimals; return _this; } Amount.prototype.toDisplay = function () { return formatUnits(this, this.decimals); }; Amount.prototype.add = function (other) { var ret = _super.prototype.add.call(this, other); return new Amount(ret, this.decimals); }; Amount.prototype.sub = function (other) { var ret = _super.prototype.sub.call(this, other); return new Amount(ret, this.decimals); }; return Amount; }(ethers_1.utils.BigNumber); exports.Amount = Amount; /***/ }), /***/ 301: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importDefault = this && this.__importDefault || function (mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var bignumber_js_1 = __importDefault(__webpack_require__(367)); var NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; exports.lowerCaseSerializer = { Serialize: function Serialize(x) { return String(x).toLowerCase(); }, Deserialize: function Deserialize(x) { return String(x).toLowerCase(); } }; exports.bnSerializer = { Serialize: function Serialize(val) { return val.toString(10); }, Deserialize: function Deserialize(val) { return new bignumber_js_1["default"](val); } }; exports.bn2HexSerializer = { Serialize: function Serialize(val) { return "0x" + val.toString(16); }, Deserialize: function Deserialize(val) { return new bignumber_js_1["default"](val); } }; exports.bnSec2dateSerializer = { Serialize: function Serialize(val) { return new Date(val.times(1000).toNumber()); }, Deserialize: function Deserialize(date) { if (typeof date === 'number') { return new bignumber_js_1["default"](date); } else if (typeof date === 'string') { return new bignumber_js_1["default"](new Date(date).getTime()).div(1000).decimalPlaces(0); } else { return new bignumber_js_1["default"](date.getTime()).div(1000).decimalPlaces(0); } } }; exports.dateSerializer = { Serialize: function Serialize(date) { return date; }, Deserialize: function Deserialize(date) { return date; } }; exports.orderNormalizeSerializer = { Serialize: function Serialize(val) { return { maker: val.maker.toLowerCase(), taker: val.taker ? val.taker.toLowerCase() : NULL_ADDRESS, makerFeeRate: val.makerFeeRate, takerFeeRate: val.takerFeeRate, makerTokenAmount: val.makerTokenAmount, takerTokenAmount: val.takerTokenAmount, makerTokenAddress: val.makerTokenAddress.toLowerCase(), takerTokenAddress: val.takerTokenAddress.toLowerCase(), salt: val.salt, exchangeContractAddress: val.exchangeContractAddress.toLowerCase(), makerFeeRecipient: val.makerFeeRecipient.toLowerCase(), expirationUnixTimestampSec: val.expirationUnixTimestampSec, ecSignature: val.ecSignature }; } }; /***/ }), /***/ 311: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* unused harmony export amountSerializer */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return FtOrderTpl; }); /* harmony import */ var _nexex_types_tpl_serializers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(301); /* harmony import */ var _nexex_types_tpl_serializers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nexex_types_tpl_serializers__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var cerialize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57); /* harmony import */ var cerialize__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cerialize__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6); /* harmony import */ var _Amount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17); var _dec, _dec2, _dec3, _dec4, _dec5, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _temp; function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; } function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); } var amountSerializer = { Serialize: function Serialize(val) { return { value: val.toWei().toString(10), decimals: val.decimals }; }, Deserialize: function Deserialize(val) { return new _Amount__WEBPACK_IMPORTED_MODULE_3__[/* Amount */ "a"](val.value, _constants__WEBPACK_IMPORTED_MODULE_2__[/* AmountUnit */ "a"].WEI, val.decimals); } }; var FtOrderTpl = (_dec = Object(cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserializeAs"])(_nexex_types_tpl_serializers__WEBPACK_IMPORTED_MODULE_0__["bnSerializer"]), _dec2 = Object(cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserializeAs"])(amountSerializer), _dec3 = Object(cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserializeAs"])(amountSerializer), _dec4 = Object(cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserializeAs"])(amountSerializer), _dec5 = Object(cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserializeAs"])(amountSerializer), (_class = (_temp = function FtOrderTpl() { _classCallCheck(this, FtOrderTpl); _initializerDefineProperty(this, "baseToken", _descriptor, this); _initializerDefineProperty(this, "createdDate", _descriptor2, this); _initializerDefineProperty(this, "lastUpdate", _descriptor3, this); _initializerDefineProperty(this, "orderHash", _descriptor4, this); _initializerDefineProperty(this, "price", _descriptor5, this); _initializerDefineProperty(this, "quoteToken", _descriptor6, this); _initializerDefineProperty(this, "remainingBaseTokenAmount", _descriptor7, this); _initializerDefineProperty(this, "remainingQuoteTokenAmount", _descriptor8, this); _initializerDefineProperty(this, "side", _descriptor9, this); _initializerDefineProperty(this, "signedOrder", _descriptor10, this); _initializerDefineProperty(this, "state", _descriptor11, this); _initializerDefineProperty(this, "baseTokenAmount", _descriptor12, this); _initializerDefineProperty(this, "quoteTokenAmount", _descriptor13, this); }, _temp), (_descriptor = _applyDecoratedDescriptor(_class.prototype, "baseToken", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "createdDate", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "lastUpdate", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "orderHash", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, "price", [_dec], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, "quoteToken", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, "remainingBaseTokenAmount", [_dec2], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, "remainingQuoteTokenAmount", [_dec3], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, "side", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, "signedOrder", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, "state", [cerialize__WEBPACK_IMPORTED_MODULE_1__["autoserialize"]], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, "baseTokenAmount", [_dec4], { configurable: true, enumerable: true, writable: true, initializer: null }), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, "quoteTokenAmount", [_dec5], { configurable: true, enumerable: true, writable: true, initializer: null })), _class)); /***/ }), /***/ 355: /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin if(false) { var cssReload; } /***/ }), /***/ 356: /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin if(false) { var cssReload; } /***/ }), /***/ 361: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = __webpack_require__(14); var ethers_1 = __webpack_require__(41); var signatureUtils_1 = __webpack_require__(362); var bigNumberify = ethers_1.utils.bigNumberify, hexlify = ethers_1.utils.hexlify, solidityKeccak256 = ethers_1.utils.solidityKeccak256; function getOrderHashHex(order) { var orderParts = [{ value: order.exchangeContractAddress, type: types_1.SolidityTypes.Address }, { value: order.maker, type: types_1.SolidityTypes.Address }, { value: order.taker, type: types_1.SolidityTypes.Address }, { value: order.makerTokenAddress, type: types_1.SolidityTypes.Address }, { value: order.takerTokenAddress, type: types_1.SolidityTypes.Address }, { value: order.makerFeeRecipient, type: types_1.SolidityTypes.Address }, { value: new ethers_1.utils.BigNumber(order.makerTokenAmount), type: types_1.SolidityTypes.Uint256 }, { value: bigNumberify(order.takerTokenAmount), type: types_1.SolidityTypes.Uint256 }, { value: bigNumberify(order.makerFeeRate), type: types_1.SolidityTypes.Uint256 }, { value: bigNumberify(order.takerFeeRate), type: types_1.SolidityTypes.Uint256 }, { value: bigNumberify(order.expirationUnixTimestampSec), type: types_1.SolidityTypes.Uint256 }, { value: bigNumberify(order.salt), type: types_1.SolidityTypes.Uint256 }]; var types = orderParts.map(function (o) { return o.type; }); var values = orderParts.map(function (o) { return o.value; }); var hashBuff = solidityKeccak256(types, values); return hexlify(hashBuff); } exports.getOrderHashHex = getOrderHashHex; function isValidOrder(order) { var hash = getOrderHashHex(order); return signatureUtils_1.signatureUtils.isValidSignature(hash, order.ecSignature, order.maker); } exports.isValidOrder = isValidOrder; /***/ }), /***/ 362: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ethers_1 = __webpack_require__(41); var arrayify = ethers_1.utils.arrayify, getAddress = ethers_1.utils.getAddress, verifyMessage = ethers_1.utils.verifyMessage; exports.signatureUtils = { isValidSignature: function isValidSignature(data, ecSignature, signerAddress) { try { var retrievedAddress = verifyMessage(arrayify(data), ecSignature); return retrievedAddress === getAddress(signerAddress); } catch (err) { return false; } } }; /***/ }), /***/ 363: /***/ (function(module, exports, __webpack_require__) { "use strict"; function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var __extends = this && this.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) d[p] = b[p]; } }; return _extendStatics(d, b); }; return function (d, b) { _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var __decorate = this && this.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = this && this.__metadata || function (k, v) { if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = this && this.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = this && this.__generator || function (thisArg, body) { var _ = { label: 0, sent: function sent() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) { try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importStar = this && this.__importStar || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) { if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; } result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var ethers_1 = __webpack_require__(41); var decorators = __importStar(__webpack_require__(151)); var BaseContract_1 = __webpack_require__(290); var OwnableContract = /** @class */ function (_super) { __extends(OwnableContract, _super); function OwnableContract() { return _super !== null && _super.apply(this, arguments) || this; } OwnableContract.prototype.owner = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { return [2 /*return*/ , this.contract.owner()]; }); }); }; OwnableContract.prototype.transferOwnership = function (signer, newOwner, opt) { if (opt === void 0) { opt = {}; } return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { return [2 /*return*/ , this.contract.connect(signer).transferOwnership(newOwner, opt)]; }); }); }; __decorate([decorators.validate, __param(1, decorators.validators.ethAddressHex), __metadata("design:type", Function), __metadata("design:paramtypes", [ethers_1.Signer, String, Object]), __metadata("design:returntype", Promise)], OwnableContract.prototype, "transferOwnership", null); return OwnableContract; }(BaseContract_1.BaseContract); exports.OwnableContract = OwnableContract; /***/ }), /***/ 364: /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin if(false) { var cssReload; } /***/ }), /***/ 366: /***/ (function(module, exports, __webpack_require__) { "use strict"; function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var __decorate = this && this.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = this && this.__metadata || function (k, v) { if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = this && this.__importDefault || function (mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var bignumber_js_1 = __importDefault(__webpack_require__(367)); var cerialize_1 = __webpack_require__(57); var index_1 = __webpack_require__(14); var serializers_1 = __webpack_require__(301); var OrderbookOrderTpl = /** @class */ function () { function OrderbookOrderTpl() {} __decorate([cerialize_1.autoserialize, __metadata("design:type", String)], OrderbookOrderTpl.prototype, "orderHash", void 0); __decorate([cerialize_1.autoserialize, __metadata("design:type", String)], OrderbookOrderTpl.prototype, "side", void 0); __decorate([cerialize_1.autoserialize, __metadata("design:type", String)], OrderbookOrderTpl.prototype, "state", void 0); __decorate([cerialize_1.autoserializeAs(serializers_1.lowerCaseSerializer), __metadata("design:type", String)], OrderbookOrderTpl.prototype, "baseTokenAddress", void 0); __decorate([cerialize_1.autoserializeAs(serializers_1.lowerCaseSerializer), __metadata("design:type", String)], OrderbookOrderTpl.prototype, "quoteTokenAddress", void 0); __decorate([cerialize_1.autoserializeAs(serializers_1.bnSerializer), __metadata("design:type", bignumber_js_1["default"])], OrderbookOrderTpl.prototype, "remainingBaseTokenAmount", void 0); __decora