feat: Prune Paths + Fast ABI (#183)

* Cull paths which cannot improve price

* fixes and rename

* optimizations

* disable ABI optimization for sampler

* fix lint

* use fastabi

* Update to fastabi 0.0.2

* update packages

* Fix NaN case

* update to published packages

* rebased

* Update generated wrappers
This commit is contained in:
Jacob Evans
2021-04-28 17:16:24 +10:00
committed by GitHub
parent 5946d32a7d
commit cd296b8767
27 changed files with 555 additions and 213 deletions

View File

@@ -3,6 +3,7 @@
// tslint:disable:no-unused-variable
import {
AwaitTransactionSuccessOpts,
EncoderOverrides,
ContractFunctionObj,
ContractTxFunctionObj,
SendTransactionOpts,
@@ -552,6 +553,9 @@ export class CoordinatorContract extends BaseContract {
}
public getABIDecodedReturnData<T>(methodName: string, callData: string): T {
if (this._encoderOverrides.decodeOutput) {
return this._encoderOverrides.decodeOutput(methodName, callData);
}
const functionSignature = this.getFunctionSignature(methodName);
const self = (this as any) as CoordinatorContract;
const abiEncoder = self._lookupAbiEncoder(functionSignature);
@@ -966,7 +970,7 @@ export class CoordinatorContract extends BaseContract {
txDefaults?: Partial<TxData>,
logDecodeDependencies?: { [contractName: string]: ContractAbi },
deployedBytecode: string | undefined = CoordinatorContract.deployedBytecode,
encodingRules?: EncodingRules,
encoderOverrides?: Partial<EncoderOverrides>,
) {
super(
'Coordinator',
@@ -976,7 +980,7 @@ export class CoordinatorContract extends BaseContract {
txDefaults,
logDecodeDependencies,
deployedBytecode,
encodingRules,
encoderOverrides,
);
classUtils.bindAll(this, ['_abiEncoderByFunctionSignature', 'address', '_web3Wrapper']);
CoordinatorContract.ABI().forEach((item, index) => {