diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-08-25 02:14:34 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-08-25 02:14:34 +0800 |
commit | 9ffddb47b8c9187401c1df6e5d5953caad3a9274 (patch) | |
tree | 44344c48c860ce24f424f6d504e24f8f1a5560f6 /packages/forwarder-helper/src/forwarder_helper_factory.ts | |
parent | 7bcaac4e1080ae6c5d1b482992c7878b4be3174f (diff) | |
parent | b38ef579fb75c777fac2eef3d4bcda2c97014f0b (diff) | |
download | dexon-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.ts | 25 |
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; + }, +}; |