diff options
Diffstat (limited to 'packages/contract-wrappers')
-rw-r--r-- | packages/contract-wrappers/CHANGELOG.json | 30 | ||||
-rw-r--r-- | packages/contract-wrappers/CHANGELOG.md | 12 | ||||
-rw-r--r-- | packages/contract-wrappers/package.json | 26 | ||||
-rw-r--r-- | packages/contract-wrappers/src/utils/transaction_encoder.ts | 19 | ||||
-rw-r--r-- | packages/contract-wrappers/test/transaction_encoder_test.ts | 4 |
5 files changed, 63 insertions, 28 deletions
diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 413563f80..73c8e6070 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,13 +1,39 @@ [ { - "version": "6.0.1", + "version": "7.0.2", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1549547375 + }, + { + "timestamp": 1549504360, + "version": "7.0.1", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, + { + "version": "7.0.0", "changes": [ { "note": "Fix OrderValidatorWrapper constructor to use the correct address", "pr": 1568 + }, + { + "note": "Use new `ZeroExTransaction` interface", + "pr": 1576 + }, + { + "note": "Rename `getTransactionHex` to `getTransactionHashHex`", + "pr": 1576 } ], - "timestamp": 1549373905 + "timestamp": 1549452781 }, { "version": "6.0.0", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index 03cb40fac..2e174e767 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -5,9 +5,19 @@ Edit the package's CHANGELOG.json file only. CHANGELOG -## v6.0.1 - _February 5, 2019_ +## v7.0.2 - _February 7, 2019_ + + * Dependencies updated + +## v7.0.1 - _February 7, 2019_ + + * Dependencies updated + +## v7.0.0 - _February 6, 2019_ * Fix OrderValidatorWrapper constructor to use the correct address (#1568) + * Use new `ZeroExTransaction` interface (#1576) + * Rename `getTransactionHex` to `getTransactionHashHex` (#1576) ## v6.0.0 - _Invalid date_ diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index 562eba81c..7ea270eb5 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "6.0.1", + "version": "7.0.2", "description": "Smart TS wrappers for 0x smart contracts", "keywords": [ "0xproject", @@ -37,9 +37,9 @@ "node": ">=6.0.0" }, "devDependencies": { - "@0x/dev-utils": "^2.0.0", - "@0x/migrations": "^3.0.0", - "@0x/subproviders": "^3.0.0", + "@0x/dev-utils": "^2.0.2", + "@0x/migrations": "^3.0.3", + "@0x/subproviders": "^3.0.2", "@0x/tslint-config": "^3.0.0", "@types/lodash": "4.14.104", "@types/mocha": "^2.2.42", @@ -65,18 +65,18 @@ "web3-provider-engine": "14.0.6" }, "dependencies": { - "@0x/abi-gen-wrappers": "^3.0.0", - "@0x/assert": "^2.0.0", + "@0x/abi-gen-wrappers": "^3.0.2", + "@0x/assert": "^2.0.2", "@0x/contract-addresses": "^2.2.1", "@0x/contract-artifacts": "^1.3.0", - "@0x/contracts-test-utils": "^3.0.0", - "@0x/fill-scenarios": "^2.0.0", - "@0x/json-schemas": "^3.0.0", - "@0x/order-utils": "^4.0.0", - "@0x/types": "^2.0.0", + "@0x/contracts-test-utils": "^3.0.3", + "@0x/fill-scenarios": "^2.0.3", + "@0x/json-schemas": "^3.0.2", + "@0x/order-utils": "^6.0.1", + "@0x/types": "^2.0.2", "@0x/typescript-typings": "^4.0.0", - "@0x/utils": "^4.0.1", - "@0x/web3-wrapper": "^4.0.0", + "@0x/utils": "^4.0.3", + "@0x/web3-wrapper": "^4.0.2", "ethereum-types": "^2.0.0", "ethereumjs-abi": "0.6.5", "ethereumjs-blockstream": "6.0.0", diff --git a/packages/contract-wrappers/src/utils/transaction_encoder.ts b/packages/contract-wrappers/src/utils/transaction_encoder.ts index 0cf08a8fe..307487a9b 100644 --- a/packages/contract-wrappers/src/utils/transaction_encoder.ts +++ b/packages/contract-wrappers/src/utils/transaction_encoder.ts @@ -1,9 +1,9 @@ import { ExchangeContract } from '@0x/abi-gen-wrappers'; import { schemas } from '@0x/json-schemas'; -import { eip712Utils } from '@0x/order-utils'; +import { transactionHashUtils } from '@0x/order-utils'; import { Order, SignedOrder } from '@0x/types'; -import { BigNumber, signTypedDataUtils } from '@0x/utils'; +import { BigNumber } from '@0x/utils'; import _ = require('lodash'); import { assert } from './assert'; @@ -19,23 +19,22 @@ export class TransactionEncoder { this._exchangeInstance = exchangeInstance; } /** - * Encodes the transaction data for use with the Exchange contract. + * Hashes the transaction data for use with the Exchange contract. * @param data The ABI Encoded 0x Exchange method. I.e fillOrder * @param salt A random value to provide uniqueness and prevent replay attacks. * @param signerAddress The address which will sign this transaction. - * @return An unsigned hex encoded transaction for use in 0x Exchange executeTransaction. + * @return The hash of the 0x transaction. */ - public getTransactionHex(data: string, salt: BigNumber, signerAddress: string): string { + public getTransactionHashHex(data: string, salt: BigNumber, signerAddress: string): string { const exchangeAddress = this._getExchangeContract().address; - const executeTransactionData = { + const transaction = { + verifyingContractAddress: exchangeAddress, salt, signerAddress, data, }; - const typedData = eip712Utils.createZeroExTransactionTypedData(executeTransactionData, exchangeAddress); - const eip712MessageBuffer = signTypedDataUtils.generateTypedDataHash(typedData); - const messageHex = `0x${eip712MessageBuffer.toString('hex')}`; - return messageHex; + const hashHex = transactionHashUtils.getTransactionHashHex(transaction); + return hashHex; } /** * Encodes a fillOrder transaction. diff --git a/packages/contract-wrappers/test/transaction_encoder_test.ts b/packages/contract-wrappers/test/transaction_encoder_test.ts index ef9eb2cf3..a996b9f08 100644 --- a/packages/contract-wrappers/test/transaction_encoder_test.ts +++ b/packages/contract-wrappers/test/transaction_encoder_test.ts @@ -83,8 +83,8 @@ describe('TransactionEncoder', () => { signerAddress: string = takerAddress, ): Promise<void> => { const salt = generatePseudoRandomSalt(); - const encodedTransaction = encoder.getTransactionHex(data, salt, signerAddress); - const signature = await signatureUtils.ecSignHashAsync(provider, encodedTransaction, signerAddress); + const transactionHash = encoder.getTransactionHashHex(data, salt, signerAddress); + const signature = await signatureUtils.ecSignHashAsync(provider, transactionHash, signerAddress); txHash = await contractWrappers.exchange.executeTransactionAsync( salt, signerAddress, |