prettify generated code for easier diffing (#1944)

This commit is contained in:
Xianny 2019-07-11 16:03:14 -07:00 committed by GitHub
parent 3a0b0c0973
commit ccb89fb26a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 440 additions and 558 deletions

View File

@ -24,12 +24,7 @@ lib
/contracts/exchange-forwarder/generated-artifacts /contracts/exchange-forwarder/generated-artifacts
/contracts/dev-utils/generated-wrappers /contracts/dev-utils/generated-wrappers
/contracts/dev-utils/generated-artifacts /contracts/dev-utils/generated-artifacts
/packages/abi-gen/test-cli/fixtures/artifacts/
/packages/abi-gen/test-cli/output /packages/abi-gen/test-cli/output
/packages/abi-gen/test-cli/expected-output
/packages/abi-gen-wrappers/src/generated-wrappers
/packages/contract-artifacts/artifacts
/python-packages/contract_artifacts/src/zero_ex/contract_artifacts/artifacts
/packages/json-schemas/schemas /packages/json-schemas/schemas
/python-packages/json_schemas/src/zero_ex/json_schemas/schemas /python-packages/json_schemas/src/zero_ex/json_schemas/schemas
/packages/metacoin/src/contract_wrappers /packages/metacoin/src/contract_wrappers

View File

@ -14,8 +14,9 @@
"build:ci": "yarn build", "build:ci": "yarn build",
"lint": "tslint --format stylish --project .", "lint": "tslint --format stylish --project .",
"fix": "tslint --fix --format stylish --project .", "fix": "tslint --fix --format stylish --project .",
"pre_build": "yarn generate_contract_wrappers", "pre_build": "yarn generate_contract_wrappers && yarn prettier_contract_wrappers",
"prettier": "prettier --write src/**/* --config ../../.prettierrc", "prettier": "prettier --write src/**/* --config ../../.prettierrc",
"prettier_contract_wrappers": "prettier --write src/generated-wrappers/* --config ../../.prettierrc",
"clean": "shx rm -rf lib src/generated-wrappers", "clean": "shx rm -rf lib src/generated-wrappers",
"generate_contract_wrappers": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output src/generated-wrappers --backend ethers" "generate_contract_wrappers": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output src/generated-wrappers --backend ethers"
}, },

View File

@ -12,7 +12,7 @@
"lint-contracts": "solhint -c ../../contracts/.solhint.json test-cli/contracts/*.sol", "lint-contracts": "solhint -c ../../contracts/.solhint.json test-cli/contracts/*.sol",
"fix": "tslint --fix --format stylish --project . && yarn lint-contracts", "fix": "tslint --fix --format stylish --project . && yarn lint-contracts",
"clean": "shx rm -rf lib && yarn test_cli:clean", "clean": "shx rm -rf lib && yarn test_cli:clean",
"build": "tsc -b && yarn generate_contract_wrappers && yarn test_cli:build", "build": "tsc -b && yarn generate_contract_wrappers && yarn prettier_contract_wrappers && yarn test_cli:build",
"build:ci": "yarn build", "build:ci": "yarn build",
"test": "yarn run_mocha && yarn test_cli", "test": "yarn run_mocha && yarn test_cli",
"test:circleci": "yarn test:coverage && yarn test_cli", "test:circleci": "yarn test:coverage && yarn test_cli",
@ -29,6 +29,7 @@
"clean:sol": "rm -rf test-cli/artifacts", "clean:sol": "rm -rf test-cli/artifacts",
"compile:sol": "sol-compiler", "compile:sol": "sol-compiler",
"watch:sol": "sol-compiler -w", "watch:sol": "sol-compiler -w",
"prettier_contract_wrappers": "prettier --write ./test-cli/output/typescript/* --config ../../.prettierrc",
"generate_contract_wrappers": "run-p gen_typescript gen_python", "generate_contract_wrappers": "run-p gen_typescript gen_python",
"gen_typescript": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output ./test-cli/output/typescript --backend ethers", "gen_typescript": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output ./test-cli/output/typescript --backend ethers",
"gen_python": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/Python/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/Python/partials/**/*.handlebars' --output ./test-cli/output/python --language Python", "gen_python": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/Python/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/Python/partials/**/*.handlebars' --output ./test-cli/output/python --language Python",

View File

