aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/utils/signed_order_utils.ts
diff options
context:
space:
mode:
authorAmir Bandeali <abandeali1@gmail.com>2018-02-10 05:20:15 +0800
committerAmir Bandeali <abandeali1@gmail.com>2018-04-21 04:56:16 +0800
commitedf837ed622d782e43b0d25dd46a27469b9b0381 (patch)
treea53e4b40f1b4aae9ae80b42e2ab998b105358539 /packages/contracts/src/utils/signed_order_utils.ts
parent7201a74aeaa6b646e97d7c9c2c4cc979ace5f4f7 (diff)
downloaddexon-sol-tools-edf837ed622d782e43b0d25dd46a27469b9b0381.tar
dexon-sol-tools-edf837ed622d782e43b0d25dd46a27469b9b0381.tar.gz
dexon-sol-tools-edf837ed622d782e43b0d25dd46a27469b9b0381.tar.bz2
dexon-sol-tools-edf837ed622d782e43b0d25dd46a27469b9b0381.tar.lz
dexon-sol-tools-edf837ed622d782e43b0d25dd46a27469b9b0381.tar.xz
dexon-sol-tools-edf837ed622d782e43b0d25dd46a27469b9b0381.tar.zst
dexon-sol-tools-edf837ed622d782e43b0d25dd46a27469b9b0381.zip
Add logDecoder, remove outdated tests
Diffstat (limited to 'packages/contracts/src/utils/signed_order_utils.ts')
-rw-r--r--packages/contracts/src/utils/signed_order_utils.ts44
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/contracts/src/utils/signed_order_utils.ts b/packages/contracts/src/utils/signed_order_utils.ts
new file mode 100644
index 000000000..6122748b4
--- /dev/null
+++ b/packages/contracts/src/utils/signed_order_utils.ts
@@ -0,0 +1,44 @@
+import { SignedOrder } from '0x.js';
+import { BigNumber } from '@0xproject/utils';
+import { Web3Wrapper } from '@0xproject/web3-wrapper';
+import ethUtil = require('ethereumjs-util');
+import * as _ from 'lodash';
+
+import { crypto } from './crypto';
+
+export const signedOrderUtils = {
+ createFill: (signedOrder: SignedOrder, takerTokenFillAmount?: BigNumber) => {
+ const fill = {
+ ...signedOrderUtils.getOrderAddressesAndValues(signedOrder),
+ takerTokenFillAmount: takerTokenFillAmount || signedOrder.takerTokenAmount,
+ ...signedOrder.ecSignature,
+ };
+ return fill;
+ },
+ createCancel(signedOrder: SignedOrder, takerTokenCancelAmount?: BigNumber) {
+ const cancel = {
+ ...signedOrderUtils.getOrderAddressesAndValues(signedOrder),
+ takerTokenCancelAmount: takerTokenCancelAmount || signedOrder.takerTokenAmount,
+ };
+ return cancel;
+ },
+ getOrderAddressesAndValues(signedOrder: SignedOrder) {
+ return {
+ orderAddresses: [
+ signedOrder.maker,
+ signedOrder.taker,
+ signedOrder.makerTokenAddress,
+ signedOrder.takerTokenAddress,
+ signedOrder.feeRecipient,
+ ],
+ orderValues: [
+ signedOrder.makerTokenAmount,
+ signedOrder.takerTokenAmount,
+ signedOrder.makerFee,
+ signedOrder.takerFee,
+ signedOrder.expirationUnixTimestampSec,
+ signedOrder.salt,
+ ],
+ };
+ },
+};