Normalize address inputs to lowercase in generated wrappers (#1951)
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							@@ -3,5 +3,5 @@
 | 
				
			|||||||
# Automatically collapse generated files in GitHub.
 | 
					# Automatically collapse generated files in GitHub.
 | 
				
			||||||
*.svg linguist-generated=true
 | 
					*.svg linguist-generated=true
 | 
				
			||||||
packages/contract-artifacts/artifacts/*json linguist-generated=true
 | 
					packages/contract-artifacts/artifacts/*json linguist-generated=true
 | 
				
			||||||
packages/abi-gen-wrappers/src/generated-wrappers/*.ts liguist-generated=true
 | 
					packages/abi-gen-wrappers/src/generated-wrappers/*.ts linguist-generated=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,10 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    name: '{{name}}',
 | 
					    name: '{{name}}',
 | 
				
			||||||
    type: '{{type}}',
 | 
					    type: '{{type}}',{{#if (isDefined indexed)}}
 | 
				
			||||||
    {{#if (isDefined indexed)}}indexed: {{indexed}},{{/if}}
 | 
					    indexed: {{indexed}},{{/if}}{{#if components}}
 | 
				
			||||||
    {{#if components}}
 | 
					 | 
				
			||||||
    components: [
 | 
					    components: [
 | 
				
			||||||
        {{#each components}}
 | 
					        {{#each components}}
 | 
				
			||||||
        {{> abi_type this}}
 | 
					        {{> abi_type this}}
 | 
				
			||||||
        {{/each}}
 | 
					        {{/each}}
 | 
				
			||||||
    ]
 | 
					    ]{{/if}}
 | 
				
			||||||
    {{/if}}
 | 
					 | 
				
			||||||
},
 | 
					},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@ async callAsync(
 | 
				
			|||||||
        assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					        assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    const self = this as any as {{contractName}}Contract;
 | 
					    const self = this as any as {{contractName}}Contract;
 | 
				
			||||||
    const encodedData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> params inputs=inputs}}]);
 | 
					    const encodedData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> normalized_params inputs=inputs}}]);
 | 
				
			||||||
    const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					    const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            to: self.address,
 | 
					            to: self.address,
 | 
				
			||||||
@@ -24,6 +24,8 @@ async callAsync(
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        self._web3Wrapper.getContractDefaults(),
 | 
					        self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					    callDataWithDefaults.from = callDataWithDefaults.from ? callDataWithDefaults.from.toLowerCase() : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					    const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
    BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					    BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
    const abiEncoder = self._lookupAbiEncoder('{{this.functionSignature}}');
 | 
					    const abiEncoder = self._lookupAbiEncoder('{{this.functionSignature}}');
 | 
				
			||||||
@@ -39,6 +41,6 @@ getABIEncodedTransactionData(
 | 
				
			|||||||
    {{#assertionType name type}}{{/assertionType}}
 | 
					    {{#assertionType name type}}{{/assertionType}}
 | 
				
			||||||
    {{/each}}
 | 
					    {{/each}}
 | 
				
			||||||
    const self = this as any as {{contractName}}Contract;
 | 
					    const self = this as any as {{contractName}}Contract;
 | 
				
			||||||
    const abiEncodedTransactionData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> params inputs=inputs}}]);
 | 
					    const abiEncodedTransactionData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> normalized_params inputs=inputs}}]);
 | 
				
			||||||
    return abiEncodedTransactionData;
 | 
					    return abiEncodedTransactionData;
 | 
				
			||||||
},
 | 
					},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					{{#each inputs}}
 | 
				
			||||||
 | 
					{{name}}{{#ifEquals 'address' type}}.toLowerCase(){{/ifEquals}}{{#if @last}}{{else}},{{/if}}
 | 
				
			||||||
 | 
					{{/each}}
 | 
				
			||||||
@@ -7,7 +7,7 @@ public {{languageSpecificName}} = {
 | 
				
			|||||||
    {{#assertionType name type}}{{/assertionType}}
 | 
					    {{#assertionType name type}}{{/assertionType}}
 | 
				
			||||||
    {{/each}}
 | 
					    {{/each}}
 | 
				
			||||||
    const self = this as any as {{contractName}}Contract;
 | 
					    const self = this as any as {{contractName}}Contract;
 | 
				
			||||||
    const encodedData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> params inputs=inputs}}]);
 | 
					    const encodedData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> normalized_params inputs=inputs}}]);
 | 
				
			||||||
    const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					    const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            to: self.address,
 | 
					            to: self.address,
 | 
				
			||||||
@@ -17,9 +17,13 @@ public {{languageSpecificName}} = {
 | 
				
			|||||||
        self._web3Wrapper.getContractDefaults(),
 | 
					        self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
        self.{{languageSpecificName}}.estimateGasAsync.bind(
 | 
					        self.{{languageSpecificName}}.estimateGasAsync.bind(
 | 
				
			||||||
            self,
 | 
					            self,
 | 
				
			||||||
            {{> params inputs=inputs}}
 | 
					            {{> normalized_params inputs=inputs}}
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					    if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					        txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					    const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
    return txHash;
 | 
					    return txHash;
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -34,7 +38,7 @@ public {{languageSpecificName}} = {
 | 
				
			|||||||
    {{/each}}
 | 
					    {{/each}}
 | 
				
			||||||
    const self = this as any as {{contractName}}Contract;
 | 
					    const self = this as any as {{contractName}}Contract;
 | 
				
			||||||
    {{#if inputs}}
 | 
					    {{#if inputs}}
 | 
				
			||||||
    const txHashPromise = self.{{languageSpecificName}}.sendTransactionAsync({{> params input=inputs}}, txData);
 | 
					    const txHashPromise = self.{{languageSpecificName}}.sendTransactionAsync({{> normalized_params input=inputs}}, txData);
 | 
				
			||||||
    {{else}}
 | 
					    {{else}}
 | 
				
			||||||
    const txHashPromise = self.{{languageSpecificName}}.sendTransactionAsync(txData);
 | 
					    const txHashPromise = self.{{languageSpecificName}}.sendTransactionAsync(txData);
 | 
				
			||||||
    {{/if}}
 | 
					    {{/if}}
 | 
				
			||||||
@@ -58,7 +62,7 @@ public {{languageSpecificName}} = {
 | 
				
			|||||||
    {{#assertionType name type}}{{/assertionType}}
 | 
					    {{#assertionType name type}}{{/assertionType}}
 | 
				
			||||||
    {{/each}}
 | 
					    {{/each}}
 | 
				
			||||||
    const self = this as any as {{contractName}}Contract;
 | 
					    const self = this as any as {{contractName}}Contract;
 | 
				
			||||||
    const encodedData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> params inputs=inputs}}]);
 | 
					    const encodedData = self._strictEncodeArguments('{{this.functionSignature}}', [{{> normalized_params inputs=inputs}}]);
 | 
				
			||||||
    const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					    const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            to: self.address,
 | 
					            to: self.address,
 | 
				
			||||||
@@ -67,6 +71,10 @@ public {{languageSpecificName}} = {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        self._web3Wrapper.getContractDefaults(),
 | 
					        self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					    if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					        txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					    const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
    return gas;
 | 
					    return gas;
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,10 @@
 | 
				
			|||||||
                "note": "Update wrappers to include parameter assertions",
 | 
					                "note": "Update wrappers to include parameter assertions",
 | 
				
			||||||
                "pr": 1823
 | 
					                "pr": 1823
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "note": "Update wrappers to normalize address inputs to lowercase",
 | 
				
			||||||
 | 
					                "pr": 1951
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                "note": "Update wrappers to include `getABIEncodedTransactionData` for view and pure functions",
 | 
					                "note": "Update wrappers to include `getABIEncodedTransactionData` for view and pure functions",
 | 
				
			||||||
                "pr": 1863
 | 
					                "pr": 1863
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -134,6 +134,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('owners(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('owners(uint256)');
 | 
				
			||||||
@@ -153,7 +157,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner]);
 | 
					            const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -161,8 +165,12 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeOwner.estimateGasAsync.bind(self, owner),
 | 
					                self.removeOwner.estimateGasAsync.bind(self, owner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -174,7 +182,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const txHashPromise = self.removeOwner.sendTransactionAsync(owner, txData);
 | 
					            const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -190,7 +198,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner]);
 | 
					            const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -199,6 +207,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -213,7 +225,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner]);
 | 
					            const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -222,6 +234,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeOwner(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeOwner(address)');
 | 
				
			||||||
@@ -233,7 +249,9 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(owner: string): string {
 | 
					        getABIEncodedTransactionData(owner: string): string {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [owner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [
 | 
				
			||||||
 | 
					                owner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -251,6 +269,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.revokeConfirmation.estimateGasAsync.bind(self, transactionId),
 | 
					                self.revokeConfirmation.estimateGasAsync.bind(self, transactionId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -287,6 +309,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -314,6 +340,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)');
 | 
				
			||||||
@@ -347,7 +377,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0]);
 | 
					            const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -356,6 +386,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('isOwner(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('isOwner(address)');
 | 
				
			||||||
@@ -367,7 +401,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(index_0: string): string {
 | 
					        getABIEncodedTransactionData(index_0: string): string {
 | 
				
			||||||
            assert.isString('index_0', index_0);
 | 
					            assert.isString('index_0', index_0);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -389,7 +423,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [index_0, index_1]);
 | 
					            const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [
 | 
				
			||||||
 | 
					                index_0,
 | 
				
			||||||
 | 
					                index_1.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -398,6 +435,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)');
 | 
				
			||||||
@@ -412,7 +453,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [
 | 
				
			||||||
                index_0,
 | 
					                index_0,
 | 
				
			||||||
                index_1,
 | 
					                index_1.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -433,6 +474,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind(self, transactionId),
 | 
					                self.executeRemoveAuthorizedAddressAtIndex.estimateGasAsync.bind(self, transactionId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -474,6 +519,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -503,6 +552,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('executeRemoveAuthorizedAddressAtIndex(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('executeRemoveAuthorizedAddressAtIndex(uint256)');
 | 
				
			||||||
@@ -541,6 +594,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()');
 | 
				
			||||||
@@ -582,6 +639,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)');
 | 
				
			||||||
@@ -611,7 +672,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isBoolean('isRegistered', isRegistered);
 | 
					            assert.isBoolean('isRegistered', isRegistered);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
					            const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
				
			||||||
                assetProxyContract,
 | 
					                assetProxyContract.toLowerCase(),
 | 
				
			||||||
                isRegistered,
 | 
					                isRegistered,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -621,8 +682,12 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.registerAssetProxy.estimateGasAsync.bind(self, assetProxyContract, isRegistered),
 | 
					                self.registerAssetProxy.estimateGasAsync.bind(self, assetProxyContract.toLowerCase(), isRegistered),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -637,7 +702,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isBoolean('isRegistered', isRegistered);
 | 
					            assert.isBoolean('isRegistered', isRegistered);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const txHashPromise = self.registerAssetProxy.sendTransactionAsync(
 | 
					            const txHashPromise = self.registerAssetProxy.sendTransactionAsync(
 | 
				
			||||||
                assetProxyContract,
 | 
					                assetProxyContract.toLowerCase(),
 | 
				
			||||||
                isRegistered,
 | 
					                isRegistered,
 | 
				
			||||||
                txData,
 | 
					                txData,
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
@@ -662,7 +727,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isBoolean('isRegistered', isRegistered);
 | 
					            assert.isBoolean('isRegistered', isRegistered);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
					            const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
				
			||||||
                assetProxyContract,
 | 
					                assetProxyContract.toLowerCase(),
 | 
				
			||||||
                isRegistered,
 | 
					                isRegistered,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -673,6 +738,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -694,7 +763,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
					            const encodedData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
				
			||||||
                assetProxyContract,
 | 
					                assetProxyContract.toLowerCase(),
 | 
				
			||||||
                isRegistered,
 | 
					                isRegistered,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -705,6 +774,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address,bool)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address,bool)');
 | 
				
			||||||
@@ -718,7 +791,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isBoolean('isRegistered', isRegistered);
 | 
					            assert.isBoolean('isRegistered', isRegistered);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address,bool)', [
 | 
				
			||||||
                assetProxyContract,
 | 
					                assetProxyContract.toLowerCase(),
 | 
				
			||||||
                isRegistered,
 | 
					                isRegistered,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -728,7 +801,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addOwner(address)', [owner]);
 | 
					            const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -736,8 +809,12 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.addOwner.estimateGasAsync.bind(self, owner),
 | 
					                self.addOwner.estimateGasAsync.bind(self, owner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -749,7 +826,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const txHashPromise = self.addOwner.sendTransactionAsync(owner, txData);
 | 
					            const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -765,7 +842,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(owner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addOwner(address)', [owner]);
 | 
					            const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -774,6 +851,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -788,7 +869,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addOwner(address)', [owner]);
 | 
					            const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -797,6 +878,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('addOwner(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('addOwner(address)');
 | 
				
			||||||
@@ -808,7 +893,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(owner: string): string {
 | 
					        getABIEncodedTransactionData(owner: string): string {
 | 
				
			||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -837,6 +922,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)');
 | 
				
			||||||
@@ -869,6 +958,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.changeTimeLock.estimateGasAsync.bind(self, _secondsTimeLocked),
 | 
					                self.changeTimeLock.estimateGasAsync.bind(self, _secondsTimeLocked),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -905,6 +998,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -932,6 +1029,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)');
 | 
				
			||||||
@@ -965,7 +1066,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0]);
 | 
					            const encodedData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -974,6 +1075,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('isAssetProxyRegistered(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('isAssetProxyRegistered(address)');
 | 
				
			||||||
@@ -985,7 +1090,9 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(index_0: string): string {
 | 
					        getABIEncodedTransactionData(index_0: string): string {
 | 
				
			||||||
            assert.isString('index_0', index_0);
 | 
					            assert.isString('index_0', index_0);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [index_0]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('isAssetProxyRegistered(address)', [
 | 
				
			||||||
 | 
					                index_0.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -1014,6 +1121,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)');
 | 
				
			||||||
@@ -1056,6 +1167,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transactions(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transactions(uint256)');
 | 
				
			||||||
@@ -1091,6 +1206,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getOwners()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getOwners()');
 | 
				
			||||||
@@ -1141,6 +1260,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)');
 | 
				
			||||||
@@ -1187,6 +1310,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)');
 | 
				
			||||||
@@ -1222,6 +1349,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transactionCount()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transactionCount()');
 | 
				
			||||||
@@ -1250,6 +1381,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.changeRequirement.estimateGasAsync.bind(self, _required),
 | 
					                self.changeRequirement.estimateGasAsync.bind(self, _required),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1286,6 +1421,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1313,6 +1452,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)');
 | 
				
			||||||
@@ -1342,6 +1485,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.confirmTransaction.estimateGasAsync.bind(self, transactionId),
 | 
					                self.confirmTransaction.estimateGasAsync.bind(self, transactionId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1378,6 +1525,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1405,6 +1556,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)');
 | 
				
			||||||
@@ -1434,7 +1589,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('data', data);
 | 
					            assert.isString('data', data);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
				
			||||||
                destination,
 | 
					                destination.toLowerCase(),
 | 
				
			||||||
                value,
 | 
					                value,
 | 
				
			||||||
                data,
 | 
					                data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -1445,8 +1600,12 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.submitTransaction.estimateGasAsync.bind(self, destination, value, data),
 | 
					                self.submitTransaction.estimateGasAsync.bind(self, destination.toLowerCase(), value, data),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1462,7 +1621,12 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('value', value);
 | 
					            assert.isBigNumber('value', value);
 | 
				
			||||||
            assert.isString('data', data);
 | 
					            assert.isString('data', data);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const txHashPromise = self.submitTransaction.sendTransactionAsync(destination, value, data, txData);
 | 
					            const txHashPromise = self.submitTransaction.sendTransactionAsync(
 | 
				
			||||||
 | 
					                destination.toLowerCase(),
 | 
				
			||||||
 | 
					                value,
 | 
				
			||||||
 | 
					                data,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -1486,7 +1650,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('data', data);
 | 
					            assert.isString('data', data);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
				
			||||||
                destination,
 | 
					                destination.toLowerCase(),
 | 
				
			||||||
                value,
 | 
					                value,
 | 
				
			||||||
                data,
 | 
					                data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -1498,6 +1662,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1521,7 +1689,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
				
			||||||
                destination,
 | 
					                destination.toLowerCase(),
 | 
				
			||||||
                value,
 | 
					                value,
 | 
				
			||||||
                data,
 | 
					                data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -1533,6 +1701,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)');
 | 
				
			||||||
@@ -1547,7 +1719,7 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('data', data);
 | 
					            assert.isString('data', data);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [
 | 
				
			||||||
                destination,
 | 
					                destination.toLowerCase(),
 | 
				
			||||||
                value,
 | 
					                value,
 | 
				
			||||||
                data,
 | 
					                data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -1579,6 +1751,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)');
 | 
				
			||||||
@@ -1614,6 +1790,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()');
 | 
				
			||||||
@@ -1648,6 +1828,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('required()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('required()');
 | 
				
			||||||
@@ -1671,7 +1855,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner, newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [
 | 
				
			||||||
 | 
					                owner.toLowerCase(),
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -1679,8 +1866,12 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.replaceOwner.estimateGasAsync.bind(self, owner, newOwner),
 | 
					                self.replaceOwner.estimateGasAsync.bind(self, owner.toLowerCase(), newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1694,7 +1885,11 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const txHashPromise = self.replaceOwner.sendTransactionAsync(owner, newOwner, txData);
 | 
					            const txHashPromise = self.replaceOwner.sendTransactionAsync(
 | 
				
			||||||
 | 
					                owner.toLowerCase(),
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -1711,7 +1906,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('owner', owner);
 | 
					            assert.isString('owner', owner);
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner, newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [
 | 
				
			||||||
 | 
					                owner.toLowerCase(),
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -1720,6 +1918,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1740,7 +1942,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [owner, newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [
 | 
				
			||||||
 | 
					                owner.toLowerCase(),
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -1749,6 +1954,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)');
 | 
				
			||||||
@@ -1762,8 +1971,8 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as AssetProxyOwnerContract;
 | 
					            const self = (this as any) as AssetProxyOwnerContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [
 | 
				
			||||||
                owner,
 | 
					                owner.toLowerCase(),
 | 
				
			||||||
                newOwner,
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1782,6 +1991,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.executeTransaction.estimateGasAsync.bind(self, transactionId),
 | 
					                self.executeTransaction.estimateGasAsync.bind(self, transactionId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1818,6 +2031,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1845,6 +2062,10 @@ export class AssetProxyOwnerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,6 +54,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getSignerAddress(bytes32,bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getSignerAddress(bytes32,bytes)');
 | 
				
			||||||
@@ -99,6 +103,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getTransactionHash((uint256,address,bytes))');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getTransactionHash((uint256,address,bytes))');
 | 
				
			||||||
@@ -148,6 +156,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getCoordinatorApprovalHash((address,bytes32,bytes,uint256))');
 | 
				
			||||||
@@ -186,7 +198,13 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as CoordinatorContract;
 | 
					            const self = (this as any) as CoordinatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
					                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
				
			||||||
                [transaction, txOrigin, transactionSignature, approvalExpirationTimeSeconds, approvalSignatures],
 | 
					                [
 | 
				
			||||||
 | 
					                    transaction,
 | 
				
			||||||
 | 
					                    txOrigin.toLowerCase(),
 | 
				
			||||||
 | 
					                    transactionSignature,
 | 
				
			||||||
 | 
					                    approvalExpirationTimeSeconds,
 | 
				
			||||||
 | 
					                    approvalSignatures,
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -198,12 +216,16 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                self.executeTransaction.estimateGasAsync.bind(
 | 
					                self.executeTransaction.estimateGasAsync.bind(
 | 
				
			||||||
                    self,
 | 
					                    self,
 | 
				
			||||||
                    transaction,
 | 
					                    transaction,
 | 
				
			||||||
                    txOrigin,
 | 
					                    txOrigin.toLowerCase(),
 | 
				
			||||||
                    transactionSignature,
 | 
					                    transactionSignature,
 | 
				
			||||||
                    approvalExpirationTimeSeconds,
 | 
					                    approvalExpirationTimeSeconds,
 | 
				
			||||||
                    approvalSignatures,
 | 
					                    approvalSignatures,
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -224,7 +246,7 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as CoordinatorContract;
 | 
					            const self = (this as any) as CoordinatorContract;
 | 
				
			||||||
            const txHashPromise = self.executeTransaction.sendTransactionAsync(
 | 
					            const txHashPromise = self.executeTransaction.sendTransactionAsync(
 | 
				
			||||||
                transaction,
 | 
					                transaction,
 | 
				
			||||||
                txOrigin,
 | 
					                txOrigin.toLowerCase(),
 | 
				
			||||||
                transactionSignature,
 | 
					                transactionSignature,
 | 
				
			||||||
                approvalExpirationTimeSeconds,
 | 
					                approvalExpirationTimeSeconds,
 | 
				
			||||||
                approvalSignatures,
 | 
					                approvalSignatures,
 | 
				
			||||||
@@ -257,7 +279,13 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as CoordinatorContract;
 | 
					            const self = (this as any) as CoordinatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
					                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
				
			||||||
                [transaction, txOrigin, transactionSignature, approvalExpirationTimeSeconds, approvalSignatures],
 | 
					                [
 | 
				
			||||||
 | 
					                    transaction,
 | 
				
			||||||
 | 
					                    txOrigin.toLowerCase(),
 | 
				
			||||||
 | 
					                    transactionSignature,
 | 
				
			||||||
 | 
					                    approvalExpirationTimeSeconds,
 | 
				
			||||||
 | 
					                    approvalSignatures,
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -267,6 +295,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -294,7 +326,13 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as CoordinatorContract;
 | 
					            const self = (this as any) as CoordinatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
					                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
				
			||||||
                [transaction, txOrigin, transactionSignature, approvalExpirationTimeSeconds, approvalSignatures],
 | 
					                [
 | 
				
			||||||
 | 
					                    transaction,
 | 
				
			||||||
 | 
					                    txOrigin.toLowerCase(),
 | 
				
			||||||
 | 
					                    transactionSignature,
 | 
				
			||||||
 | 
					                    approvalExpirationTimeSeconds,
 | 
				
			||||||
 | 
					                    approvalSignatures,
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -304,6 +342,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -328,7 +370,13 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as CoordinatorContract;
 | 
					            const self = (this as any) as CoordinatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
					                'executeTransaction((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
				
			||||||
                [transaction, txOrigin, transactionSignature, approvalExpirationTimeSeconds, approvalSignatures],
 | 
					                [
 | 
				
			||||||
 | 
					                    transaction,
 | 
				
			||||||
 | 
					                    txOrigin.toLowerCase(),
 | 
				
			||||||
 | 
					                    transactionSignature,
 | 
				
			||||||
 | 
					                    approvalExpirationTimeSeconds,
 | 
				
			||||||
 | 
					                    approvalSignatures,
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -353,6 +401,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()');
 | 
				
			||||||
@@ -392,7 +444,13 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as CoordinatorContract;
 | 
					            const self = (this as any) as CoordinatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
					                'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
				
			||||||
                [transaction, txOrigin, transactionSignature, approvalExpirationTimeSeconds, approvalSignatures],
 | 
					                [
 | 
				
			||||||
 | 
					                    transaction,
 | 
				
			||||||
 | 
					                    txOrigin.toLowerCase(),
 | 
				
			||||||
 | 
					                    transactionSignature,
 | 
				
			||||||
 | 
					                    approvalExpirationTimeSeconds,
 | 
				
			||||||
 | 
					                    approvalSignatures,
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -402,6 +460,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -426,7 +488,13 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as CoordinatorContract;
 | 
					            const self = (this as any) as CoordinatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
					                'assertValidCoordinatorApprovals((uint256,address,bytes),address,bytes,uint256[],bytes[])',
 | 
				
			||||||
                [transaction, txOrigin, transactionSignature, approvalExpirationTimeSeconds, approvalSignatures],
 | 
					                [
 | 
				
			||||||
 | 
					                    transaction,
 | 
				
			||||||
 | 
					                    txOrigin.toLowerCase(),
 | 
				
			||||||
 | 
					                    transactionSignature,
 | 
				
			||||||
 | 
					                    approvalExpirationTimeSeconds,
 | 
				
			||||||
 | 
					                    approvalSignatures,
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -471,6 +539,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('decodeOrdersFromFillData(bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('decodeOrdersFromFillData(bytes)');
 | 
				
			||||||
@@ -521,6 +593,10 @@ export class CoordinatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('EIP712_COORDINATOR_DOMAIN_HASH()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('EIP712_COORDINATOR_DOMAIN_HASH()');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,6 +52,10 @@ export class CoordinatorRegistryContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.setCoordinatorEndpoint.estimateGasAsync.bind(self, coordinatorEndpoint),
 | 
					                self.setCoordinatorEndpoint.estimateGasAsync.bind(self, coordinatorEndpoint),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -88,6 +92,10 @@ export class CoordinatorRegistryContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -115,6 +123,10 @@ export class CoordinatorRegistryContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('setCoordinatorEndpoint(string)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('setCoordinatorEndpoint(string)');
 | 
				
			||||||
@@ -148,7 +160,9 @@ export class CoordinatorRegistryContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as CoordinatorRegistryContract;
 | 
					            const self = (this as any) as CoordinatorRegistryContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [coordinatorOperator]);
 | 
					            const encodedData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [
 | 
				
			||||||
 | 
					                coordinatorOperator.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -157,6 +171,10 @@ export class CoordinatorRegistryContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getCoordinatorEndpoint(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getCoordinatorEndpoint(address)');
 | 
				
			||||||
@@ -169,7 +187,7 @@ export class CoordinatorRegistryContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('coordinatorOperator', coordinatorOperator);
 | 
					            assert.isString('coordinatorOperator', coordinatorOperator);
 | 
				
			||||||
            const self = (this as any) as CoordinatorRegistryContract;
 | 
					            const self = (this as any) as CoordinatorRegistryContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('getCoordinatorEndpoint(address)', [
 | 
				
			||||||
                coordinatorOperator,
 | 
					                coordinatorOperator.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,6 +66,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
				
			||||||
@@ -89,7 +93,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -97,8 +104,12 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.approve.estimateGasAsync.bind(self, _spender, _value),
 | 
					                self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -112,7 +123,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.approve.sendTransactionAsync(_spender, _value, txData);
 | 
					            const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -133,7 +144,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -142,6 +156,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -162,7 +180,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -171,6 +192,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
				
			||||||
@@ -184,7 +209,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
                _spender,
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -210,6 +235,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
				
			||||||
@@ -236,8 +265,8 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -247,8 +276,12 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferFrom.estimateGasAsync.bind(self, _from, _to, _value),
 | 
					                self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -264,7 +297,12 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transferFrom.sendTransactionAsync(_from, _to, _value, txData);
 | 
					            const txHashPromise = self.transferFrom.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -288,8 +326,8 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -300,6 +338,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -323,8 +365,8 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -335,6 +377,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -349,8 +395,8 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -376,6 +422,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('decimals()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('decimals()');
 | 
				
			||||||
@@ -406,7 +456,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -415,6 +465,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
				
			||||||
@@ -426,7 +480,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(_owner: string): string {
 | 
					        getABIEncodedTransactionData(_owner: string): string {
 | 
				
			||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -450,6 +504,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
				
			||||||
@@ -484,6 +542,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
				
			||||||
@@ -512,6 +574,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.mint.estimateGasAsync.bind(self, _value),
 | 
					                self.mint.estimateGasAsync.bind(self, _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -548,6 +614,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -571,6 +641,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('mint(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('mint(uint256)');
 | 
				
			||||||
@@ -595,7 +669,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -603,8 +677,12 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transfer.estimateGasAsync.bind(self, _to, _value),
 | 
					                self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -618,7 +696,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transfer.sendTransactionAsync(_to, _value, txData);
 | 
					            const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -635,7 +713,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -644,6 +722,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -664,7 +746,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -673,6 +755,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
				
			||||||
@@ -685,7 +771,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -707,7 +796,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner, _spender]);
 | 
					            const encodedData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -716,6 +808,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
				
			||||||
@@ -729,8 +825,8 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
                _owner,
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
                _spender,
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -744,7 +840,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_target', _target);
 | 
					            assert.isString('_target', _target);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [
 | 
				
			||||||
 | 
					                _target.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -752,8 +851,12 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.setBalance.estimateGasAsync.bind(self, _target, _value),
 | 
					                self.setBalance.estimateGasAsync.bind(self, _target.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -767,7 +870,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_target', _target);
 | 
					            assert.isString('_target', _target);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.setBalance.sendTransactionAsync(_target, _value, txData);
 | 
					            const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), _value, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -788,7 +891,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_target', _target);
 | 
					            assert.isString('_target', _target);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [
 | 
				
			||||||
 | 
					                _target.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -797,6 +903,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -817,7 +927,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [_target, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [
 | 
				
			||||||
 | 
					                _target.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -826,6 +939,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)');
 | 
				
			||||||
@@ -839,7 +956,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [
 | 
				
			||||||
                _target,
 | 
					                _target.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -849,7 +966,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -857,8 +974,12 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferOwnership.estimateGasAsync.bind(self, newOwner),
 | 
					                self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -870,7 +991,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner, txData);
 | 
					            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -886,7 +1007,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -895,6 +1016,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -909,7 +1034,7 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -918,6 +1043,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
				
			||||||
@@ -929,7 +1058,9 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(newOwner: string): string {
 | 
					        getABIEncodedTransactionData(newOwner: string): string {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC20TokenContract;
 | 
					            const self = (this as any) as DummyERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -953,6 +1084,10 @@ export class DummyERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -76,6 +76,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
				
			||||||
@@ -115,6 +119,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)');
 | 
				
			||||||
@@ -139,7 +147,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_approved', _approved);
 | 
					            assert.isString('_approved', _approved);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -147,8 +158,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.approve.estimateGasAsync.bind(self, _approved, _tokenId),
 | 
					                self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -162,7 +177,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_approved', _approved);
 | 
					            assert.isString('_approved', _approved);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.approve.sendTransactionAsync(_approved, _tokenId, txData);
 | 
					            const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -183,7 +198,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_approved', _approved);
 | 
					            assert.isString('_approved', _approved);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -192,6 +210,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -212,7 +234,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -221,6 +246,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
				
			||||||
@@ -234,7 +263,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
                _approved,
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -252,8 +281,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -263,8 +292,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferFrom.estimateGasAsync.bind(self, _from, _to, _tokenId),
 | 
					                self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -280,7 +313,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transferFrom.sendTransactionAsync(_from, _to, _tokenId, txData);
 | 
					            const txHashPromise = self.transferFrom.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -304,8 +342,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -316,6 +354,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -339,8 +381,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -351,6 +393,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -365,8 +411,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -381,7 +427,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -389,8 +435,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.mint.estimateGasAsync.bind(self, _to, _tokenId),
 | 
					                self.mint.estimateGasAsync.bind(self, _to.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -404,7 +454,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.mint.sendTransactionAsync(_to, _tokenId, txData);
 | 
					            const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), _tokenId, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -425,7 +475,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -434,6 +484,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -454,7 +508,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -463,6 +517,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)');
 | 
				
			||||||
@@ -475,7 +533,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [_to, _tokenId]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -491,8 +552,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -502,8 +563,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.safeTransferFrom1.estimateGasAsync.bind(self, _from, _to, _tokenId),
 | 
					                self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -519,7 +584,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from, _to, _tokenId, txData);
 | 
					            const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -543,8 +613,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -555,6 +625,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -578,8 +652,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -590,6 +664,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -604,8 +682,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -636,6 +714,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)');
 | 
				
			||||||
@@ -667,7 +749,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -676,6 +758,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
				
			||||||
@@ -687,7 +773,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(_owner: string): string {
 | 
					        getABIEncodedTransactionData(_owner: string): string {
 | 
				
			||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -711,6 +797,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
				
			||||||
@@ -745,6 +835,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
				
			||||||
@@ -768,7 +862,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -776,8 +870,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.burn.estimateGasAsync.bind(self, _owner, _tokenId),
 | 
					                self.burn.estimateGasAsync.bind(self, _owner.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -791,7 +889,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.burn.sendTransactionAsync(_owner, _tokenId, txData);
 | 
					            const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), _tokenId, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -812,7 +910,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -821,6 +919,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -841,7 +943,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -850,6 +952,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)');
 | 
				
			||||||
@@ -862,7 +968,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [_owner, _tokenId]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [
 | 
				
			||||||
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -875,7 +984,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator, _approved]);
 | 
					            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -883,8 +995,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.setApprovalForAll.estimateGasAsync.bind(self, _operator, _approved),
 | 
					                self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -898,7 +1014,11 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator, _approved, txData);
 | 
					            const txHashPromise = self.setApprovalForAll.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -919,7 +1039,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator, _approved]);
 | 
					            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -928,6 +1051,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -948,7 +1075,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator, _approved]);
 | 
					            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -957,6 +1087,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)');
 | 
				
			||||||
@@ -970,7 +1104,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
                _operator,
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
                _approved,
 | 
					                _approved,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -990,8 +1124,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_data', _data);
 | 
					            assert.isString('_data', _data);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
                _data,
 | 
					                _data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -1002,8 +1136,18 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.safeTransferFrom2.estimateGasAsync.bind(self, _from, _to, _tokenId, _data),
 | 
					                self.safeTransferFrom2.estimateGasAsync.bind(
 | 
				
			||||||
 | 
					                    self,
 | 
				
			||||||
 | 
					                    _from.toLowerCase(),
 | 
				
			||||||
 | 
					                    _to.toLowerCase(),
 | 
				
			||||||
 | 
					                    _tokenId,
 | 
				
			||||||
 | 
					                    _data,
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1021,7 +1165,13 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            assert.isString('_data', _data);
 | 
					            assert.isString('_data', _data);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from, _to, _tokenId, _data, txData);
 | 
					            const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					                _data,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -1047,8 +1197,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_data', _data);
 | 
					            assert.isString('_data', _data);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
                _data,
 | 
					                _data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -1060,6 +1210,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1085,8 +1239,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
                _data,
 | 
					                _data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -1098,6 +1252,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)');
 | 
				
			||||||
@@ -1114,7 +1272,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'safeTransferFrom(address,address,uint256,bytes)',
 | 
					                'safeTransferFrom(address,address,uint256,bytes)',
 | 
				
			||||||
                [_from, _to, _tokenId, _data],
 | 
					                [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1137,7 +1295,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner, _operator]);
 | 
					            const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [
 | 
				
			||||||
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -1146,6 +1307,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)');
 | 
				
			||||||
@@ -1159,8 +1324,8 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [
 | 
				
			||||||
                _owner,
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
                _operator,
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1169,7 +1334,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -1177,8 +1342,12 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferOwnership.estimateGasAsync.bind(self, newOwner),
 | 
					                self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1190,7 +1359,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner, txData);
 | 
					            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -1206,7 +1375,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -1215,6 +1384,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -1229,7 +1402,7 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -1238,6 +1411,10 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
				
			||||||
@@ -1249,7 +1426,9 @@ export class DummyERC721TokenContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(newOwner: string): string {
 | 
					        getABIEncodedTransactionData(newOwner: string): string {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as DummyERC721TokenContract;
 | 
					            const self = (this as any) as DummyERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,6 +59,10 @@ export class DutchAuctionContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.getAuctionDetails.estimateGasAsync.bind(self, order),
 | 
					                self.getAuctionDetails.estimateGasAsync.bind(self, order),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -125,6 +129,10 @@ export class DutchAuctionContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -174,6 +182,10 @@ export class DutchAuctionContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -263,6 +275,10 @@ export class DutchAuctionContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.matchOrders.estimateGasAsync.bind(self, buyOrder, sellOrder, buySignature, sellSignature),
 | 
					                self.matchOrders.estimateGasAsync.bind(self, buyOrder, sellOrder, buySignature, sellSignature),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -371,6 +387,10 @@ export class DutchAuctionContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -445,6 +465,10 @@ export class DutchAuctionContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -58,8 +58,12 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.addAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -71,7 +75,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -87,7 +91,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -96,6 +100,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -110,7 +118,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -119,6 +127,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
				
			||||||
@@ -130,7 +142,9 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -159,6 +173,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('authorities(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('authorities(uint256)');
 | 
				
			||||||
@@ -178,7 +196,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -186,8 +204,12 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -199,7 +221,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -215,7 +237,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -224,6 +246,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -238,7 +264,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -247,6 +273,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
				
			||||||
@@ -258,7 +288,9 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -282,6 +314,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
				
			||||||
@@ -306,7 +342,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -316,8 +352,12 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target, index),
 | 
					                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -331,7 +371,11 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target, index, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					                index,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -353,7 +397,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -364,6 +408,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -385,7 +433,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -396,6 +444,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
				
			||||||
@@ -410,7 +462,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
					                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
				
			||||||
                [target, index],
 | 
					                [target.toLowerCase(), index],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -435,6 +487,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
				
			||||||
@@ -465,7 +521,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('authorized(address)', [index_0]);
 | 
					            const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -474,6 +530,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('authorized(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('authorized(address)');
 | 
				
			||||||
@@ -485,7 +545,9 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(index_0: string): string {
 | 
					        getABIEncodedTransactionData(index_0: string): string {
 | 
				
			||||||
            assert.isString('index_0', index_0);
 | 
					            assert.isString('index_0', index_0);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [
 | 
				
			||||||
 | 
					                index_0.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -509,6 +571,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
				
			||||||
@@ -527,7 +593,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -535,8 +601,12 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferOwnership.estimateGasAsync.bind(self, newOwner),
 | 
					                self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -548,7 +618,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner, txData);
 | 
					            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -564,7 +634,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -573,6 +643,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -587,7 +661,7 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -596,6 +670,10 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
				
			||||||
@@ -607,7 +685,9 @@ export class ERC20ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(newOwner: string): string {
 | 
					        getABIEncodedTransactionData(newOwner: string): string {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC20ProxyContract;
 | 
					            const self = (this as any) as ERC20ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,7 +55,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -63,8 +66,12 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.approve.estimateGasAsync.bind(self, _spender, _value),
 | 
					                self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -78,7 +85,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.approve.sendTransactionAsync(_spender, _value, txData);
 | 
					            const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -99,7 +106,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -108,6 +118,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -128,7 +142,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -137,6 +154,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
				
			||||||
@@ -150,7 +171,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
                _spender,
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -176,6 +197,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
				
			||||||
@@ -202,8 +227,8 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -213,8 +238,12 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferFrom.estimateGasAsync.bind(self, _from, _to, _value),
 | 
					                self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -230,7 +259,12 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transferFrom.sendTransactionAsync(_from, _to, _value, txData);
 | 
					            const txHashPromise = self.transferFrom.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -254,8 +288,8 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -266,6 +300,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -289,8 +327,8 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -301,6 +339,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -315,8 +357,8 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -338,7 +380,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -347,6 +389,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
				
			||||||
@@ -358,7 +404,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(_owner: string): string {
 | 
					        getABIEncodedTransactionData(_owner: string): string {
 | 
				
			||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -371,7 +417,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -379,8 +425,12 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transfer.estimateGasAsync.bind(self, _to, _value),
 | 
					                self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -394,7 +444,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transfer.sendTransactionAsync(_to, _value, txData);
 | 
					            const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -411,7 +461,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -420,6 +470,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -440,7 +494,7 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -449,6 +503,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
				
			||||||
@@ -461,7 +519,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -483,7 +544,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner, _spender]);
 | 
					            const encodedData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -492,6 +556,10 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
				
			||||||
@@ -505,8 +573,8 @@ export class ERC20TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            const self = (this as any) as ERC20TokenContract;
 | 
					            const self = (this as any) as ERC20TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
                _owner,
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
                _spender,
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -58,8 +58,12 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.addAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -71,7 +75,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -87,7 +91,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -96,6 +100,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -110,7 +118,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -119,6 +127,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
				
			||||||
@@ -130,7 +142,9 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -159,6 +173,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('authorities(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('authorities(uint256)');
 | 
				
			||||||
@@ -178,7 +196,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -186,8 +204,12 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -199,7 +221,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -215,7 +237,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -224,6 +246,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -238,7 +264,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -247,6 +273,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
				
			||||||
@@ -258,7 +288,9 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -282,6 +314,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
				
			||||||
@@ -306,7 +342,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -316,8 +352,12 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target, index),
 | 
					                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -331,7 +371,11 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target, index, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					                index,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -353,7 +397,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -364,6 +408,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -385,7 +433,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -396,6 +444,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
				
			||||||
@@ -410,7 +462,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
					                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
				
			||||||
                [target, index],
 | 
					                [target.toLowerCase(), index],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -435,6 +487,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
				
			||||||
@@ -465,7 +521,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('authorized(address)', [index_0]);
 | 
					            const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -474,6 +530,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('authorized(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('authorized(address)');
 | 
				
			||||||
@@ -485,7 +545,9 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(index_0: string): string {
 | 
					        getABIEncodedTransactionData(index_0: string): string {
 | 
				
			||||||
            assert.isString('index_0', index_0);
 | 
					            assert.isString('index_0', index_0);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [
 | 
				
			||||||
 | 
					                index_0.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -509,6 +571,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
				
			||||||
@@ -527,7 +593,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -535,8 +601,12 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferOwnership.estimateGasAsync.bind(self, newOwner),
 | 
					                self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -548,7 +618,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner, txData);
 | 
					            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -564,7 +634,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -573,6 +643,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -587,7 +661,7 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -596,6 +670,10 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
				
			||||||
@@ -607,7 +685,9 @@ export class ERC721ProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(newOwner: string): string {
 | 
					        getABIEncodedTransactionData(newOwner: string): string {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ERC721ProxyContract;
 | 
					            const self = (this as any) as ERC721ProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,6 +81,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)');
 | 
				
			||||||
@@ -105,7 +109,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_approved', _approved);
 | 
					            assert.isString('_approved', _approved);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -113,8 +120,12 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.approve.estimateGasAsync.bind(self, _approved, _tokenId),
 | 
					                self.approve.estimateGasAsync.bind(self, _approved.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -128,7 +139,7 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_approved', _approved);
 | 
					            assert.isString('_approved', _approved);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.approve.sendTransactionAsync(_approved, _tokenId, txData);
 | 
					            const txHashPromise = self.approve.sendTransactionAsync(_approved.toLowerCase(), _tokenId, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -149,7 +160,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_approved', _approved);
 | 
					            assert.isString('_approved', _approved);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -158,6 +172,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -178,7 +196,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_approved, _tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -187,6 +208,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
				
			||||||
@@ -200,7 +225,7 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
                _approved,
 | 
					                _approved.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -218,8 +243,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -229,8 +254,12 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferFrom.estimateGasAsync.bind(self, _from, _to, _tokenId),
 | 
					                self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -246,7 +275,12 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.transferFrom.sendTransactionAsync(_from, _to, _tokenId, txData);
 | 
					            const txHashPromise = self.transferFrom.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -270,8 +304,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -282,6 +316,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -305,8 +343,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -317,6 +355,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -331,8 +373,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -350,8 +392,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -361,8 +403,12 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.safeTransferFrom1.estimateGasAsync.bind(self, _from, _to, _tokenId),
 | 
					                self.safeTransferFrom1.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _tokenId),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -378,7 +424,12 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(_from, _to, _tokenId, txData);
 | 
					            const txHashPromise = self.safeTransferFrom1.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -402,8 +453,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -414,6 +465,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -437,8 +492,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -449,6 +504,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -463,8 +522,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -495,6 +554,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)');
 | 
				
			||||||
@@ -526,7 +589,7 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -535,6 +598,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
				
			||||||
@@ -546,7 +613,7 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(_owner: string): string {
 | 
					        getABIEncodedTransactionData(_owner: string): string {
 | 
				
			||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -559,7 +626,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator, _approved]);
 | 
					            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -567,8 +637,12 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.setApprovalForAll.estimateGasAsync.bind(self, _operator, _approved),
 | 
					                self.setApprovalForAll.estimateGasAsync.bind(self, _operator.toLowerCase(), _approved),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -582,7 +656,11 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.setApprovalForAll.sendTransactionAsync(_operator, _approved, txData);
 | 
					            const txHashPromise = self.setApprovalForAll.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -603,7 +681,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator, _approved]);
 | 
					            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -612,6 +693,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -632,7 +717,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [_operator, _approved]);
 | 
					            const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					                _approved,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -641,6 +729,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)');
 | 
				
			||||||
@@ -654,7 +746,7 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBoolean('_approved', _approved);
 | 
					            assert.isBoolean('_approved', _approved);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [
 | 
				
			||||||
                _operator,
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
                _approved,
 | 
					                _approved,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -674,8 +766,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_data', _data);
 | 
					            assert.isString('_data', _data);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
                _data,
 | 
					                _data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -686,8 +778,18 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.safeTransferFrom2.estimateGasAsync.bind(self, _from, _to, _tokenId, _data),
 | 
					                self.safeTransferFrom2.estimateGasAsync.bind(
 | 
				
			||||||
 | 
					                    self,
 | 
				
			||||||
 | 
					                    _from.toLowerCase(),
 | 
				
			||||||
 | 
					                    _to.toLowerCase(),
 | 
				
			||||||
 | 
					                    _tokenId,
 | 
				
			||||||
 | 
					                    _data,
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -705,7 +807,13 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_tokenId', _tokenId);
 | 
					            assert.isBigNumber('_tokenId', _tokenId);
 | 
				
			||||||
            assert.isString('_data', _data);
 | 
					            assert.isString('_data', _data);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(_from, _to, _tokenId, _data, txData);
 | 
					            const txHashPromise = self.safeTransferFrom2.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _tokenId,
 | 
				
			||||||
 | 
					                _data,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -731,8 +839,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_data', _data);
 | 
					            assert.isString('_data', _data);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
                _data,
 | 
					                _data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -744,6 +852,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -769,8 +881,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _tokenId,
 | 
					                _tokenId,
 | 
				
			||||||
                _data,
 | 
					                _data,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
@@ -782,6 +894,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)');
 | 
				
			||||||
@@ -798,7 +914,7 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'safeTransferFrom(address,address,uint256,bytes)',
 | 
					                'safeTransferFrom(address,address,uint256,bytes)',
 | 
				
			||||||
                [_from, _to, _tokenId, _data],
 | 
					                [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -821,7 +937,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [_owner, _operator]);
 | 
					            const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [
 | 
				
			||||||
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -830,6 +949,10 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)');
 | 
				
			||||||
@@ -843,8 +966,8 @@ export class ERC721TokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_operator', _operator);
 | 
					            assert.isString('_operator', _operator);
 | 
				
			||||||
            const self = (this as any) as ERC721TokenContract;
 | 
					            const self = (this as any) as ERC721TokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [
 | 
				
			||||||
                _owner,
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
                _operator,
 | 
					                _operator.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,6 +52,10 @@ export class EthBalanceCheckerContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])');
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -74,7 +74,15 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, makerAssetFillAmount, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [
 | 
				
			||||||
 | 
					                    orders,
 | 
				
			||||||
 | 
					                    makerAssetFillAmount,
 | 
				
			||||||
 | 
					                    signatures,
 | 
				
			||||||
 | 
					                    feeOrders,
 | 
				
			||||||
 | 
					                    feeSignatures,
 | 
				
			||||||
 | 
					                    feePercentage,
 | 
				
			||||||
 | 
					                    feeRecipient.toLowerCase(),
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -91,9 +99,13 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                    feeOrders,
 | 
					                    feeOrders,
 | 
				
			||||||
                    feeSignatures,
 | 
					                    feeSignatures,
 | 
				
			||||||
                    feePercentage,
 | 
					                    feePercentage,
 | 
				
			||||||
                    feeRecipient,
 | 
					                    feeRecipient.toLowerCase(),
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -150,7 +162,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                feeOrders,
 | 
					                feeOrders,
 | 
				
			||||||
                feeSignatures,
 | 
					                feeSignatures,
 | 
				
			||||||
                feePercentage,
 | 
					                feePercentage,
 | 
				
			||||||
                feeRecipient,
 | 
					                feeRecipient.toLowerCase(),
 | 
				
			||||||
                txData,
 | 
					                txData,
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
@@ -211,7 +223,15 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, makerAssetFillAmount, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [
 | 
				
			||||||
 | 
					                    orders,
 | 
				
			||||||
 | 
					                    makerAssetFillAmount,
 | 
				
			||||||
 | 
					                    signatures,
 | 
				
			||||||
 | 
					                    feeOrders,
 | 
				
			||||||
 | 
					                    feeSignatures,
 | 
				
			||||||
 | 
					                    feePercentage,
 | 
				
			||||||
 | 
					                    feeRecipient.toLowerCase(),
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -221,6 +241,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -294,7 +318,15 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, makerAssetFillAmount, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [
 | 
				
			||||||
 | 
					                    orders,
 | 
				
			||||||
 | 
					                    makerAssetFillAmount,
 | 
				
			||||||
 | 
					                    signatures,
 | 
				
			||||||
 | 
					                    feeOrders,
 | 
				
			||||||
 | 
					                    feeSignatures,
 | 
				
			||||||
 | 
					                    feePercentage,
 | 
				
			||||||
 | 
					                    feeRecipient.toLowerCase(),
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -304,6 +336,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -374,7 +410,15 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, makerAssetFillAmount, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [
 | 
				
			||||||
 | 
					                    orders,
 | 
				
			||||||
 | 
					                    makerAssetFillAmount,
 | 
				
			||||||
 | 
					                    signatures,
 | 
				
			||||||
 | 
					                    feeOrders,
 | 
				
			||||||
 | 
					                    feeSignatures,
 | 
				
			||||||
 | 
					                    feePercentage,
 | 
				
			||||||
 | 
					                    feeRecipient.toLowerCase(),
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -398,6 +442,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.withdrawAsset.estimateGasAsync.bind(self, assetData, amount),
 | 
					                self.withdrawAsset.estimateGasAsync.bind(self, assetData, amount),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -441,6 +489,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -470,6 +522,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)');
 | 
				
			||||||
@@ -509,6 +565,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
				
			||||||
@@ -568,7 +628,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -584,9 +644,13 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                    feeOrders,
 | 
					                    feeOrders,
 | 
				
			||||||
                    feeSignatures,
 | 
					                    feeSignatures,
 | 
				
			||||||
                    feePercentage,
 | 
					                    feePercentage,
 | 
				
			||||||
                    feeRecipient,
 | 
					                    feeRecipient.toLowerCase(),
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -640,7 +704,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                feeOrders,
 | 
					                feeOrders,
 | 
				
			||||||
                feeSignatures,
 | 
					                feeSignatures,
 | 
				
			||||||
                feePercentage,
 | 
					                feePercentage,
 | 
				
			||||||
                feeRecipient,
 | 
					                feeRecipient.toLowerCase(),
 | 
				
			||||||
                txData,
 | 
					                txData,
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
@@ -699,7 +763,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -709,6 +773,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -780,7 +848,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -790,6 +858,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -858,7 +930,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
					                'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],bytes[],uint256,address)',
 | 
				
			||||||
                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient],
 | 
					                [orders, signatures, feeOrders, feeSignatures, feePercentage, feeRecipient.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -867,7 +939,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -875,8 +947,12 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferOwnership.estimateGasAsync.bind(self, newOwner),
 | 
					                self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -888,7 +964,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner, txData);
 | 
					            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -904,7 +980,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -913,6 +989,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -927,7 +1007,7 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -936,6 +1016,10 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
				
			||||||
@@ -947,7 +1031,9 @@ export class ForwarderContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(newOwner: string): string {
 | 
					        getABIEncodedTransactionData(newOwner: string): string {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as ForwarderContract;
 | 
					            const self = (this as any) as ForwarderContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -39,8 +39,12 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.addAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -52,7 +56,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -68,7 +72,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -77,6 +81,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -91,7 +99,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -100,6 +108,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
				
			||||||
@@ -111,7 +123,9 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -119,7 +133,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -127,8 +141,12 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -140,7 +158,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -156,7 +174,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -165,6 +183,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -179,7 +201,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -188,6 +210,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
				
			||||||
@@ -199,7 +225,9 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -213,7 +241,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -223,8 +251,12 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target, index),
 | 
					                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -238,7 +270,11 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target, index, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					                index,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -260,7 +296,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -271,6 +307,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -292,7 +332,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -303,6 +343,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
				
			||||||
@@ -317,7 +361,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
					                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
				
			||||||
                [target, index],
 | 
					                [target.toLowerCase(), index],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -337,8 +381,8 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [
 | 
				
			||||||
                assetData,
 | 
					                assetData,
 | 
				
			||||||
                from,
 | 
					                from.toLowerCase(),
 | 
				
			||||||
                to,
 | 
					                to.toLowerCase(),
 | 
				
			||||||
                amount,
 | 
					                amount,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -348,8 +392,12 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferFrom.estimateGasAsync.bind(self, assetData, from, to, amount),
 | 
					                self.transferFrom.estimateGasAsync.bind(self, assetData, from.toLowerCase(), to.toLowerCase(), amount),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -367,7 +415,13 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('to', to);
 | 
					            assert.isString('to', to);
 | 
				
			||||||
            assert.isBigNumber('amount', amount);
 | 
					            assert.isBigNumber('amount', amount);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.transferFrom.sendTransactionAsync(assetData, from, to, amount, txData);
 | 
					            const txHashPromise = self.transferFrom.sendTransactionAsync(
 | 
				
			||||||
 | 
					                assetData,
 | 
				
			||||||
 | 
					                from.toLowerCase(),
 | 
				
			||||||
 | 
					                to.toLowerCase(),
 | 
				
			||||||
 | 
					                amount,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -394,8 +448,8 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [
 | 
				
			||||||
                assetData,
 | 
					                assetData,
 | 
				
			||||||
                from,
 | 
					                from.toLowerCase(),
 | 
				
			||||||
                to,
 | 
					                to.toLowerCase(),
 | 
				
			||||||
                amount,
 | 
					                amount,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -406,6 +460,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -432,8 +490,8 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [
 | 
				
			||||||
                assetData,
 | 
					                assetData,
 | 
				
			||||||
                from,
 | 
					                from.toLowerCase(),
 | 
				
			||||||
                to,
 | 
					                to.toLowerCase(),
 | 
				
			||||||
                amount,
 | 
					                amount,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -444,6 +502,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)');
 | 
				
			||||||
@@ -460,7 +522,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'transferFrom(bytes,address,address,uint256)',
 | 
					                'transferFrom(bytes,address,address,uint256)',
 | 
				
			||||||
                [assetData, from, to, amount],
 | 
					                [assetData, from.toLowerCase(), to.toLowerCase(), amount],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -485,6 +547,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
				
			||||||
@@ -519,6 +585,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
				
			||||||
@@ -537,7 +607,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -545,8 +615,12 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferOwnership.estimateGasAsync.bind(self, newOwner),
 | 
					                self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -558,7 +632,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner, txData);
 | 
					            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -574,7 +648,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -583,6 +657,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -597,7 +675,7 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -606,6 +684,10 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
				
			||||||
@@ -617,7 +699,9 @@ export class IAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(newOwner: string): string {
 | 
					        getABIEncodedTransactionData(newOwner: string): string {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as IAssetProxyContract;
 | 
					            const self = (this as any) as IAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -49,7 +49,7 @@ export class IValidatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as IValidatorContract;
 | 
					            const self = (this as any) as IValidatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [
 | 
				
			||||||
                hash,
 | 
					                hash,
 | 
				
			||||||
                signerAddress,
 | 
					                signerAddress.toLowerCase(),
 | 
				
			||||||
                signature,
 | 
					                signature,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -60,6 +60,10 @@ export class IValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,address,bytes)');
 | 
				
			||||||
@@ -75,7 +79,7 @@ export class IValidatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as IValidatorContract;
 | 
					            const self = (this as any) as IValidatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('isValidSignature(bytes32,address,bytes)', [
 | 
				
			||||||
                hash,
 | 
					                hash,
 | 
				
			||||||
                signerAddress,
 | 
					                signerAddress.toLowerCase(),
 | 
				
			||||||
                signature,
 | 
					                signature,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,6 +54,10 @@ export class IWalletContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('isValidSignature(bytes32,bytes)');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,6 +74,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('assetProxies(bytes4)');
 | 
				
			||||||
@@ -93,7 +97,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -101,8 +105,12 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.addAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.addAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -114,7 +122,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.addAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -130,7 +138,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -139,6 +147,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -153,7 +165,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -162,6 +174,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('addAuthorizedAddress(address)');
 | 
				
			||||||
@@ -173,7 +189,9 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('addAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -202,6 +220,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('authorities(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('authorities(uint256)');
 | 
				
			||||||
@@ -242,6 +264,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)');
 | 
				
			||||||
@@ -261,7 +287,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(target: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -269,8 +295,12 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target),
 | 
					                self.removeAuthorizedAddress.estimateGasAsync.bind(self, target.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -282,7 +312,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -298,7 +328,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(target: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -307,6 +337,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -321,7 +355,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -330,6 +364,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)');
 | 
				
			||||||
@@ -341,7 +379,9 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(target: string): string {
 | 
					        getABIEncodedTransactionData(target: string): string {
 | 
				
			||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -365,6 +405,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('owner()');
 | 
				
			||||||
@@ -389,7 +433,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -399,8 +443,12 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target, index),
 | 
					                self.removeAuthorizedAddressAtIndex.estimateGasAsync.bind(self, target.toLowerCase(), index),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -414,7 +462,11 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('target', target);
 | 
					            assert.isString('target', target);
 | 
				
			||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(target, index, txData);
 | 
					            const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync(
 | 
				
			||||||
 | 
					                target.toLowerCase(),
 | 
				
			||||||
 | 
					                index,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -436,7 +488,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('index', index);
 | 
					            assert.isBigNumber('index', index);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -447,6 +499,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -468,7 +524,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                index,
 | 
					                index,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -479,6 +535,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)');
 | 
				
			||||||
@@ -493,7 +553,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
					                'removeAuthorizedAddressAtIndex(address,uint256)',
 | 
				
			||||||
                [target, index],
 | 
					                [target.toLowerCase(), index],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -518,6 +578,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getProxyId()');
 | 
				
			||||||
@@ -548,7 +612,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('authorized(address)', [index_0]);
 | 
					            const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -557,6 +621,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('authorized(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('authorized(address)');
 | 
				
			||||||
@@ -568,7 +636,9 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(index_0: string): string {
 | 
					        getABIEncodedTransactionData(index_0: string): string {
 | 
				
			||||||
            assert.isString('index_0', index_0);
 | 
					            assert.isString('index_0', index_0);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [index_0]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [
 | 
				
			||||||
 | 
					                index_0.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -576,7 +646,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(assetProxy: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(assetProxy: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('assetProxy', assetProxy);
 | 
					            assert.isString('assetProxy', assetProxy);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy]);
 | 
					            const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -584,8 +654,12 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy),
 | 
					                self.registerAssetProxy.estimateGasAsync.bind(self, assetProxy.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -597,7 +671,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('assetProxy', assetProxy);
 | 
					            assert.isString('assetProxy', assetProxy);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy, txData);
 | 
					            const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -613,7 +687,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(assetProxy: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(assetProxy: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('assetProxy', assetProxy);
 | 
					            assert.isString('assetProxy', assetProxy);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy]);
 | 
					            const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -622,6 +696,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -640,7 +718,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy]);
 | 
					            const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -649,6 +727,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)');
 | 
				
			||||||
@@ -660,7 +742,9 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(assetProxy: string): string {
 | 
					        getABIEncodedTransactionData(assetProxy: string): string {
 | 
				
			||||||
            assert.isString('assetProxy', assetProxy);
 | 
					            assert.isString('assetProxy', assetProxy);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [
 | 
				
			||||||
 | 
					                assetProxy.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -684,6 +768,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()');
 | 
				
			||||||
@@ -702,7 +790,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
					        async sendTransactionAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<string> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -710,8 +798,12 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferOwnership.estimateGasAsync.bind(self, newOwner),
 | 
					                self.transferOwnership.estimateGasAsync.bind(self, newOwner.toLowerCase()),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -723,7 +815,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
					        ): PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner, txData);
 | 
					            const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -739,7 +831,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
					        async estimateGasAsync(newOwner: string, txData?: Partial<TxData> | undefined): Promise<number> {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -748,6 +840,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -762,7 +858,7 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -771,6 +867,10 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)');
 | 
				
			||||||
@@ -782,7 +882,9 @@ export class MultiAssetProxyContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(newOwner: string): string {
 | 
					        getABIEncodedTransactionData(newOwner: string): string {
 | 
				
			||||||
            assert.isString('newOwner', newOwner);
 | 
					            assert.isString('newOwner', newOwner);
 | 
				
			||||||
            const self = (this as any) as MultiAssetProxyContract;
 | 
					            const self = (this as any) as MultiAssetProxyContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [newOwner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [
 | 
				
			||||||
 | 
					                newOwner.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,7 +73,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
					                'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
				
			||||||
                [order, takerAddress],
 | 
					                [order, takerAddress.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -83,6 +83,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -128,7 +132,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
					                'getOrderAndTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
				
			||||||
                [order, takerAddress],
 | 
					                [order, takerAddress.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -152,7 +156,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [
 | 
					            const encodedData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                assetData,
 | 
					                assetData,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -163,6 +167,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getBalanceAndAllowance(address,bytes)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getBalanceAndAllowance(address,bytes)');
 | 
				
			||||||
@@ -176,7 +184,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('assetData', assetData);
 | 
					            assert.isString('assetData', assetData);
 | 
				
			||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('getBalanceAndAllowance(address,bytes)', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                assetData,
 | 
					                assetData,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -239,6 +247,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -344,6 +356,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -410,7 +426,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [token, tokenId]);
 | 
					            const encodedData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [
 | 
				
			||||||
 | 
					                token.toLowerCase(),
 | 
				
			||||||
 | 
					                tokenId,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -419,6 +438,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getERC721TokenOwner(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getERC721TokenOwner(address,uint256)');
 | 
				
			||||||
@@ -432,7 +455,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('tokenId', tokenId);
 | 
					            assert.isBigNumber('tokenId', tokenId);
 | 
				
			||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('getERC721TokenOwner(address,uint256)', [
 | 
				
			||||||
                token,
 | 
					                token.toLowerCase(),
 | 
				
			||||||
                tokenId,
 | 
					                tokenId,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -457,7 +480,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [
 | 
					            const encodedData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                assetData,
 | 
					                assetData,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -468,6 +491,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('getBalancesAndAllowances(address,bytes[])');
 | 
					            const abiEncoder = self._lookupAbiEncoder('getBalancesAndAllowances(address,bytes[])');
 | 
				
			||||||
@@ -481,7 +508,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            assert.isArray('assetData', assetData);
 | 
					            assert.isArray('assetData', assetData);
 | 
				
			||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('getBalancesAndAllowances(address,bytes[])', [
 | 
				
			||||||
                target,
 | 
					                target.toLowerCase(),
 | 
				
			||||||
                assetData,
 | 
					                assetData,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -528,7 +555,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments(
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
                'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
					                'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
				
			||||||
                [order, takerAddress],
 | 
					                [order, takerAddress.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -538,6 +565,10 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder(
 | 
					            const abiEncoder = self._lookupAbiEncoder(
 | 
				
			||||||
@@ -578,7 +609,7 @@ export class OrderValidatorContract extends BaseContract {
 | 
				
			|||||||
            const self = (this as any) as OrderValidatorContract;
 | 
					            const self = (this as any) as OrderValidatorContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
                'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
					                'getTraderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address)',
 | 
				
			||||||
                [order, takerAddress],
 | 
					                [order, takerAddress.toLowerCase()],
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -82,6 +82,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
				
			||||||
@@ -101,7 +105,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('guy', guy);
 | 
					            assert.isString('guy', guy);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -109,8 +113,12 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.approve.estimateGasAsync.bind(self, guy, wad),
 | 
					                self.approve.estimateGasAsync.bind(self, guy.toLowerCase(), wad),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -124,7 +132,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('guy', guy);
 | 
					            assert.isString('guy', guy);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const txHashPromise = self.approve.sendTransactionAsync(guy, wad, txData);
 | 
					            const txHashPromise = self.approve.sendTransactionAsync(guy.toLowerCase(), wad, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -141,7 +149,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('guy', guy);
 | 
					            assert.isString('guy', guy);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -150,6 +158,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -170,7 +182,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [guy.toLowerCase(), wad]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -179,6 +191,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
				
			||||||
@@ -191,7 +207,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('guy', guy);
 | 
					            assert.isString('guy', guy);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [guy, wad]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                guy.toLowerCase(),
 | 
				
			||||||
 | 
					                wad,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -215,6 +234,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
				
			||||||
@@ -240,7 +263,11 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('dst', dst);
 | 
					            assert.isString('dst', dst);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src, dst, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
 | 
					                src.toLowerCase(),
 | 
				
			||||||
 | 
					                dst.toLowerCase(),
 | 
				
			||||||
 | 
					                wad,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -248,8 +275,12 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferFrom.estimateGasAsync.bind(self, src, dst, wad),
 | 
					                self.transferFrom.estimateGasAsync.bind(self, src.toLowerCase(), dst.toLowerCase(), wad),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -265,7 +296,12 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('dst', dst);
 | 
					            assert.isString('dst', dst);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const txHashPromise = self.transferFrom.sendTransactionAsync(src, dst, wad, txData);
 | 
					            const txHashPromise = self.transferFrom.sendTransactionAsync(
 | 
				
			||||||
 | 
					                src.toLowerCase(),
 | 
				
			||||||
 | 
					                dst.toLowerCase(),
 | 
				
			||||||
 | 
					                wad,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -288,7 +324,11 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('dst', dst);
 | 
					            assert.isString('dst', dst);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src, dst, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
 | 
					                src.toLowerCase(),
 | 
				
			||||||
 | 
					                dst.toLowerCase(),
 | 
				
			||||||
 | 
					                wad,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -297,6 +337,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -319,7 +363,11 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [src, dst, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
 | 
					                src.toLowerCase(),
 | 
				
			||||||
 | 
					                dst.toLowerCase(),
 | 
				
			||||||
 | 
					                wad,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -328,6 +376,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -342,8 +394,8 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                src,
 | 
					                src.toLowerCase(),
 | 
				
			||||||
                dst,
 | 
					                dst.toLowerCase(),
 | 
				
			||||||
                wad,
 | 
					                wad,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -363,6 +415,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.withdraw.estimateGasAsync.bind(self, wad),
 | 
					                self.withdraw.estimateGasAsync.bind(self, wad),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -399,6 +455,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -422,6 +482,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('withdraw(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('withdraw(uint256)');
 | 
				
			||||||
@@ -457,6 +521,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('decimals()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('decimals()');
 | 
				
			||||||
@@ -487,7 +555,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0]);
 | 
					            const encodedData = self._strictEncodeArguments('balanceOf(address)', [index_0.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -496,6 +564,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
				
			||||||
@@ -507,7 +579,9 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(index_0: string): string {
 | 
					        getABIEncodedTransactionData(index_0: string): string {
 | 
				
			||||||
            assert.isString('index_0', index_0);
 | 
					            assert.isString('index_0', index_0);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [index_0]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [
 | 
				
			||||||
 | 
					                index_0.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -531,6 +605,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
				
			||||||
@@ -550,7 +628,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('dst', dst);
 | 
					            assert.isString('dst', dst);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -558,8 +636,12 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transfer.estimateGasAsync.bind(self, dst, wad),
 | 
					                self.transfer.estimateGasAsync.bind(self, dst.toLowerCase(), wad),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -573,7 +655,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('dst', dst);
 | 
					            assert.isString('dst', dst);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const txHashPromise = self.transfer.sendTransactionAsync(dst, wad, txData);
 | 
					            const txHashPromise = self.transfer.sendTransactionAsync(dst.toLowerCase(), wad, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -590,7 +672,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('dst', dst);
 | 
					            assert.isString('dst', dst);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -599,6 +681,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -619,7 +705,7 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst, wad]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [dst.toLowerCase(), wad]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -628,6 +714,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
				
			||||||
@@ -640,7 +730,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('dst', dst);
 | 
					            assert.isString('dst', dst);
 | 
				
			||||||
            assert.isBigNumber('wad', wad);
 | 
					            assert.isBigNumber('wad', wad);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [dst, wad]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [
 | 
				
			||||||
 | 
					                dst.toLowerCase(),
 | 
				
			||||||
 | 
					                wad,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -657,6 +750,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.deposit.estimateGasAsync.bind(self),
 | 
					                self.deposit.estimateGasAsync.bind(self),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -690,6 +787,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -712,6 +813,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('deposit()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('deposit()');
 | 
				
			||||||
@@ -744,7 +849,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('allowance(address,address)', [index_0, index_1]);
 | 
					            const encodedData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
 | 
					                index_0.toLowerCase(),
 | 
				
			||||||
 | 
					                index_1.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -753,6 +861,10 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
				
			||||||
@@ -766,8 +878,8 @@ export class WETH9Contract extends BaseContract {
 | 
				
			|||||||
            assert.isString('index_1', index_1);
 | 
					            assert.isString('index_1', index_1);
 | 
				
			||||||
            const self = (this as any) as WETH9Contract;
 | 
					            const self = (this as any) as WETH9Contract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
                index_0,
 | 
					                index_0.toLowerCase(),
 | 
				
			||||||
                index_1,
 | 
					                index_1.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,6 +66,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('name()');
 | 
				
			||||||
@@ -89,7 +93,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -97,8 +104,12 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.approve.estimateGasAsync.bind(self, _spender, _value),
 | 
					                self.approve.estimateGasAsync.bind(self, _spender.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -112,7 +123,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const txHashPromise = self.approve.sendTransactionAsync(_spender, _value, txData);
 | 
					            const txHashPromise = self.approve.sendTransactionAsync(_spender.toLowerCase(), _value, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -133,7 +144,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -142,6 +156,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -162,7 +180,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [_spender, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -171,6 +192,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('approve(address,uint256)');
 | 
				
			||||||
@@ -184,7 +209,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('approve(address,uint256)', [
 | 
				
			||||||
                _spender,
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -210,6 +235,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('totalSupply()');
 | 
				
			||||||
@@ -236,8 +265,8 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -247,8 +276,12 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transferFrom.estimateGasAsync.bind(self, _from, _to, _value),
 | 
					                self.transferFrom.estimateGasAsync.bind(self, _from.toLowerCase(), _to.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -264,7 +297,12 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const txHashPromise = self.transferFrom.sendTransactionAsync(_from, _to, _value, txData);
 | 
					            const txHashPromise = self.transferFrom.sendTransactionAsync(
 | 
				
			||||||
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					                txData,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -288,8 +326,8 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -300,6 +338,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -323,8 +365,8 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
@@ -335,6 +377,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)');
 | 
				
			||||||
@@ -349,8 +395,8 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [
 | 
				
			||||||
                _from,
 | 
					                _from.toLowerCase(),
 | 
				
			||||||
                _to,
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
                _value,
 | 
					                _value,
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
@@ -376,6 +422,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('decimals()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('decimals()');
 | 
				
			||||||
@@ -406,7 +456,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -415,6 +465,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('balanceOf(address)');
 | 
				
			||||||
@@ -426,7 +480,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
        getABIEncodedTransactionData(_owner: string): string {
 | 
					        getABIEncodedTransactionData(_owner: string): string {
 | 
				
			||||||
            assert.isString('_owner', _owner);
 | 
					            assert.isString('_owner', _owner);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -450,6 +504,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('symbol()');
 | 
				
			||||||
@@ -473,7 +531,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -481,8 +539,12 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                    data: encodedData,
 | 
					                    data: encodedData,
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
                self.transfer.estimateGasAsync.bind(self, _to, _value),
 | 
					                self.transfer.estimateGasAsync.bind(self, _to.toLowerCase(), _value),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
					            const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults);
 | 
				
			||||||
            return txHash;
 | 
					            return txHash;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -496,7 +558,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const txHashPromise = self.transfer.sendTransactionAsync(_to, _value, txData);
 | 
					            const txHashPromise = self.transfer.sendTransactionAsync(_to.toLowerCase(), _value, txData);
 | 
				
			||||||
            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
					            return new PromiseWithTransactionHash<TransactionReceiptWithDecodedLogs>(
 | 
				
			||||||
                txHashPromise,
 | 
					                txHashPromise,
 | 
				
			||||||
                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
					                (async (): Promise<TransactionReceiptWithDecodedLogs> => {
 | 
				
			||||||
@@ -513,7 +575,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -522,6 +584,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            if (txDataWithDefaults.from !== undefined) {
 | 
				
			||||||
 | 
					                txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
					            const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults);
 | 
				
			||||||
            return gas;
 | 
					            return gas;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -542,7 +608,7 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -551,6 +617,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)');
 | 
				
			||||||
@@ -563,7 +633,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_to', _to);
 | 
					            assert.isString('_to', _to);
 | 
				
			||||||
            assert.isBigNumber('_value', _value);
 | 
					            assert.isBigNumber('_value', _value);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [_to, _value]);
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [
 | 
				
			||||||
 | 
					                _to.toLowerCase(),
 | 
				
			||||||
 | 
					                _value,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -585,7 +658,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const encodedData = self._strictEncodeArguments('allowance(address,address)', [_owner, _spender]);
 | 
					            const encodedData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    to: self.address,
 | 
					                    to: self.address,
 | 
				
			||||||
@@ -594,6 +670,10 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('allowance(address,address)');
 | 
				
			||||||
@@ -607,8 +687,8 @@ export class ZRXTokenContract extends BaseContract {
 | 
				
			|||||||
            assert.isString('_spender', _spender);
 | 
					            assert.isString('_spender', _spender);
 | 
				
			||||||
            const self = (this as any) as ZRXTokenContract;
 | 
					            const self = (this as any) as ZRXTokenContract;
 | 
				
			||||||
            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [
 | 
				
			||||||
                _owner,
 | 
					                _owner.toLowerCase(),
 | 
				
			||||||
                _spender,
 | 
					                _spender.toLowerCase(),
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -84,6 +84,10 @@ function registerTypeScriptHelpers(): void {
 | 
				
			|||||||
    Handlebars.registerHelper('assertionType', utils.solTypeToAssertion.bind(utils));
 | 
					    Handlebars.registerHelper('assertionType', utils.solTypeToAssertion.bind(utils));
 | 
				
			||||||
    Handlebars.registerHelper('returnType', utils.solTypeToTsType.bind(utils, ParamKind.Output, args.backend));
 | 
					    Handlebars.registerHelper('returnType', utils.solTypeToTsType.bind(utils, ParamKind.Output, args.backend));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Handlebars.registerHelper('ifEquals', function(this: typeof Handlebars, arg1: any, arg2: any, options: any): void {
 | 
				
			||||||
 | 
					        return arg1 === arg2 ? options.fn(this) : options.inverse(this); // tslint:disable-line:no-invalid-this
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Check if 0 or false exists
 | 
					    // Check if 0 or false exists
 | 
				
			||||||
    Handlebars.registerHelper(
 | 
					    Handlebars.registerHelper(
 | 
				
			||||||
        'isDefined',
 | 
					        'isDefined',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -141,6 +141,42 @@ class AbiGenDummy(BaseContractWrapper):
 | 
				
			|||||||
            view_only=True
 | 
					            view_only=True
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def with_address_input(
 | 
				
			||||||
 | 
					        self,
 | 
				
			||||||
 | 
					        x: str,
 | 
				
			||||||
 | 
					        a: int,
 | 
				
			||||||
 | 
					        b: int,
 | 
				
			||||||
 | 
					        y: str,
 | 
				
			||||||
 | 
					        c: int,
 | 
				
			||||||
 | 
					        tx_params: Optional[TxParams] = None,
 | 
				
			||||||
 | 
					    ) -> str:
 | 
				
			||||||
 | 
					        """Execute underlying, same-named contract method.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        x = self._validate_and_checksum_address(x)
 | 
				
			||||||
 | 
					        # safeguard against fractional inputs
 | 
				
			||||||
 | 
					        a = int(a)
 | 
				
			||||||
 | 
					        # safeguard against fractional inputs
 | 
				
			||||||
 | 
					        b = int(b)
 | 
				
			||||||
 | 
					        y = self._validate_and_checksum_address(y)
 | 
				
			||||||
 | 
					        # safeguard against fractional inputs
 | 
				
			||||||
 | 
					        c = int(c)
 | 
				
			||||||
 | 
					        func = self._get_contract_instance(
 | 
				
			||||||
 | 
					            self._contract_address
 | 
				
			||||||
 | 
					        ).functions.withAddressInput(
 | 
				
			||||||
 | 
					            x,
 | 
				
			||||||
 | 
					            a,
 | 
				
			||||||
 | 
					            b,
 | 
				
			||||||
 | 
					            y,
 | 
				
			||||||
 | 
					            c
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        return self._invoke_function_call(
 | 
				
			||||||
 | 
					            func=func,
 | 
				
			||||||
 | 
					            tx_params=tx_params,
 | 
				
			||||||
 | 
					            view_only=True
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def simple_pure_function_with_input(
 | 
					    def simple_pure_function_with_input(
 | 
				
			||||||
        self,
 | 
					        self,
 | 
				
			||||||
        x: int,
 | 
					        x: int,
 | 
				
			||||||
@@ -203,5 +239,5 @@ class AbiGenDummy(BaseContractWrapper):
 | 
				
			|||||||
    def abi():
 | 
					    def abi():
 | 
				
			||||||
        """Return the ABI to the underlying contract."""
 | 
					        """Return the ABI to the underlying contract."""
 | 
				
			||||||
        return json.loads(
 | 
					        return json.loads(
 | 
				
			||||||
            '[{"constant":true,"inputs":[],"name":"simpleRequire","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"ecrecoverFn","outputs":[{"name":"signerAddress","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"revertWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"simpleRevert","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"requireWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"uint256"}],"name":"simplePureFunctionWithInput","outputs":[{"name":"sum","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"simplePureFunction","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"pureFunctionWithConstant","outputs":[{"name":"someConstant","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"}]'  # noqa: E501 (line-too-long)
 | 
					            '[{"constant":true,"inputs":[],"name":"simpleRequire","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"ecrecoverFn","outputs":[{"name":"signerAddress","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"revertWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"simpleRevert","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"requireWithConstant","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"address"},{"name":"a","type":"uint256"},{"name":"b","type":"uint256"},{"name":"y","type":"address"},{"name":"c","type":"uint256"}],"name":"withAddressInput","outputs":[{"name":"z","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"uint256"}],"name":"simplePureFunctionWithInput","outputs":[{"name":"sum","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"simplePureFunction","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"pureFunctionWithConstant","outputs":[{"name":"someConstant","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"}]'  # noqa: E501 (line-too-long)
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,6 +47,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('simpleRequire()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('simpleRequire()');
 | 
				
			||||||
@@ -97,6 +101,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('ecrecoverFn(bytes32,uint8,bytes32,bytes32)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('ecrecoverFn(bytes32,uint8,bytes32,bytes32)');
 | 
				
			||||||
@@ -138,6 +146,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('revertWithConstant()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('revertWithConstant()');
 | 
				
			||||||
@@ -172,6 +184,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('simpleRevert()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('simpleRevert()');
 | 
				
			||||||
@@ -206,6 +222,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('requireWithConstant()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('requireWithConstant()');
 | 
				
			||||||
@@ -220,6 +240,68 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
            return abiEncodedTransactionData;
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    public withAddressInput = {
 | 
				
			||||||
 | 
					        async callAsync(
 | 
				
			||||||
 | 
					            x: string,
 | 
				
			||||||
 | 
					            a: BigNumber,
 | 
				
			||||||
 | 
					            b: BigNumber,
 | 
				
			||||||
 | 
					            y: string,
 | 
				
			||||||
 | 
					            c: BigNumber,
 | 
				
			||||||
 | 
					            callData: Partial<CallData> = {},
 | 
				
			||||||
 | 
					            defaultBlock?: BlockParam,
 | 
				
			||||||
 | 
					        ): Promise<string> {
 | 
				
			||||||
 | 
					            assert.isString('x', x);
 | 
				
			||||||
 | 
					            assert.isBigNumber('a', a);
 | 
				
			||||||
 | 
					            assert.isBigNumber('b', b);
 | 
				
			||||||
 | 
					            assert.isString('y', y);
 | 
				
			||||||
 | 
					            assert.isBigNumber('c', c);
 | 
				
			||||||
 | 
					            assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [
 | 
				
			||||||
 | 
					                schemas.addressSchema,
 | 
				
			||||||
 | 
					                schemas.numberSchema,
 | 
				
			||||||
 | 
					                schemas.jsNumber,
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
 | 
					            if (defaultBlock !== undefined) {
 | 
				
			||||||
 | 
					                assert.isBlockParam('defaultBlock', defaultBlock);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            const self = (this as any) as AbiGenDummyContract;
 | 
				
			||||||
 | 
					            const encodedData = self._strictEncodeArguments(
 | 
				
			||||||
 | 
					                'withAddressInput(address,uint256,uint256,address,uint256)',
 | 
				
			||||||
 | 
					                [x.toLowerCase(), a, b, y.toLowerCase(), c],
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync(
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    to: self.address,
 | 
				
			||||||
 | 
					                    ...callData,
 | 
				
			||||||
 | 
					                    data: encodedData,
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
 | 
					            const abiEncoder = self._lookupAbiEncoder('withAddressInput(address,uint256,uint256,address,uint256)');
 | 
				
			||||||
 | 
					            // tslint:disable boolean-naming
 | 
				
			||||||
 | 
					            const result = abiEncoder.strictDecodeReturnValue<string>(rawCallResult);
 | 
				
			||||||
 | 
					            // tslint:enable boolean-naming
 | 
				
			||||||
 | 
					            return result;
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        getABIEncodedTransactionData(x: string, a: BigNumber, b: BigNumber, y: string, c: BigNumber): string {
 | 
				
			||||||
 | 
					            assert.isString('x', x);
 | 
				
			||||||
 | 
					            assert.isBigNumber('a', a);
 | 
				
			||||||
 | 
					            assert.isBigNumber('b', b);
 | 
				
			||||||
 | 
					            assert.isString('y', y);
 | 
				
			||||||
 | 
					            assert.isBigNumber('c', c);
 | 
				
			||||||
 | 
					            const self = (this as any) as AbiGenDummyContract;
 | 
				
			||||||
 | 
					            const abiEncodedTransactionData = self._strictEncodeArguments(
 | 
				
			||||||
 | 
					                'withAddressInput(address,uint256,uint256,address,uint256)',
 | 
				
			||||||
 | 
					                [x.toLowerCase(), a, b, y.toLowerCase(), c],
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            return abiEncodedTransactionData;
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
    public simplePureFunctionWithInput = {
 | 
					    public simplePureFunctionWithInput = {
 | 
				
			||||||
        async callAsync(x: BigNumber, callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<BigNumber> {
 | 
					        async callAsync(x: BigNumber, callData: Partial<CallData> = {}, defaultBlock?: BlockParam): Promise<BigNumber> {
 | 
				
			||||||
            assert.isBigNumber('x', x);
 | 
					            assert.isBigNumber('x', x);
 | 
				
			||||||
@@ -241,6 +323,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('simplePureFunctionWithInput(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('simplePureFunctionWithInput(uint256)');
 | 
				
			||||||
@@ -276,6 +362,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('simplePureFunction()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('simplePureFunction()');
 | 
				
			||||||
@@ -310,6 +400,10 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('pureFunctionWithConstant()');
 | 
					            const abiEncoder = self._lookupAbiEncoder('pureFunctionWithConstant()');
 | 
				
			||||||
@@ -447,6 +541,41 @@ export class AbiGenDummyContract extends BaseContract {
 | 
				
			|||||||
                stateMutability: 'pure',
 | 
					                stateMutability: 'pure',
 | 
				
			||||||
                type: 'function',
 | 
					                type: 'function',
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                constant: true,
 | 
				
			||||||
 | 
					                inputs: [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        name: 'x',
 | 
				
			||||||
 | 
					                        type: 'address',
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        name: 'a',
 | 
				
			||||||
 | 
					                        type: 'uint256',
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        name: 'b',
 | 
				
			||||||
 | 
					                        type: 'uint256',
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        name: 'y',
 | 
				
			||||||
 | 
					                        type: 'address',
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        name: 'c',
 | 
				
			||||||
 | 
					                        type: 'uint256',
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                name: 'withAddressInput',
 | 
				
			||||||
 | 
					                outputs: [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        name: 'z',
 | 
				
			||||||
 | 
					                        type: 'address',
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                payable: false,
 | 
				
			||||||
 | 
					                stateMutability: 'pure',
 | 
				
			||||||
 | 
					                type: 'function',
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                constant: true,
 | 
					                constant: true,
 | 
				
			||||||
                inputs: [
 | 
					                inputs: [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,6 +48,10 @@ export class TestLibDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('publicAddConstant(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('publicAddConstant(uint256)');
 | 
				
			||||||
@@ -84,6 +88,10 @@ export class TestLibDummyContract extends BaseContract {
 | 
				
			|||||||
                },
 | 
					                },
 | 
				
			||||||
                self._web3Wrapper.getContractDefaults(),
 | 
					                self._web3Wrapper.getContractDefaults(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					            callDataWithDefaults.from = callDataWithDefaults.from
 | 
				
			||||||
 | 
					                ? callDataWithDefaults.from.toLowerCase()
 | 
				
			||||||
 | 
					                : callDataWithDefaults.from;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
					            const rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock);
 | 
				
			||||||
            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
					            BaseContract._throwIfRevertWithReasonCallResult(rawCallResult);
 | 
				
			||||||
            const abiEncoder = self._lookupAbiEncoder('publicAddOne(uint256)');
 | 
					            const abiEncoder = self._lookupAbiEncoder('publicAddOne(uint256)');
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -88,4 +88,14 @@ contract AbiGenDummy
 | 
				
			|||||||
        return ecrecover(prefixedHash, v, r, s);
 | 
					        return ecrecover(prefixedHash, v, r, s);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // test: generated code should normalize address inputs to lowercase
 | 
				
			||||||
 | 
					    // add extra inputs to make sure it works with address in any position
 | 
				
			||||||
 | 
					    function withAddressInput(address x, uint256 a, uint256 b, address y, uint256 c)
 | 
				
			||||||
 | 
					        public
 | 
				
			||||||
 | 
					        pure
 | 
				
			||||||
 | 
					        returns (address z)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return x;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -91,6 +91,19 @@ describe('AbiGenDummy Contract', () => {
 | 
				
			|||||||
            expect(result).to.equal(signerAddress);
 | 
					            expect(result).to.equal(signerAddress);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    describe('withAddressInput', () => {
 | 
				
			||||||
 | 
					        it('should normalize address inputs to lowercase', async () => {
 | 
				
			||||||
 | 
					            const xAddress = devConstants.TESTRPC_FIRST_ADDRESS.toUpperCase();
 | 
				
			||||||
 | 
					            const yAddress = devConstants.TESTRPC_FIRST_ADDRESS;
 | 
				
			||||||
 | 
					            const a = new BigNumber(1);
 | 
				
			||||||
 | 
					            const b = new BigNumber(2);
 | 
				
			||||||
 | 
					            const c = new BigNumber(3);
 | 
				
			||||||
 | 
					            const output = await abiGenDummy.withAddressInput.callAsync(xAddress, a, b, yAddress, c);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            expect(output).to.equal(xAddress.toLowerCase());
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('Lib dummy contract', () => {
 | 
					describe('Lib dummy contract', () => {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user