@ -23,17 +23,12 @@ import { assert } from '@0x/assert';
import * as ethers from 'ethers'; import * as ethers from 'ethers';
// tslint:enable:no-unused-variable // tslint:enable:no-unused-variable
/* istanbul ignore next */ /* istanbul ignore next */
// tslint:disable:no-parameter-reassignment // tslint:disable:no-parameter-reassignment
// tslint:disable-next-line:class-name // tslint:disable-next-line:class-name
export class AbiGenDummyContract extends BaseContract { export class AbiGenDummyContract extends BaseContract {
public simpleRequire = { public simpleRequire = {
async callAsync( async callAsync(callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<void> {
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<void
> {
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
schemas.numberSchema, schemas.numberSchema,
@ -42,7 +37,7 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('simpleRequire()', []); const encodedData = self._strictEncodeArguments('simpleRequire()', []);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
@ -56,14 +51,12 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('simpleRequire()'); const abiEncoder = self._lookupAbiEncoder('simpleRequire()');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<void const result = abiEncoder.strictDecodeReturnValue<void>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(): string {
): string { const self = (this as any) as AbiGenDummyContract;
const self = this as any as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('simpleRequire()', []); const abiEncodedTransactionData = self._strictEncodeArguments('simpleRequire()', []);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
@ -76,8 +69,7 @@ export class AbiGenDummyContract extends BaseContract {
s: string, s: string,
callData: Partial<CallData> = {}, callData: Partial<CallData> = {},
defaultBlock?: BlockParam, defaultBlock?: BlockParam,
): Promise<string ): Promise<string> {
> {
assert.isString('hash', hash); assert.isString('hash', hash);
assert.isNumberOrBigNumber('v', v); assert.isNumberOrBigNumber('v', v);
assert.isString('r', r); assert.isString('r', r);
@ -90,11 +82,12 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('ecrecoverFn(bytes32,uint8,bytes32,bytes32)', [hash, const encodedData = self._strictEncodeArguments('ecrecoverFn(bytes32,uint8,bytes32,bytes32)', [
hash,
v, v,
r, r,
s s,
]); ]);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
@ -108,36 +101,25 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('ecrecoverFn(bytes32,uint8,bytes32,bytes32)'); const abiEncoder = self._lookupAbiEncoder('ecrecoverFn(bytes32,uint8,bytes32,bytes32)');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<string const result = abiEncoder.strictDecodeReturnValue<string>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(hash: string, v: number | BigNumber, r: string, s: string): string {
hash: string,
v: number|BigNumber,
r: string,
s: string,
): string {
assert.isString('hash', hash); assert.isString('hash', hash);
assert.isNumberOrBigNumber('v', v); assert.isNumberOrBigNumber('v', v);
assert.isString('r', r); assert.isString('r', r);
assert.isString('s', s); assert.isString('s', s);
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('ecrecoverFn(bytes32,uint8,bytes32,bytes32)', [hash, const abiEncodedTransactionData = self._strictEncodeArguments(
v, 'ecrecoverFn(bytes32,uint8,bytes32,bytes32)',
r, [hash, v, r, s],
s );
]);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
public revertWithConstant = { public revertWithConstant = {
async callAsync( async callAsync(callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<void> {
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<void
> {
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
schemas.numberSchema, schemas.numberSchema,
@ -146,7 +128,7 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('revertWithConstant()', []); const encodedData = self._strictEncodeArguments('revertWithConstant()', []);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
@ -160,24 +142,18 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('revertWithConstant()'); const abiEncoder = self._lookupAbiEncoder('revertWithConstant()');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<void const result = abiEncoder.strictDecodeReturnValue<void>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(): string {
): string { const self = (this as any) as AbiGenDummyContract;
const self = this as any as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('revertWithConstant()', []); const abiEncodedTransactionData = self._strictEncodeArguments('revertWithConstant()', []);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
public simpleRevert = { public simpleRevert = {
async callAsync( async callAsync(callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<void> {
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<void
> {
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
schemas.numberSchema, schemas.numberSchema,
@ -186,7 +162,7 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('simpleRevert()', []); const encodedData = self._strictEncodeArguments('simpleRevert()', []);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
@ -200,24 +176,18 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('simpleRevert()'); const abiEncoder = self._lookupAbiEncoder('simpleRevert()');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<void const result = abiEncoder.strictDecodeReturnValue<void>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(): string {
): string { const self = (this as any) as AbiGenDummyContract;
const self = this as any as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('simpleRevert()', []); const abiEncodedTransactionData = self._strictEncodeArguments('simpleRevert()', []);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
public requireWithConstant = { public requireWithConstant = {
async callAsync( async callAsync(callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<void> {
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<void
> {
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
schemas.numberSchema, schemas.numberSchema,
@ -226,7 +196,7 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('requireWithConstant()', []); const encodedData = self._strictEncodeArguments('requireWithConstant()', []);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
@ -240,25 +210,18 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('requireWithConstant()'); const abiEncoder = self._lookupAbiEncoder('requireWithConstant()');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<void const result = abiEncoder.strictDecodeReturnValue<void>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(): string {
): string { const self = (this as any) as AbiGenDummyContract;
const self = this as any as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('requireWithConstant()', []); const abiEncodedTransactionData = self._strictEncodeArguments('requireWithConstant()', []);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
public simplePureFunctionWithInput = { public simplePureFunctionWithInput = {
async callAsync( async callAsync(x: BigNumber, callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<BigNumber> {
x: BigNumber,
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<BigNumber
> {
assert.isBigNumber('x', x); assert.isBigNumber('x', x);
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
@ -268,9 +231,8 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('simplePureFunctionWithInput(uint256)', [x const encodedData = self._strictEncodeArguments('simplePureFunctionWithInput(uint256)', [x]);
]);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
to: self.address, to: self.address,
@ -283,27 +245,19 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('simplePureFunctionWithInput(uint256)'); const abiEncoder = self._lookupAbiEncoder('simplePureFunctionWithInput(uint256)');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<BigNumber const result = abiEncoder.strictDecodeReturnValue<BigNumber>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(x: BigNumber): string {
x: BigNumber,
): string {
assert.isBigNumber('x', x); assert.isBigNumber('x', x);
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('simplePureFunctionWithInput(uint256)', [x const abiEncodedTransactionData = self._strictEncodeArguments('simplePureFunctionWithInput(uint256)', [x]);
]);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
public simplePureFunction = { public simplePureFunction = {
async callAsync( async callAsync(callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<BigNumber> {
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<BigNumber
> {
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
schemas.numberSchema, schemas.numberSchema,
@ -312,7 +266,7 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('simplePureFunction()', []); const encodedData = self._strictEncodeArguments('simplePureFunction()', []);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
@ -326,24 +280,18 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('simplePureFunction()'); const abiEncoder = self._lookupAbiEncoder('simplePureFunction()');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<BigNumber const result = abiEncoder.strictDecodeReturnValue<BigNumber>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(): string {
): string { const self = (this as any) as AbiGenDummyContract;
const self = this as any as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('simplePureFunction()', []); const abiEncodedTransactionData = self._strictEncodeArguments('simplePureFunction()', []);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
public pureFunctionWithConstant = { public pureFunctionWithConstant = {
async callAsync( async callAsync(callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<BigNumber> {
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<BigNumber
> {
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
schemas.numberSchema, schemas.numberSchema,
@ -352,7 +300,7 @@ export class AbiGenDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as AbiGenDummyContract; const self = (this as any) as AbiGenDummyContract;
const encodedData = self._strictEncodeArguments('pureFunctionWithConstant()', []); const encodedData = self._strictEncodeArguments('pureFunctionWithConstant()', []);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
@ -366,14 +314,12 @@ export class AbiGenDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('pureFunctionWithConstant()'); const abiEncoder = self._lookupAbiEncoder('pureFunctionWithConstant()');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<BigNumber const result = abiEncoder.strictDecodeReturnValue<BigNumber>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(): string {
): string { const self = (this as any) as AbiGenDummyContract;
const self = this as any as AbiGenDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('pureFunctionWithConstant()', []); const abiEncodedTransactionData = self._strictEncodeArguments('pureFunctionWithConstant()', []);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
@ -394,7 +340,7 @@ export class AbiGenDummyContract extends BaseContract {
const provider = providerUtils.standardizeOrThrow(supportedProvider); const provider = providerUtils.standardizeOrThrow(supportedProvider);
const bytecode = artifact.compilerOutput.evm.bytecode.object; const bytecode = artifact.compilerOutput.evm.bytecode.object;
const abi = artifact.compilerOutput.abi; const abi = artifact.compilerOutput.abi;
return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults, ); return AbiGenDummyContract.deployAsync(bytecode, abi, provider, txDefaults);
} }
public static async deployAsync( public static async deployAsync(
bytecode: string, bytecode: string,
@ -410,11 +356,7 @@ export class AbiGenDummyContract extends BaseContract {
]); ]);
const provider = providerUtils.standardizeOrThrow(supportedProvider); const provider = providerUtils.standardizeOrThrow(supportedProvider);
const constructorAbi = BaseContract._lookupConstructorAbi(abi); const constructorAbi = BaseContract._lookupConstructorAbi(abi);
[] = BaseContract._formatABIDataItemList( [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString);
constructorAbi.inputs,
[],
BaseContract._bigNumberToString,
);
const iface = new ethers.utils.Interface(abi); const iface = new ethers.utils.Interface(abi);
const deployInfo = iface.deployFunction; const deployInfo = iface.deployFunction;
const txData = deployInfo.encode(bytecode, []); const txData = deployInfo.encode(bytecode, []);
@ -433,7 +375,6 @@ export class AbiGenDummyContract extends BaseContract {
return contractInstance; return contractInstance;
} }
/** /**
* @returns The contract ABI * @returns The contract ABI
*/ */
@ -441,11 +382,9 @@ export class AbiGenDummyContract extends BaseContract {
const abi = [ const abi = [
{ {
constant: true, constant: true,
inputs: [ inputs: [],
],
name: 'simpleRequire', name: 'simpleRequire',
outputs: [ outputs: [],
],
payable: false, payable: false,
stateMutability: 'pure', stateMutability: 'pure',
type: 'function', type: 'function',
@ -456,22 +395,18 @@ export class AbiGenDummyContract extends BaseContract {
{ {
name: 'hash', name: 'hash',
type: 'bytes32', type: 'bytes32',
}, },
{ {
name: 'v', name: 'v',
type: 'uint8', type: 'uint8',
}, },
{ {
name: 'r', name: 'r',
type: 'bytes32', type: 'bytes32',
}, },
{ {
name: 's', name: 's',
type: 'bytes32', type: 'bytes32',
}, },
], ],
name: 'ecrecoverFn', name: 'ecrecoverFn',
@ -479,7 +414,6 @@ export class AbiGenDummyContract extends BaseContract {
{ {
name: 'signerAddress', name: 'signerAddress',
type: 'address', type: 'address',
}, },
], ],
payable: false, payable: false,
@ -488,33 +422,27 @@ export class AbiGenDummyContract extends BaseContract {
}, },
{ {
constant: true, constant: true,
inputs: [ inputs: [],
],
name: 'revertWithConstant', name: 'revertWithConstant',
outputs: [ outputs: [],
],
payable: false, payable: false,
stateMutability: 'pure', stateMutability: 'pure',
type: 'function', type: 'function',
}, },
{ {
constant: true, constant: true,
inputs: [ inputs: [],
],
name: 'simpleRevert', name: 'simpleRevert',
outputs: [ outputs: [],
],
payable: false, payable: false,
stateMutability: 'pure', stateMutability: 'pure',
type: 'function', type: 'function',
}, },
{ {
constant: true, constant: true,
inputs: [ inputs: [],
],
name: 'requireWithConstant', name: 'requireWithConstant',
outputs: [ outputs: [],
],
payable: false, payable: false,
stateMutability: 'pure', stateMutability: 'pure',
type: 'function', type: 'function',
@ -525,7 +453,6 @@ export class AbiGenDummyContract extends BaseContract {
{ {
name: 'x', name: 'x',
type: 'uint256', type: 'uint256',
}, },
], ],
name: 'simplePureFunctionWithInput', name: 'simplePureFunctionWithInput',
@ -533,7 +460,6 @@ export class AbiGenDummyContract extends BaseContract {
{ {
name: 'sum', name: 'sum',
type: 'uint256', type: 'uint256',
}, },
], ],
payable: false, payable: false,
@ -542,14 +468,12 @@ export class AbiGenDummyContract extends BaseContract {
}, },
{ {
constant: true, constant: true,
inputs: [ inputs: [],
],
name: 'simplePureFunction', name: 'simplePureFunction',
outputs: [ outputs: [
{ {
name: 'result', name: 'result',
type: 'uint256', type: 'uint256',
}, },
], ],
payable: false, payable: false,
@ -558,14 +482,12 @@ export class AbiGenDummyContract extends BaseContract {
}, },
{ {
constant: true, constant: true,
inputs: [ inputs: [],
],
name: 'pureFunctionWithConstant', name: 'pureFunctionWithConstant',
outputs: [ outputs: [
{ {
name: 'someConstant', name: 'someConstant',
type: 'uint256', type: 'uint256',
}, },
], ],
payable: false, payable: false,

View File

@ -23,7 +23,6 @@ import { assert } from '@0x/assert';
import * as ethers from 'ethers'; import * as ethers from 'ethers';
// tslint:enable:no-unused-variable // tslint:enable:no-unused-variable
/* istanbul ignore next */ /* istanbul ignore next */
// tslint:disable:no-parameter-reassignment // tslint:disable:no-parameter-reassignment
// tslint:disable-next-line:class-name // tslint:disable-next-line:class-name
@ -44,7 +43,7 @@ export class LibDummyContract extends BaseContract {
const provider = providerUtils.standardizeOrThrow(supportedProvider); const provider = providerUtils.standardizeOrThrow(supportedProvider);
const bytecode = artifact.compilerOutput.evm.bytecode.object; const bytecode = artifact.compilerOutput.evm.bytecode.object;
const abi = artifact.compilerOutput.abi; const abi = artifact.compilerOutput.abi;
return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, ); return LibDummyContract.deployAsync(bytecode, abi, provider, txDefaults);
} }
public static async deployAsync( public static async deployAsync(
bytecode: string, bytecode: string,
@ -60,11 +59,7 @@ export class LibDummyContract extends BaseContract {
]); ]);
const provider = providerUtils.standardizeOrThrow(supportedProvider); const provider = providerUtils.standardizeOrThrow(supportedProvider);
const constructorAbi = BaseContract._lookupConstructorAbi(abi); const constructorAbi = BaseContract._lookupConstructorAbi(abi);
[] = BaseContract._formatABIDataItemList( [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString);
constructorAbi.inputs,
[],
BaseContract._bigNumberToString,
);
const iface = new ethers.utils.Interface(abi); const iface = new ethers.utils.Interface(abi);
const deployInfo = iface.deployFunction; const deployInfo = iface.deployFunction;
const txData = deployInfo.encode(bytecode, []); const txData = deployInfo.encode(bytecode, []);
@ -83,13 +78,11 @@ export class LibDummyContract extends BaseContract {
return contractInstance; return contractInstance;
} }
/** /**
* @returns The contract ABI * @returns The contract ABI
*/ */
public static ABI(): ContractAbi { public static ABI(): ContractAbi {
const abi = [ const abi = [] as ContractAbi;
] as ContractAbi;
return abi; return abi;
} }
constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial<TxData>) { constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial<TxData>) {

View File

@ -23,18 +23,12 @@ import { assert } from '@0x/assert';
import * as ethers from 'ethers'; import * as ethers from 'ethers';
// tslint:enable:no-unused-variable // tslint:enable:no-unused-variable
/* istanbul ignore next */ /* istanbul ignore next */
// tslint:disable:no-parameter-reassignment // tslint:disable:no-parameter-reassignment
// tslint:disable-next-line:class-name // tslint:disable-next-line:class-name
export class TestLibDummyContract extends BaseContract { export class TestLibDummyContract extends BaseContract {
public publicAddConstant = { public publicAddConstant = {
async callAsync( async callAsync(x: BigNumber, callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<BigNumber> {
x: BigNumber,
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<BigNumber
> {
assert.isBigNumber('x', x); assert.isBigNumber('x', x);
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
@ -44,9 +38,8 @@ export class TestLibDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as TestLibDummyContract; const self = (this as any) as TestLibDummyContract;
const encodedData = self._strictEncodeArguments('publicAddConstant(uint256)', [x const encodedData = self._strictEncodeArguments('publicAddConstant(uint256)', [x]);
]);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
to: self.address, to: self.address,
@ -59,28 +52,19 @@ export class TestLibDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('publicAddConstant(uint256)'); const abiEncoder = self._lookupAbiEncoder('publicAddConstant(uint256)');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<BigNumber const result = abiEncoder.strictDecodeReturnValue<BigNumber>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(x: BigNumber): string {
x: BigNumber,
): string {
assert.isBigNumber('x', x); assert.isBigNumber('x', x);
const self = this as any as TestLibDummyContract; const self = (this as any) as TestLibDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('publicAddConstant(uint256)', [x const abiEncodedTransactionData = self._strictEncodeArguments('publicAddConstant(uint256)', [x]);
]);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
public publicAddOne = { public publicAddOne = {
async callAsync( async callAsync(x: BigNumber, callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<BigNumber> {
x: BigNumber,
callData: Partial<CallData> = {},
defaultBlock?: BlockParam,
): Promise<BigNumber
> {
assert.isBigNumber('x', x); assert.isBigNumber('x', x);
assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
schemas.addressSchema, schemas.addressSchema,
@ -90,9 +74,8 @@ export class TestLibDummyContract extends BaseContract {
if (defaultBlock !== undefined) { if (defaultBlock !== undefined) {
assert.isBlockParam('defaultBlock', defaultBlock); assert.isBlockParam('defaultBlock', defaultBlock);
} }
const self = this as any as TestLibDummyContract; const self = (this as any) as TestLibDummyContract;
const encodedData = self._strictEncodeArguments('publicAddOne(uint256)', [x const encodedData = self._strictEncodeArguments('publicAddOne(uint256)', [x]);
]);
const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
{ {
to: self.address, to: self.address,
@ -105,18 +88,14 @@ export class TestLibDummyContract extends BaseContract {
BaseContract._throwIfRevertWithReasonCallResult(rawCallResult); BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
const abiEncoder = self._lookupAbiEncoder('publicAddOne(uint256)'); const abiEncoder = self._lookupAbiEncoder('publicAddOne(uint256)');
// tslint:disable boolean-naming // tslint:disable boolean-naming
const result = abiEncoder.strictDecodeReturnValue<BigNumber const result = abiEncoder.strictDecodeReturnValue<BigNumber>(rawCallResult);
>(rawCallResult);
// tslint:enable boolean-naming // tslint:enable boolean-naming
return result; return result;
}, },
getABIEncodedTransactionData( getABIEncodedTransactionData(x: BigNumber): string {
x: BigNumber,
): string {
assert.isBigNumber('x', x); assert.isBigNumber('x', x);
const self = this as any as TestLibDummyContract; const self = (this as any) as TestLibDummyContract;
const abiEncodedTransactionData = self._strictEncodeArguments('publicAddOne(uint256)', [x const abiEncodedTransactionData = self._strictEncodeArguments('publicAddOne(uint256)', [x]);
]);
return abiEncodedTransactionData; return abiEncodedTransactionData;
}, },
}; };
@ -136,7 +115,7 @@ export class TestLibDummyContract extends BaseContract {
const provider = providerUtils.standardizeOrThrow(supportedProvider); const provider = providerUtils.standardizeOrThrow(supportedProvider);
const bytecode = artifact.compilerOutput.evm.bytecode.object; const bytecode = artifact.compilerOutput.evm.bytecode.object;
const abi = artifact.compilerOutput.abi; const abi = artifact.compilerOutput.abi;
return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults, ); return TestLibDummyContract.deployAsync(bytecode, abi, provider, txDefaults);
} }
public static async deployAsync( public static async deployAsync(
bytecode: string, bytecode: string,
@ -152,11 +131,7 @@ export class TestLibDummyContract extends BaseContract {
]); ]);
const provider = providerUtils.standardizeOrThrow(supportedProvider); const provider = providerUtils.standardizeOrThrow(supportedProvider);
const constructorAbi = BaseContract._lookupConstructorAbi(abi); const constructorAbi = BaseContract._lookupConstructorAbi(abi);
[] = BaseContract._formatABIDataItemList( [] = BaseContract._formatABIDataItemList(constructorAbi.inputs, [], BaseContract._bigNumberToString);
constructorAbi.inputs,
[],
BaseContract._bigNumberToString,
);
const iface = new ethers.utils.Interface(abi); const iface = new ethers.utils.Interface(abi);
const deployInfo = iface.deployFunction; const deployInfo = iface.deployFunction;
const txData = deployInfo.encode(bytecode, []); const txData = deployInfo.encode(bytecode, []);
@ -175,7 +150,6 @@ export class TestLibDummyContract extends BaseContract {
return contractInstance; return contractInstance;
} }
/** /**
* @returns The contract ABI * @returns The contract ABI
*/ */
@ -187,7 +161,6 @@ export class TestLibDummyContract extends BaseContract {
{ {
name: 'x', name: 'x',
type: 'uint256', type: 'uint256',
}, },
], ],
name: 'publicAddConstant', name: 'publicAddConstant',
@ -195,7 +168,6 @@ export class TestLibDummyContract extends BaseContract {
{ {
name: 'result', name: 'result',
type: 'uint256', type: 'uint256',
}, },
], ],
payable: false, payable: false,
@ -208,7 +180,6 @@ export class TestLibDummyContract extends BaseContract {
{ {
name: 'x', name: 'x',
type: 'uint256', type: 'uint256',
}, },
], ],
name: 'publicAddOne', name: 'publicAddOne',
@ -216,7 +187,6 @@ export class TestLibDummyContract extends BaseContract {
{ {
name: 'result', name: 'result',
type: 'uint256', type: 'uint256',
}, },
], ],
payable: false, payable: false,