Address comments

This commit is contained in:
Michael Zhu
2020-03-04 16:36:06 -08:00
parent 9c5ac26170
commit 490094939f
3 changed files with 63 additions and 53 deletions

View File

@@ -3,8 +3,7 @@ import { assetDataUtils } from '@0x/order-utils';
import { StaticCallAssetData } from '@0x/types';
import { AbiEncoder, BigNumber } from '@0x/utils';
const maxGasPriceEncoder = AbiEncoder.create([{ name: 'maxGasPrice', type: 'uint256' }]);
const customGasPriceEncoder = AbiEncoder.createMethod('checkGasPrice', [{ name: 'data', type: 'bytes' }]);
const customGasPriceEncoder = AbiEncoder.createMethod('checkGasPrice', [{ name: 'maxGasPrice', type: 'uint256' }]);
const defaultGasPriceEncoder = AbiEncoder.createMethod('checkGasPrice', []);
const ONE_GWEI = new BigNumber(10 ** 9);
@@ -16,11 +15,7 @@ export const TWENTY_GWEI = ONE_GWEI.times(20);
*/
export function encodeMaxGasPriceStaticCallData(maxGasPriceContractAddress: string, maxGasPrice?: BigNumber): string {
const staticCallData =
maxGasPrice === undefined
? defaultGasPriceEncoder.encode({})
: customGasPriceEncoder.encode({
data: maxGasPriceEncoder.encode({ maxGasPrice }),
});
maxGasPrice === undefined ? defaultGasPriceEncoder.encode({}) : customGasPriceEncoder.encode({ maxGasPrice });
return assetDataUtils.encodeStaticCallAssetData(
maxGasPriceContractAddress,
staticCallData,
@@ -35,8 +30,7 @@ export function decodeMaxGasPriceStaticCallData(assetData: string): BigNumber {
// tslint:disable-next-line:no-unnecessary-type-assertion
const { staticCallData } = assetDataUtils.decodeAssetDataOrThrow(assetData) as StaticCallAssetData;
try {
const { maxGasPrice } = maxGasPriceEncoder.decode(customGasPriceEncoder.strictDecode<string>(staticCallData));
return maxGasPrice;
return customGasPriceEncoder.strictDecode<BigNumber>(staticCallData);
} catch (e) {
defaultGasPriceEncoder.strictDecode(staticCallData);
return TWENTY_GWEI;