diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-10-03 07:10:15 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-10-03 07:10:15 +0800 |
commit | ad56c9ea785a1146ce9b8715446d6cbbc1f6246b (patch) | |
tree | b7417e14b1122a2a23110818d0a0666d6081fe49 /packages/sol-doc/src/cli.ts | |
parent | dde918e9a0c616ab24bd061212f6024aceee508d (diff) | |
parent | f1ecb8c5cb28a0a7ca6f7ad2ff11194091df62a4 (diff) | |
download | dexon-sol-tools-ad56c9ea785a1146ce9b8715446d6cbbc1f6246b.tar dexon-sol-tools-ad56c9ea785a1146ce9b8715446d6cbbc1f6246b.tar.gz dexon-sol-tools-ad56c9ea785a1146ce9b8715446d6cbbc1f6246b.tar.bz2 dexon-sol-tools-ad56c9ea785a1146ce9b8715446d6cbbc1f6246b.tar.lz dexon-sol-tools-ad56c9ea785a1146ce9b8715446d6cbbc1f6246b.tar.xz dexon-sol-tools-ad56c9ea785a1146ce9b8715446d6cbbc1f6246b.tar.zst dexon-sol-tools-ad56c9ea785a1146ce9b8715446d6cbbc1f6246b.zip |
Merge branch 'development' of https://github.com/0xProject/0x-monorepo into feature/instant/init
Diffstat (limited to 'packages/sol-doc/src/cli.ts')
-rw-r--r-- | packages/sol-doc/src/cli.ts | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/packages/sol-doc/src/cli.ts b/packages/sol-doc/src/cli.ts index eb0f00bf6..a1847e868 100644 --- a/packages/sol-doc/src/cli.ts +++ b/packages/sol-doc/src/cli.ts @@ -3,7 +3,7 @@ import * as yargs from 'yargs'; import { logUtils } from '@0xproject/utils'; -import { generateSolDocAsync } from './solidity_doc_generator'; +import { SolDoc } from './sol_doc'; const JSON_TAB_WIDTH = 4; @@ -20,7 +20,20 @@ const JSON_TAB_WIDTH = 4; .demandOption('contracts-dir') .array('contracts') .help().argv; - const doc = await generateSolDocAsync(argv.contractsDir, argv.contracts); + // Unfortunately, the only way to currently retrieve the declared structs within Solidity contracts + // is to tease them out of the params/return values included in the ABI. These structures do + // not include the structs actual name, so we need a mapping to assign the proper name to a + // struct. If the name is not in this mapping, the structs name will default to the param/return value + // name (which mostly coincide). + const customTypeHashToName: { [hash: string]: string } = { + '52d4a768701076c7bac06e386e430883975eb398732eccba797fd09dd064a60e': 'Order', + '46f7e8c4d144d11a72ce5338458ea37b933500d7a65e740cbca6d16e350eaa48': 'FillResults', + c22239cf0d29df1e6cf1be54f21692a8c0b3a48b9367540d4ffff4608b331ce9: 'OrderInfo', + c21e9ff31a30941c22e1cb43752114bb467c34dea58947f98966c9030fc8e4a9: 'TraderInfo', + '6de3264a1040e027d4bdd29c71e963028238ac4ef060541078a7aced44a4d46f': 'MatchedFillResults', + }; + const solDoc = new SolDoc(); + const doc = await solDoc.generateSolDocAsync(argv.contractsDir, argv.contracts, customTypeHashToName); process.stdout.write(JSON.stringify(doc, null, JSON_TAB_WIDTH)); })().catch(err => { logUtils.warn(err); |