aboutsummaryrefslogtreecommitdiffstats
path: root/packages/forwarder-helper/src/forwarder_helper_factory.ts
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2018-08-25 02:14:34 +0800
committerfragosti <francesco.agosti93@gmail.com>2018-08-25 02:14:34 +0800
commit9ffddb47b8c9187401c1df6e5d5953caad3a9274 (patch)
tree44344c48c860ce24f424f6d504e24f8f1a5560f6 /packages/forwarder-helper/src/forwarder_helper_factory.ts
parent7bcaac4e1080ae6c5d1b482992c7878b4be3174f (diff)
parentb38ef579fb75c777fac2eef3d4bcda2c97014f0b (diff)
downloaddexon-0x-contracts-9ffddb47b8c9187401c1df6e5d5953caad3a9274.tar
dexon-0x-contracts-9ffddb47b8c9187401c1df6e5d5953caad3a9274.tar.gz
dexon-0x-contracts-9ffddb47b8c9187401c1df6e5d5953caad3a9274.tar.bz2
dexon-0x-contracts-9ffddb47b8c9187401c1df6e5d5953caad3a9274.tar.lz
dexon-0x-contracts-9ffddb47b8c9187401c1df6e5d5953caad3a9274.tar.xz
dexon-0x-contracts-9ffddb47b8c9187401c1df6e5d5953caad3a9274.tar.zst
dexon-0x-contracts-9ffddb47b8c9187401c1df6e5d5953caad3a9274.zip
Merge branch 'development' of https://github.com/0xProject/0x-monorepo into sra-api/rename/sra-spec
Diffstat (limited to 'packages/forwarder-helper/src/forwarder_helper_factory.ts')
-rw-r--r--packages/forwarder-helper/src/forwarder_helper_factory.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/forwarder-helper/src/forwarder_helper_factory.ts b/packages/forwarder-helper/src/forwarder_helper_factory.ts
new file mode 100644
index 000000000..95f11f555
--- /dev/null
+++ b/packages/forwarder-helper/src/forwarder_helper_factory.ts
@@ -0,0 +1,25 @@
+import { assert } from '@0xproject/assert';
+import { schemas } from '@0xproject/json-schemas';
+import { SignedOrder } from '@0xproject/types';
+
+import { ForwarderHelperImpl, ForwarderHelperImplConfig } from './forwarder_helper_impl';
+import { ForwarderHelper } from './types';
+
+export const forwarderHelperFactory = {
+ /**
+ * Given an array of orders and an array of feeOrders
+ * @param orders An array of objects conforming to SignedOrder. Each order should specify the same makerAssetData and takerAssetData
+ * @param feeOrders An array of objects conforming to SignedOrder. Each order should specify ZRX as makerAssetData WETH as takerAssetData
+ * @return A ForwarderHelper, see type for definition
+ */
+ getForwarderHelperForOrders(orders: SignedOrder[], feeOrders: SignedOrder[] = []): ForwarderHelper {
+ assert.doesConformToSchema('orders', orders, schemas.signedOrdersSchema);
+ assert.doesConformToSchema('feeOrders', orders, schemas.signedOrdersSchema);
+ const config: ForwarderHelperImplConfig = {
+ orders,
+ feeOrders,
+ };
+ const helper = new ForwarderHelperImpl(config);
+ return helper;
+ },
+};