aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contract_templates/contract.handlebars
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-02-28 06:41:59 +0800
committerGitHub <noreply@github.com>2018-02-28 06:41:59 +0800
commit7aa070f9eaef734274df6e6eaa4590fe30d52899 (patch)
tree454cc4800db190b664d65609c62048a989e2d933 /packages/contract_templates/contract.handlebars
parentc2ec2291e8243266f52a3b89f38ba67ce1215c22 (diff)
parentce0b92d681cfb510ede09296b60260637781f875 (diff)
downloaddexon-sol-tools-7aa070f9eaef734274df6e6eaa4590fe30d52899.tar
dexon-sol-tools-7aa070f9eaef734274df6e6eaa4590fe30d52899.tar.gz
dexon-sol-tools-7aa070f9eaef734274df6e6eaa4590fe30d52899.tar.bz2
dexon-sol-tools-7aa070f9eaef734274df6e6eaa4590fe30d52899.tar.lz
dexon-sol-tools-7aa070f9eaef734274df6e6eaa4590fe30d52899.tar.xz
dexon-sol-tools-7aa070f9eaef734274df6e6eaa4590fe30d52899.tar.zst
dexon-sol-tools-7aa070f9eaef734274df6e6eaa4590fe30d52899.zip
Merge pull request #413 from 0xProject/feature/ethers-contracts
abi-gen V2 abi and ethers-contracts
Diffstat (limited to 'packages/contract_templates/contract.handlebars')
-rw-r--r--packages/contract_templates/contract.handlebars46
1 files changed, 46 insertions, 0 deletions
diff --git a/packages/contract_templates/contract.handlebars b/packages/contract_templates/contract.handlebars
new file mode 100644
index 000000000..b5c2dd9f2
--- /dev/null
+++ b/packages/contract_templates/contract.handlebars
@@ -0,0 +1,46 @@
+/**
+ * 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/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 { BaseContract, Web3Wrapper } from '@0xproject/web3-wrapper';
+import * as ethersContracts from 'ethers-contracts';
+import * as _ from 'lodash';
+import * as Web3 from 'web3';
+
+{{#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