diff options
author | Jacob Evans <jacob@dekz.net> | 2018-07-31 17:24:19 +0800 |
---|---|---|
committer | Jacob Evans <jacob@dekz.net> | 2018-08-09 10:02:12 +0800 |
commit | 45e9fbe8f93f68f3786629fff1861b1a66b90635 (patch) | |
tree | 872fb25d4f5246e132f0211ea1ffd6770c12c7e2 /packages/order-utils/src/order_factory.ts | |
parent | 53713188fee57391040c24cc627fdc5ab8982d2e (diff) | |
download | dexon-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.ts | 15 |
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 |