From f4e4eef48e703afb923ba4f969fc77f32be81745 Mon Sep 17 00:00:00 2001
From: Leonid Logvinov <logvinov.leon@gmail.com>
Date: Mon, 1 Oct 2018 16:37:35 +0200
Subject: Introduce a build:ci command that doesn't build webpack bundles

---
 packages/contract-wrappers/package.json | 1 +
 1 file changed, 1 insertion(+)

(limited to 'packages/contract-wrappers')

diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json
index b561fff75..22dd6521c 100644
--- a/packages/contract-wrappers/package.json
+++ b/packages/contract-wrappers/package.json
@@ -12,6 +12,7 @@
     "types": "lib/src/index.d.ts",
     "scripts": {
         "build": "yarn pre_build && tsc -b",
+        "build:ci": "yarn build",
         "pre_build": "run-s update_artifacts generate_contract_wrappers copy_artifacts",
         "generate_contract_wrappers": "abi-gen --abis 'src/artifacts/@(Exchange|DummyERC20Token|DummyERC721Token|ZRXToken|ERC20Token|ERC721Token|WETH9|ERC20Proxy|ERC721Proxy|Forwarder|OrderValidator).json' --template ../contract_templates/contract.handlebars --partials '../contract_templates/partials/**/*.handlebars' --output src/contract_wrappers/generated --backend ethers",
         "lint": "tslint --project . --exclude **/src/contract_wrappers/**/* --exclude **/lib/**/*",
-- 
cgit v1.2.3


From 8c985eb579803692cb696ee0028bd132345cfd8e Mon Sep 17 00:00:00 2001
From: Leonid Logvinov <logvinov.leon@gmail.com>
Date: Mon, 1 Oct 2018 17:30:23 +0200
Subject: Fix linter issue

---
 packages/contract-wrappers/src/contract_wrappers.ts   |  2 +-
 .../src/fetchers/order_filled_cancelled_fetcher.ts    |  1 -
 packages/contract-wrappers/src/utils/assert.ts        |  2 +-
 packages/contract-wrappers/src/utils/decorators.ts    |  5 ++---
 .../src/utils/exchange_transfer_simulator.ts          |  2 +-
 packages/contract-wrappers/src/utils/filter_utils.ts  |  2 +-
 .../src/utils/transaction_encoder.ts                  |  2 +-
 .../test/calldata_optimization_utils_test.ts          |  1 -
 .../contract-wrappers/test/erc721_wrapper_test.ts     | 19 ++++++++++---------
 .../test/ether_token_wrapper_test.ts                  |  2 +-
 .../contract-wrappers/test/forwarder_wrapper_test.ts  | 10 ++++------
 .../test/order_validator_wrapper_test.ts              | 12 +++++-------
 packages/contract-wrappers/test/subscription_test.ts  | 12 ++----------
 13 files changed, 29 insertions(+), 43 deletions(-)

(limited to 'packages/contract-wrappers')

diff --git a/packages/contract-wrappers/src/contract_wrappers.ts b/packages/contract-wrappers/src/contract_wrappers.ts
index 4272cc943..89402029b 100644
--- a/packages/contract-wrappers/src/contract_wrappers.ts
+++ b/packages/contract-wrappers/src/contract_wrappers.ts
@@ -58,7 +58,7 @@ export class ContractWrappers {
      */
     public orderValidator: OrderValidatorWrapper;
 
-    private _web3Wrapper: Web3Wrapper;
+    private readonly _web3Wrapper: Web3Wrapper;
     /**
      * Instantiates a new ContractWrappers instance.
      * @param   provider    The Provider instance you would like the 0x.js library to use for interacting with
diff --git a/packages/contract-wrappers/src/fetchers/order_filled_cancelled_fetcher.ts b/packages/contract-wrappers/src/fetchers/order_filled_cancelled_fetcher.ts
index ba6f5fb5e..7a252aed3 100644
--- a/packages/contract-wrappers/src/fetchers/order_filled_cancelled_fetcher.ts
+++ b/packages/contract-wrappers/src/fetchers/order_filled_cancelled_fetcher.ts
@@ -3,7 +3,6 @@ import { AbstractOrderFilledCancelledFetcher } from '@0xproject/order-utils';
 import { BigNumber } from '@0xproject/utils';
 import { BlockParamLiteral } from 'ethereum-types';
 
-import { ERC20TokenWrapper } from '../contract_wrappers/erc20_token_wrapper';
 import { ExchangeWrapper } from '../contract_wrappers/exchange_wrapper';
 
 export class OrderFilledCancelledFetcher implements AbstractOrderFilledCancelledFetcher {
diff --git a/packages/contract-wrappers/src/utils/assert.ts b/packages/contract-wrappers/src/utils/assert.ts
index bed833b8f..30726c546 100644
--- a/packages/contract-wrappers/src/utils/assert.ts
+++ b/packages/contract-wrappers/src/utils/assert.ts
@@ -1,7 +1,7 @@
 import { assert as sharedAssert } from '@0xproject/assert';
 // HACK: We need those two unused imports because they're actually used by sharedAssert which gets injected here
 import { Schema } from '@0xproject/json-schemas'; // tslint:disable-line:no-unused-variable
-import { signatureUtils, assetDataUtils } from '@0xproject/order-utils';
+import { assetDataUtils, signatureUtils } from '@0xproject/order-utils';
 import { Order } from '@0xproject/types'; // tslint:disable-line:no-unused-variable
 import { BigNumber } from '@0xproject/utils'; // tslint:disable-line:no-unused-variable
 import { Web3Wrapper } from '@0xproject/web3-wrapper';
diff --git a/packages/contract-wrappers/src/utils/decorators.ts b/packages/contract-wrappers/src/utils/decorators.ts
index d6bf6ec1e..e17246015 100644
--- a/packages/contract-wrappers/src/utils/decorators.ts
+++ b/packages/contract-wrappers/src/utils/decorators.ts
@@ -1,4 +1,3 @@
-import { RevertReason } from '@0xproject/types';
 import * as _ from 'lodash';
 
 import { AsyncMethod, ContractWrappersError, SyncMethod } from '../types';
@@ -46,7 +45,7 @@ const asyncErrorHandlerFactory = (errorTransformer: ErrorTransformer) => {
         // tslint:disable-next-line:only-arrow-functions
         descriptor.value = async function(...args: any[]): Promise<any> {
             try {
-                const result = await originalMethod.apply(this, args);
+                const result = await originalMethod.apply(this, args); // tslint:disable-line:no-invalid-this
                 return result;
             } catch (error) {
                 const transformedError = errorTransformer(error);
@@ -73,7 +72,7 @@ const syncErrorHandlerFactory = (errorTransformer: ErrorTransformer) => {
         // tslint:disable-next-line:only-arrow-functions
         descriptor.value = function(...args: any[]): any {
             try {
-                const result = originalMethod.apply(this, args);
+                const result = originalMethod.apply(this, args); // tslint:disable-line:no-invalid-this
                 return result;
             } catch (error) {
                 const transformedError = errorTransformer(error);
diff --git a/packages/contract-wrappers/src/utils/exchange_transfer_simulator.ts b/packages/contract-wrappers/src/utils/exchange_transfer_simulator.ts
index 279f2a796..a7c4a238f 100644
--- a/packages/contract-wrappers/src/utils/exchange_transfer_simulator.ts
+++ b/packages/contract-wrappers/src/utils/exchange_transfer_simulator.ts
@@ -34,7 +34,7 @@ const ERR_MSG_MAPPING = {
 };
 
 export class ExchangeTransferSimulator {
-    private _store: AbstractBalanceAndProxyAllowanceLazyStore;
+    private readonly _store: AbstractBalanceAndProxyAllowanceLazyStore;
     private static _throwValidationError(
         failureReason: FailureReason,
         tradeSide: TradeSide,
diff --git a/packages/contract-wrappers/src/utils/filter_utils.ts b/packages/contract-wrappers/src/utils/filter_utils.ts
index 0e73987f7..c05be062c 100644
--- a/packages/contract-wrappers/src/utils/filter_utils.ts
+++ b/packages/contract-wrappers/src/utils/filter_utils.ts
@@ -1,4 +1,4 @@
-import { ConstructorAbi, ContractAbi, EventAbi, FallbackAbi, FilterObject, LogEntry, MethodAbi } from 'ethereum-types';
+import { ContractAbi, EventAbi, FilterObject, LogEntry } from 'ethereum-types';
 import * as ethUtil from 'ethereumjs-util';
 import * as jsSHA3 from 'js-sha3';
 import * as _ from 'lodash';
diff --git a/packages/contract-wrappers/src/utils/transaction_encoder.ts b/packages/contract-wrappers/src/utils/transaction_encoder.ts
index 8821079dc..87cbb43fd 100644
--- a/packages/contract-wrappers/src/utils/transaction_encoder.ts
+++ b/packages/contract-wrappers/src/utils/transaction_encoder.ts
@@ -23,7 +23,7 @@ const EIP712_ZEROEX_TRANSACTION_SCHEMA: EIP712Schema = {
  * can submit this to the blockchain. The Exchange context executes as if UserA had directly submitted this transaction.
  */
 export class TransactionEncoder {
-    private _exchangeInstance: ExchangeContract;
+    private readonly _exchangeInstance: ExchangeContract;
     constructor(exchangeInstance: ExchangeContract) {
         this._exchangeInstance = exchangeInstance;
     }
diff --git a/packages/contract-wrappers/test/calldata_optimization_utils_test.ts b/packages/contract-wrappers/test/calldata_optimization_utils_test.ts
index a3abb8503..94e55bffa 100644
--- a/packages/contract-wrappers/test/calldata_optimization_utils_test.ts
+++ b/packages/contract-wrappers/test/calldata_optimization_utils_test.ts
@@ -3,7 +3,6 @@ import * as chai from 'chai';
 import * as _ from 'lodash';
 import 'mocha';
 
-import { assert } from '../src/utils/assert';
 import { calldataOptimizationUtils } from '../src/utils/calldata_optimization_utils';
 import { constants } from '../src/utils/constants';
 
diff --git a/packages/contract-wrappers/test/erc721_wrapper_test.ts b/packages/contract-wrappers/test/erc721_wrapper_test.ts
index ab6ff0984..10bac6086 100644
--- a/packages/contract-wrappers/test/erc721_wrapper_test.ts
+++ b/packages/contract-wrappers/test/erc721_wrapper_test.ts
@@ -229,11 +229,17 @@ describe('ERC721Wrapper', () => {
         it('should set the proxy approval', async () => {
             const tokenId = await tokenUtils.mintDummyERC721Async(tokenAddress, ownerAddress);
 
-            const approvalBeforeSet = await contractWrappers.erc721Token.isProxyApprovedAsync(tokenAddress, tokenId);
-            expect(approvalBeforeSet).to.be.false();
+            const isProxyApprovedBeforeSet = await contractWrappers.erc721Token.isProxyApprovedAsync(
+                tokenAddress,
+                tokenId,
+            );
+            expect(isProxyApprovedBeforeSet).to.be.false();
             await contractWrappers.erc721Token.setProxyApprovalAsync(tokenAddress, tokenId);
-            const approvalAfterSet = await contractWrappers.erc721Token.isProxyApprovedAsync(tokenAddress, tokenId);
-            expect(approvalAfterSet).to.be.true();
+            const isProxyApprovedAfterSet = await contractWrappers.erc721Token.isProxyApprovedAsync(
+                tokenAddress,
+                tokenId,
+            );
+            expect(isProxyApprovedAfterSet).to.be.true();
         });
     });
     describe('#subscribe', () => {
@@ -357,7 +363,6 @@ describe('ERC721Wrapper', () => {
                 );
                 contractWrappers.erc721Token.unsubscribe(subscriptionToken);
 
-                const tokenId = await tokenUtils.mintDummyERC721Async(tokenAddress, ownerAddress);
                 const isApproved = true;
                 await web3Wrapper.awaitTransactionSuccessAsync(
                     await contractWrappers.erc721Token.setApprovalForAllAsync(
@@ -373,15 +378,11 @@ describe('ERC721Wrapper', () => {
         });
     });
     describe('#getLogsAsync', () => {
-        let tokenTransferProxyAddress: string;
         const blockRange: BlockRange = {
             fromBlock: 0,
             toBlock: BlockParamLiteral.Latest,
         };
         let txHash: string;
-        before(() => {
-            tokenTransferProxyAddress = contractWrappers.erc721Proxy.getContractAddress();
-        });
         it('should get logs with decoded args emitted by ApprovalForAll', async () => {
             const isApprovedForAll = true;
             txHash = await contractWrappers.erc721Token.setApprovalForAllAsync(
diff --git a/packages/contract-wrappers/test/ether_token_wrapper_test.ts b/packages/contract-wrappers/test/ether_token_wrapper_test.ts
index c15b8c016..c48fc224f 100644
--- a/packages/contract-wrappers/test/ether_token_wrapper_test.ts
+++ b/packages/contract-wrappers/test/ether_token_wrapper_test.ts
@@ -344,7 +344,7 @@ describe('EtherTokenWrapper', () => {
             etherTokenAddress = tokenUtils.getWethTokenAddress();
             erc20ProxyAddress = contractWrappers.erc20Proxy.getContractAddress();
             // Start the block range after all migrations to avoid unexpected logs
-            const currentBlock = await web3Wrapper.getBlockNumberAsync();
+            const currentBlock: number = await web3Wrapper.getBlockNumberAsync();
             const fromBlock = currentBlock + 1;
             blockRange = {
                 fromBlock,
diff --git a/packages/contract-wrappers/test/forwarder_wrapper_test.ts b/packages/contract-wrappers/test/forwarder_wrapper_test.ts
index a969807b2..f77b47337 100644
--- a/packages/contract-wrappers/test/forwarder_wrapper_test.ts
+++ b/packages/contract-wrappers/test/forwarder_wrapper_test.ts
@@ -1,14 +1,12 @@
-import { BlockchainLifecycle, callbackErrorReporter } from '@0xproject/dev-utils';
+import { BlockchainLifecycle } from '@0xproject/dev-utils';
 import { FillScenarios } from '@0xproject/fill-scenarios';
-import { assetDataUtils, orderHashUtils } from '@0xproject/order-utils';
-import { DoneCallback, SignedOrder } from '@0xproject/types';
+import { assetDataUtils } from '@0xproject/order-utils';
+import { SignedOrder } from '@0xproject/types';
 import { BigNumber } from '@0xproject/utils';
 import * as chai from 'chai';
-import { BlockParamLiteral } from 'ethereum-types';
 import 'mocha';
 
-import { ContractWrappers, ExchangeCancelEventArgs, ExchangeEvents, ExchangeFillEventArgs, OrderStatus } from '../src';
-import { DecodedLogEvent } from '../src/types';
+import { ContractWrappers, OrderStatus } from '../src';
 
 import { chaiSetup } from './utils/chai_setup';
 import { constants } from './utils/constants';
diff --git a/packages/contract-wrappers/test/order_validator_wrapper_test.ts b/packages/contract-wrappers/test/order_validator_wrapper_test.ts
index 2fdb00a71..baac3eeee 100644
--- a/packages/contract-wrappers/test/order_validator_wrapper_test.ts
+++ b/packages/contract-wrappers/test/order_validator_wrapper_test.ts
@@ -1,15 +1,14 @@
-import { BlockchainLifecycle, callbackErrorReporter } from '@0xproject/dev-utils';
+import { BlockchainLifecycle } from '@0xproject/dev-utils';
 import { FillScenarios } from '@0xproject/fill-scenarios';
-import { assetDataUtils, orderHashUtils } from '@0xproject/order-utils';
-import { DoneCallback, SignedOrder } from '@0xproject/types';
+import { assetDataUtils } from '@0xproject/order-utils';
+import { SignedOrder } from '@0xproject/types';
 import { BigNumber } from '@0xproject/utils';
 import * as chai from 'chai';
-import { BlockParamLiteral } from 'ethereum-types';
 import * as _ from 'lodash';
 import 'mocha';
 
-import { ContractWrappers, ExchangeCancelEventArgs, ExchangeEvents, ExchangeFillEventArgs, OrderStatus } from '../src';
-import { DecodedLogEvent, OrderInfo, TraderInfo } from '../src/types';
+import { ContractWrappers, OrderStatus } from '../src';
+import { OrderInfo, TraderInfo } from '../src/types';
 
 import { chaiSetup } from './utils/chai_setup';
 import { constants } from './utils/constants';
@@ -26,7 +25,6 @@ describe('OrderValidator', () => {
         blockPollingIntervalMs: 0,
     };
     const fillableAmount = new BigNumber(5);
-    const partialFillAmount = new BigNumber(2);
     let contractWrappers: ContractWrappers;
     let fillScenarios: FillScenarios;
     let exchangeContractAddress: string;
diff --git a/packages/contract-wrappers/test/subscription_test.ts b/packages/contract-wrappers/test/subscription_test.ts
index 68ef7225e..6ec7519fe 100644
--- a/packages/contract-wrappers/test/subscription_test.ts
+++ b/packages/contract-wrappers/test/subscription_test.ts
@@ -1,6 +1,5 @@
-import { BlockchainLifecycle, callbackErrorReporter } from '@0xproject/dev-utils';
+import { BlockchainLifecycle } from '@0xproject/dev-utils';
 import { DoneCallback } from '@0xproject/types';
-import { BigNumber } from '@0xproject/utils';
 import * as _ from 'lodash';
 import 'mocha';
 import * as Sinon from 'sinon';
@@ -18,17 +17,11 @@ const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
 
 describe('SubscriptionTest', () => {
     let contractWrappers: ContractWrappers;
-    let userAddresses: string[];
-    let coinbase: string;
-    let addressWithoutFunds: string;
     const config = {
         networkId: constants.TESTRPC_NETWORK_ID,
     };
     before(async () => {
         contractWrappers = new ContractWrappers(provider, config);
-        userAddresses = await web3Wrapper.getAvailableAddressesAsync();
-        coinbase = userAddresses[0];
-        addressWithoutFunds = userAddresses[1];
     });
     beforeEach(async () => {
         await blockchainLifecycle.startAsync();
@@ -39,7 +32,6 @@ describe('SubscriptionTest', () => {
     describe('#subscribe', () => {
         const indexFilterValues = {};
         let tokenAddress: string;
-        const allowanceAmount = new BigNumber(42);
         let stubs: Sinon.SinonStub[] = [];
         before(() => {
             const tokenAddresses = tokenUtils.getDummyERC20TokenAddresses();
@@ -53,7 +45,7 @@ describe('SubscriptionTest', () => {
         it('Should allow unsubscribeAll to be called successfully after an error', (done: DoneCallback) => {
             (async () => {
                 const callback = (err: Error | null, _logEvent?: DecodedLogEvent<ERC20TokenApprovalEventArgs>) =>
-                    _.noop;
+                    _.noop.bind(_);
                 contractWrappers.erc20Token.subscribe(
                     tokenAddress,
                     ERC20TokenEvents.Approval,
-- 
cgit v1.2.3