diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-02-24 06:13:35 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-02-28 04:05:46 +0800 |
commit | 93b2736d6533f983aeb74005004de7f40eb35851 (patch) | |
tree | 51f25e54b7afeebc7fc482bf78f12a0f9bb1eda1 /packages/0x.js | |
parent | 34274a10428bbc07a4f075bcf4a3ccafe0c04f5e (diff) | |
download | dexon-sol-tools-93b2736d6533f983aeb74005004de7f40eb35851.tar dexon-sol-tools-93b2736d6533f983aeb74005004de7f40eb35851.tar.gz dexon-sol-tools-93b2736d6533f983aeb74005004de7f40eb35851.tar.bz2 dexon-sol-tools-93b2736d6533f983aeb74005004de7f40eb35851.tar.lz dexon-sol-tools-93b2736d6533f983aeb74005004de7f40eb35851.tar.xz dexon-sol-tools-93b2736d6533f983aeb74005004de7f40eb35851.tar.zst dexon-sol-tools-93b2736d6533f983aeb74005004de7f40eb35851.zip |
Use the same templates as 0x.js
Diffstat (limited to 'packages/0x.js')
8 files changed, 1 insertions, 146 deletions
diff --git a/packages/0x.js/contract_templates/contract.handlebars b/packages/0x.js/contract_templates/contract.handlebars deleted file mode 100644 index 2954145a7..000000000 --- a/packages/0x.js/contract_templates/contract.handlebars +++ /dev/null @@ -1,48 +0,0 @@ -/** - * This file is auto-generated using abi-gen. Don't edit directly. - * Templates can be found at https://github.com/0xProject/0x.js/tree/development/packages/0x.js/contract_templates. - */ -// tslint:disable:no-consecutive-blank-lines -// tslint:disable-next-line:no-unused-variable -import { TxData, TxDataPayable } from '@0xproject/types'; -import { BigNumber, classUtils, promisify } from '@0xproject/utils'; -import { Web3Wrapper } from '@0xproject/web3-wrapper'; -import * as ethersContracts from 'ethers-contracts'; -import * as _ from 'lodash'; -import * as Web3 from 'web3'; - -import {BaseContract} from './base_contract'; - -{{#if events}} -export type {{contractName}}ContractEventArgs = -{{#each events}} - | {{name}}ContractEventArgs{{#if @last}};{{/if}} -{{/each}} - -export enum {{contractName}}Events { - {{#each events}} - {{name}} = '{{name}}', - {{/each}} -} - -{{#each events}} -{{> event}} - -{{/each}} -{{/if}} - -// tslint:disable:no-parameter-reassignment -export class {{contractName}}Contract extends BaseContract { -{{#each methods}} - {{#this.constant}} - {{> call contractName=../contractName}} - {{/this.constant}} - {{^this.constant}} - {{> tx contractName=../contractName}} - {{/this.constant}} -{{/each}} - constructor(web3Wrapper: Web3Wrapper, abi: Web3.ContractAbi, address: string) { - super(web3Wrapper, abi, address); - classUtils.bindAll(this, ['_ethersInterface', '_address', '_abi', '_web3Wrapper']); - } -} // tslint:disable:max-file-line-count diff --git a/packages/0x.js/contract_templates/partials/call.handlebars b/packages/0x.js/contract_templates/partials/call.handlebars deleted file mode 100644 index c533712b7..000000000 --- a/packages/0x.js/contract_templates/partials/call.handlebars +++ /dev/null @@ -1,23 +0,0 @@ -public {{this.name}} = { - async callAsync( - {{> typed_params inputs=inputs}} - defaultBlock?: Web3.BlockParam, - ): 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}}; - }, -}; diff --git a/packages/0x.js/contract_templates/partials/event.handlebars b/packages/0x.js/contract_templates/partials/event.handlebars deleted file mode 100644 index 3c6100e4f..000000000 --- a/packages/0x.js/contract_templates/partials/event.handlebars +++ /dev/null @@ -1,5 +0,0 @@ -export interface {{name}}ContractEventArgs { - {{#each inputs}} - {{name}}: {{#returnType type components}}{{/returnType}}; - {{/each}} -} diff --git a/packages/0x.js/contract_templates/partials/params.handlebars b/packages/0x.js/contract_templates/partials/params.handlebars deleted file mode 100644 index ac5d4ae85..000000000 --- a/packages/0x.js/contract_templates/partials/params.handlebars +++ /dev/null @@ -1,3 +0,0 @@ -{{#each inputs}} -{{name}}, -{{/each}} diff --git a/packages/0x.js/contract_templates/partials/return_type.handlebars b/packages/0x.js/contract_templates/partials/return_type.handlebars deleted file mode 100644 index 268ad15f7..000000000 --- a/packages/0x.js/contract_templates/partials/return_type.handlebars +++ /dev/null @@ -1,6 +0,0 @@ -{{#singleReturnValue}} -{{#returnType outputs.0.type outputs.0.components}}{{/returnType}} -{{/singleReturnValue}} -{{^singleReturnValue}} -[{{#each outputs}}{{#returnType type components}}{{/returnType}}{{#unless @last}}, {{/unless}}{{/each}}] -{{/singleReturnValue}} diff --git a/packages/0x.js/contract_templates/partials/tx.handlebars b/packages/0x.js/contract_templates/partials/tx.handlebars deleted file mode 100644 index aae9aa404..000000000 --- a/packages/0x.js/contract_templates/partials/tx.handlebars +++ /dev/null @@ -1,57 +0,0 @@ -public {{this.name}} = { - async sendTransactionAsync( - {{> typed_params inputs=inputs}} - {{#this.payable}} - txData: TxDataPayable = {}, - {{/this.payable}} - {{^this.payable}} - txData: TxData = {}, - {{/this.payable}} - ): Promise<string> { - 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 data = this._ethersInterface.functions.{{this.name}}( - {{> params inputs=inputs}} - ).data - const txDataWithDefaults = await self._applyDefaultsToTxDataAsync( - { - ...txData, - data, - }, - self.{{this.name}}.estimateGasAsync.bind( - self, - {{> params inputs=inputs}} - ), - ); - const txHash = await this._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - async estimateGasAsync( - {{> typed_params inputs=inputs}} - txData: TxData = {}, - ): Promise<number> { - const self = this as {{contractName}}Contract; - const data = this._ethersInterface.functions.{{this.name}}( - {{> params inputs=inputs}} - ).data - const txDataWithDefaults = await self._applyDefaultsToTxDataAsync( - { - ...txData, - data, - } - ); - const gas = await this._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - getABIEncodedTransactionData( - {{> typed_params inputs=inputs}} - txData: TxData = {}, - ): string { - const self = this as {{contractName}}Contract; - const abiEncodedTransactionData = this._ethersInterface.functions.{{this.name}}( - {{> params inputs=inputs}} - ).data - return abiEncodedTransactionData; - }, -}; diff --git a/packages/0x.js/contract_templates/partials/typed_params.handlebars b/packages/0x.js/contract_templates/partials/typed_params.handlebars deleted file mode 100644 index c100e58f7..000000000 --- a/packages/0x.js/contract_templates/partials/typed_params.handlebars +++ /dev/null @@ -1,3 +0,0 @@ -{{#each inputs}} - {{name}}: {{#parameterType type components}}{{/parameterType}}, -{{/each}} diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 78cba529a..0ea60fde8 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -17,7 +17,7 @@ "build": "run-p build:umd:prod build:commonjs; exit 0;", "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json $JSON_FILE_PATH $PROJECT_DIR", "upload_docs_json": "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json", - "generate_contract_wrappers": "node ../abi-gen/lib/index.js --abis 'src/artifacts/@(Exchange|Token|TokenTransferProxy|EtherToken|TokenRegistry|DummyToken).json' --template contract_templates/contract.handlebars --partials 'contract_templates/partials/**/*.handlebars' --output src/contract_wrappers/generated --backend ethers && prettier --write 'src/contract_wrappers/generated/**.ts'", + "generate_contract_wrappers": "node ../abi-gen/lib/index.js --abis 'src/artifacts/@(Exchange|Token|TokenTransferProxy|EtherToken|TokenRegistry|DummyToken).json' --template ../contract_templates/contract.handlebars --partials '../contract_templates/partials/**/*.handlebars' --output src/contract_wrappers/generated --backend ethers && prettier --write 'src/contract_wrappers/generated/**.ts'", "lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'", "test:circleci": "run-s test:coverage report_test_coverage", "test": "run-s clean test:commonjs", |