update abi-gen with new method interfaces (#2325)

* update abi-gen with new method interfaces

* wip: get all packages to build

* wip: get all packages to build

* Fix two contract wrapper calls

* Export necessary types part of the contract wrapper public interfaces

* Revive and fix wrapper_unit_tests

* Remove duplicate type

* Fix lib_exchange_rich_error_decoder tests

* Fix remaining test failures in contracts-* packages

* Prettier fixes

* remove transactionHelper

* lint and update changelogs

* Fix prettier

* Revert changes to reference docs

* Add back changelog already published and add revert changelog entry

* Add missing CHANGELOG entries

* Add missing comma

* Update mesh-rpc-client dep

* Update Mesh RPC logic in @0x/orderbook to v6.0.1-beta

* Align package versions
This commit is contained in:
Xianny
2019-11-14 11:22:29 -05:00
committed by GitHub
parent 9d4d9ce978
commit f0d7d10fe7
198 changed files with 30021 additions and 38850 deletions

View File

@@ -1,10 +1,4 @@
import {
constants,
filterLogsToArguments,
MutatorContractFunction,
TransactionHelper,
txDefaults as testTxDefaults,
} from '@0x/contracts-test-utils';
import { constants, filterLogsToArguments, txDefaults as testTxDefaults } from '@0x/contracts-test-utils';
import { orderHashUtils } from '@0x/order-utils';
import { FillResults, Order, OrderInfo, SignatureType } from '@0x/types';
import { BigNumber } from '@0x/utils';
@@ -41,7 +35,6 @@ export const DEFAULT_BAD_SIGNATURE = createBadSignature();
export class IsolatedExchangeWrapper {
public static readonly CHAIN_ID = 1337;
public readonly instance: IsolatedExchangeContract;
public readonly txHelper: TransactionHelper;
public lastTxEvents: IsolatedExchangeEvents = createEmptyEvents();
public lastTxBalanceChanges: AssetBalances = {};
@@ -71,19 +64,18 @@ export class IsolatedExchangeWrapper {
public constructor(web3Wrapper: Web3Wrapper, instance: IsolatedExchangeContract) {
this.instance = instance;
this.txHelper = new TransactionHelper(web3Wrapper, artifacts);
}
public async getTakerAssetFilledAmountAsync(order: Order): Promise<BigNumber> {
return this.instance.filled.callAsync(this.getOrderHash(order));
return this.instance.filled(this.getOrderHash(order)).callAsync();
}
public async cancelOrderAsync(order: Order, txOpts?: TxData): Promise<void> {
await this.instance.cancelOrder.awaitTransactionSuccessAsync(order, txOpts);
await this.instance.cancelOrder(order).awaitTransactionSuccessAsync(txOpts);
}
public async cancelOrdersUpToAsync(epoch: BigNumber, txOpts?: TxData): Promise<void> {
await this.instance.cancelOrdersUpTo.awaitTransactionSuccessAsync(epoch, txOpts);
await this.instance.cancelOrdersUpTo(epoch).awaitTransactionSuccessAsync(txOpts);
}
public async fillOrderAsync(
@@ -92,13 +84,14 @@ export class IsolatedExchangeWrapper {
signature: string = DEFAULT_GOOD_SIGNATURE,
txOpts?: TxData,
): Promise<FillResults> {
return this._runFillContractFunctionAsync(
this.instance.fillOrder,
order,
new BigNumber(takerAssetFillAmount),
signature,
txOpts,
);
this.lastTxEvents = createEmptyEvents();
this.lastTxBalanceChanges = {};
const fillOrderFn = this.instance.fillOrder(order, new BigNumber(takerAssetFillAmount), signature);
const result = await fillOrderFn.callAsync();
const receipt = await fillOrderFn.awaitTransactionSuccessAsync(txOpts);
this.lastTxEvents = extractEvents(receipt.logs);
this.lastTxBalanceChanges = getBalanceChangesFromTransferFromCalls(this.lastTxEvents.transferFromCalls);
return result;
}
public getOrderHash(order: Order): string {
@@ -110,7 +103,7 @@ export class IsolatedExchangeWrapper {
}
public async getOrderInfoAsync(order: Order): Promise<OrderInfo> {
return this.instance.getOrderInfo.callAsync(order);
return this.instance.getOrderInfo(order).callAsync();
}
public getBalanceChange(assetData: string, address: string): BigNumber {
@@ -122,23 +115,6 @@ export class IsolatedExchangeWrapper {
}
return constants.ZERO_AMOUNT;
}
protected async _runFillContractFunctionAsync<
TCallAsyncArgs extends any[],
TAwaitTransactionSuccessAsyncArgs extends any[],
TResult
>(
contractFunction: MutatorContractFunction<TCallAsyncArgs, TAwaitTransactionSuccessAsyncArgs, TResult>,
// tslint:disable-next-line: trailing-comma
...args: TAwaitTransactionSuccessAsyncArgs
): Promise<TResult> {
this.lastTxEvents = createEmptyEvents();
this.lastTxBalanceChanges = {};
const [result, receipt] = await this.txHelper.getResultAndReceiptAsync(contractFunction, ...args);
this.lastTxEvents = extractEvents(receipt.logs);
this.lastTxBalanceChanges = getBalanceChangesFromTransferFromCalls(this.lastTxEvents.transferFromCalls);
return result;
}
}
/**