@nexex/cli
Version:
1,558 lines (1,258 loc) • 321 kB
JavaScript
/******/ (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