@dydxprotocol/exchange-wrappers
Version:
Collection of exchange wrapper contracts used by the dYdX Protocol
121 lines • 7.05 kB
JavaScript
"use strict";
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrderMapper = void 0;
var ZeroExV2ExchangeWrapper_1 = require("./exchange_wrappers/ZeroExV2ExchangeWrapper");
var ZeroExV2MultiOrderExchangeWrapper_1 = require("./exchange_wrappers/ZeroExV2MultiOrderExchangeWrapper");
var OasisV1SimpleExchangeWrapper_1 = require("./exchange_wrappers/OasisV1SimpleExchangeWrapper");
var OasisV2SimpleExchangeWrapper_1 = require("./exchange_wrappers/OasisV2SimpleExchangeWrapper");
var OasisV3SimpleExchangeWrapper_1 = require("./exchange_wrappers/OasisV3SimpleExchangeWrapper");
var OasisV3MatchingExchangeWrapper_1 = require("./exchange_wrappers/OasisV3MatchingExchangeWrapper");
var TestExchangeWrapper_1 = require("./exchange_wrappers/TestExchangeWrapper");
var OpenDirectlyExchangeWrapper_1 = require("./exchange_wrappers/OpenDirectlyExchangeWrapper");
var SaiDaiExchangeWrapper_1 = require("./exchange_wrappers/SaiDaiExchangeWrapper");
var CurveExchangeWrapper_1 = require("./exchange_wrappers/CurveExchangeWrapper");
var types_1 = require("./types");
var OrderMapper = /** @class */ (function () {
function OrderMapper(networkId) {
this.testExchangeWrapper = new TestExchangeWrapper_1.TestExchangeWrapper(networkId);
this.zeroExV2ExchangeWrapper = new ZeroExV2ExchangeWrapper_1.ZeroExV2ExchangeWrapper(networkId);
this.zeroExV2MultiOrderExchangeWrapper = new ZeroExV2MultiOrderExchangeWrapper_1.ZeroExV2MultiOrderExchangeWrapper(networkId);
this.oasisV1SimpleExchangeWrapper = new OasisV1SimpleExchangeWrapper_1.OasisV1SimpleExchangeWrapper(networkId);
this.oasisV2SimpleExchangeWrapper = new OasisV2SimpleExchangeWrapper_1.OasisV2SimpleExchangeWrapper(networkId);
this.oasisV3SimpleExchangeWrapper = new OasisV3SimpleExchangeWrapper_1.OasisV3SimpleExchangeWrapper(networkId);
this.oasisV3MatchingExchangeWrapper = new OasisV3MatchingExchangeWrapper_1.OasisV3MatchingExchangeWrapper(networkId);
this.openDirectlyExchangeWrapper = new OpenDirectlyExchangeWrapper_1.OpenDirectlyExchangeWrapper(networkId);
this.saiDaiExchangeWrapper = new SaiDaiExchangeWrapper_1.SaiDaiExchangeWrapper(networkId);
this.curveExchangeWrapper = new CurveExchangeWrapper_1.CurveExchangeWrapper(networkId);
}
OrderMapper.prototype.setNetworkId = function (networkId) {
this.testExchangeWrapper.setNetworkId(networkId);
this.zeroExV2ExchangeWrapper.setNetworkId(networkId);
this.zeroExV2MultiOrderExchangeWrapper.setNetworkId(networkId);
this.oasisV1SimpleExchangeWrapper.setNetworkId(networkId);
this.oasisV2SimpleExchangeWrapper.setNetworkId(networkId);
this.oasisV3SimpleExchangeWrapper.setNetworkId(networkId);
this.oasisV3MatchingExchangeWrapper.setNetworkId(networkId);
this.openDirectlyExchangeWrapper.setNetworkId(networkId);
this.saiDaiExchangeWrapper.setNetworkId(networkId);
this.curveExchangeWrapper.setNetworkId(networkId);
};
OrderMapper.prototype.mapOrder = function (order) {
var type = order.type, orderData = __rest(order, ["type"]);
switch (type) {
case types_1.OrderType.Test:
return {
bytes: this.testExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.testExchangeWrapper.getAddress(),
};
case types_1.OrderType.ZeroExV2:
return {
bytes: this.zeroExV2ExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.zeroExV2ExchangeWrapper.getAddress(),
};
case types_1.OrderType.ZeroExV2MultiOrder:
return {
bytes: this.zeroExV2MultiOrderExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.zeroExV2MultiOrderExchangeWrapper.getAddress(),
};
case types_1.OrderType.OasisV1:
return {
bytes: this.oasisV1SimpleExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.oasisV1SimpleExchangeWrapper.getAddress(),
};
case types_1.OrderType.OasisV2:
return {
bytes: this.oasisV2SimpleExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.oasisV2SimpleExchangeWrapper.getAddress(),
};
case types_1.OrderType.OasisV3:
return {
bytes: this.oasisV3SimpleExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.oasisV3SimpleExchangeWrapper.getAddress(),
};
case types_1.OrderType.OasisV3Market:
return {
bytes: this.oasisV3MatchingExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.oasisV3MatchingExchangeWrapper.getAddress(),
};
case types_1.OrderType.OpenDirectly:
return {
bytes: this.openDirectlyExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.openDirectlyExchangeWrapper.getAddress(),
};
case types_1.OrderType.SaiDai:
return {
bytes: this.saiDaiExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.saiDaiExchangeWrapper.getAddress(),
};
case types_1.OrderType.Curve:
return {
bytes: this.curveExchangeWrapper.orderToBytes(orderData),
exchangeWrapperAddress: order.exchangeWrapperAddress ||
this.curveExchangeWrapper.getAddress(),
};
default:
throw new Error("Invalid order type " + type);
}
};
return OrderMapper;
}());
exports.OrderMapper = OrderMapper;
//# sourceMappingURL=OrderMapper.js.map