aboutsummaryrefslogtreecommitdiffstats
path: root/packages/order-utils/src/order_factory.ts
diff options
context:
space:
mode:
authorJacob Evans <jacob@dekz.net>2018-07-31 17:24:19 +0800
committerJacob Evans <jacob@dekz.net>2018-08-09 10:02:12 +0800
commit45e9fbe8f93f68f3786629fff1861b1a66b90635 (patch)
tree872fb25d4f5246e132f0211ea1ffd6770c12c7e2 /packages/order-utils/src/order_factory.ts
parent53713188fee57391040c24cc627fdc5ab8982d2e (diff)
downloaddexon-sol-tools-45e9fbe8f93f68f3786629fff1861b1a66b90635.tar
dexon-sol-tools-45e9fbe8f93f68f3786629fff1861b1a66b90635.tar.gz
dexon-sol-tools-45e9fbe8f93f68f3786629fff1861b1a66b90635.tar.bz2
dexon-sol-tools-45e9fbe8f93f68f3786629fff1861b1a66b90635.tar.lz
dexon-sol-tools-45e9fbe8f93f68f3786629fff1861b1a66b90635.tar.xz
dexon-sol-tools-45e9fbe8f93f68f3786629fff1861b1a66b90635.tar.zst
dexon-sol-tools-45e9fbe8f93f68f3786629fff1861b1a66b90635.zip
Introduce SignerProviderType
This allows the developer to indicate the nuanced signer provider. Some have different implementations (trezor, ledger) and others have different implementations (metamask). Breaking the abstraction of eth_sign. EthSign assumes a spec compliant implementation and can be used as a default
Diffstat (limited to 'packages/order-utils/src/order_factory.ts')
-rw-r--r--packages/order-utils/src/order_factory.ts15
1 files changed, 6 insertions, 9 deletions
diff --git a/packages/order-utils/src/order_factory.ts b/packages/order-utils/src/order_factory.ts
index 14727fd97..bd6bb84b8 100644
--- a/packages/order-utils/src/order_factory.ts
+++ b/packages/order-utils/src/order_factory.ts
@@ -1,14 +1,13 @@
-import { ECSignature, Order, SignedOrder } from '@0xproject/types';
+import { Order, SignedOrder, SignerProviderType } from '@0xproject/types';
import { BigNumber } from '@0xproject/utils';
import { Provider } from 'ethereum-types';
-import * as ethUtil from 'ethereumjs-util';
import * as _ from 'lodash';
import { constants } from './constants';
import { orderHashUtils } from './order_hash';
import { generatePseudoRandomSalt } from './salt';
import { ecSignOrderHashAsync } from './signature_utils';
-import { CreateOrderOpts, MessagePrefixType } from './types';
+import { CreateOrderOpts } from './types';
export const orderFactory = {
createOrder(
@@ -59,16 +58,12 @@ export const orderFactory = {
createOrderOpts,
);
const orderHash = orderHashUtils.getOrderHashHex(order);
- const messagePrefixOpts = {
- prefixType: MessagePrefixType.EthSign,
- shouldAddPrefixBeforeCallingEthSign: false,
- };
- const ecSignature = await ecSignOrderHashAsync(provider, orderHash, makerAddress, messagePrefixOpts);
- const signature = getVRSHexString(ecSignature);
+ const signature = await ecSignOrderHashAsync(provider, orderHash, makerAddress, SignerProviderType.EthSign);
const signedOrder: SignedOrder = _.assign(order, { signature });
return signedOrder;
},
};
+<<<<<<< HEAD
function generateDefaultCreateOrderOpts(): {
takerAddress: string;
@@ -102,3 +97,5 @@ function intToHex(i: number): string {
const hex = ethUtil.bufferToHex(ethUtil.toBuffer(i));
return hex;
}
+=======
+>>>>>>> Introduce SignerProviderType