diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-02-27 08:36:56 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-02-28 04:06:02 +0800 |
commit | a5ef1db0c56e4166641c19b46641921a3b1e509f (patch) | |
tree | b79d90562adfef97a6d768f103dbdc014f442074 /packages/contract_templates/partials/tx.handlebars | |
parent | 748ed403215b685c6aa3da36ab89ad02e2550c71 (diff) | |
download | dexon-0x-contracts-a5ef1db0c56e4166641c19b46641921a3b1e509f.tar.gz dexon-0x-contracts-a5ef1db0c56e4166641c19b46641921a3b1e509f.tar.zst dexon-0x-contracts-a5ef1db0c56e4166641c19b46641921a3b1e509f.zip |
Rewrite templates to decode call data on transactions
Diffstat (limited to 'packages/contract_templates/partials/tx.handlebars')
-rw-r--r-- | packages/contract_templates/partials/tx.handlebars | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/packages/contract_templates/partials/tx.handlebars b/packages/contract_templates/partials/tx.handlebars index 5026dac20..347a482d6 100644 --- a/packages/contract_templates/partials/tx.handlebars +++ b/packages/contract_templates/partials/tx.handlebars @@ -54,30 +54,5 @@ public {{this.name}} = { ).data return abiEncodedTransactionData; }, - async callAsync( - {{> typed_params inputs=inputs}} - {{#this.payable}} - txData: TxDataPayable = {}, - {{/this.payable}} - {{^this.payable}} - txData: TxData = {}, - {{/this.payable}} - ): Promise<{{> return_type outputs=outputs}}> { - const self = this as {{contractName}}Contract; - const inputAbi = _.find(this.abi, {name: '{{this.name}}'}).inputs; - [{{> params inputs=inputs}}] = BaseContract._transformABIData(inputAbi, [{{> params inputs=inputs}}], BaseContract._bigNumberToString.bind(this)); - const callDescription = self._ethersInterface.functions.{{this.name}}( - {{> params inputs=inputs}} - ) as ethersContracts.CallDescription; - const callData = await self._applyDefaultsToTxDataAsync( - { - data: callDescription.data, - } - ) - const rawCallResult = await self._web3Wrapper.callAsync(callData); - let resultArray = callDescription.parse(rawCallResult); - const outputAbi = _.find(this.abi, {name: '{{this.name}}'}).outputs; - resultArray = BaseContract._transformABIData(outputAbi, resultArray, BaseContract._lowercaseAddress.bind(this)); - return resultArray{{#singleReturnValue}}[0]{{/singleReturnValue}}; - }, + {{> callAsync}} }; |