11import { join , relative } from 'path'
2+ import { CodegenConfig } from 'typechain'
23
34import { EthSdkCtx } from '../types'
45import { generateTsClient } from './generateTsClient'
@@ -7,7 +8,7 @@ import { transpileClient } from './transpileClient'
78export async function generateSdk ( ctx : EthSdkCtx ) : Promise < void > {
89 const {
910 cliArgs : { workingDirPath } ,
10- config : { contracts, outputPath } ,
11+ config : { contracts, outputPath, typechainFlags } ,
1112 fs,
1213 } = ctx
1314
@@ -19,7 +20,17 @@ export async function generateSdk(ctx: EthSdkCtx): Promise<void> {
1920 const outputToAbiRelativePath = relative ( outputPath , abisRoot ) . replace ( / \\ / g, '/' )
2021
2122 const randomTmpDir = await fs . tmpDir ( 'eth-sdk' )
22- await generateTsClient ( contracts , abisRoot , randomTmpDir , outputToAbiRelativePath , fs )
23+
24+ const shapedFlag : CodegenConfig = {
25+ discriminateTypes : typechainFlags ?. discriminateTypes ?? false ,
26+ alwaysGenerateOverloads : typechainFlags ?. alwaysGenerateOverloads ?? false ,
27+ environment : undefined ,
28+ }
29+ if ( typechainFlags ?. tsNocheck != null ) {
30+ shapedFlag . tsNocheck = typechainFlags . tsNocheck
31+ }
32+
33+ await generateTsClient ( contracts , abisRoot , randomTmpDir , outputToAbiRelativePath , fs , shapedFlag )
2334 await transpileClient ( randomTmpDir , outputPath , fs )
2435}
2536
0 commit comments