Skip to content

Commit

Permalink
Add populateTransaction
Browse files Browse the repository at this point in the history
  • Loading branch information
zemse committed Jun 20, 2020
1 parent 5cf72bc commit 18f1aa4
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions packages/target-ethers-v5/src/codegen/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { codegenFunctions } from './functions'

export function codegenContractTypings(contract: Contract) {
const template = `
import { ethers, EventFilter, Signer, BigNumber, BigNumberish } from 'ethers';
import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction } from 'ethers';
import { Contract, ContractTransaction, Overrides } from '@ethersproject/contracts';
import { BytesLike } from '@ethersproject/bytes';
import { Listener, Provider } from '@ethersproject/providers';
Expand Down Expand Up @@ -66,6 +66,13 @@ export function codegenContractTypings(contract: Contract) {
.map(generateEstimateFunction)
.join('\n')}
};
populateTransaction: {
${values(contract.functions)
.map((v) => v[0])
.map(generatePopulateTransactionFunction)
.join('\n')}
};
}`

return template
Expand Down Expand Up @@ -199,13 +206,14 @@ function generateLibraryAddressesInterface(contract: Contract, bytecode: Bytecod
}

function generateEstimateFunction(fn: FunctionDeclaration): string {
return `
${fn.name}(${generateInputTypes(fn.inputs)}): Promise<BigNumber>;
`
return `${fn.name}(${generateInputTypes(fn.inputs)}): Promise<BigNumber>;`
}

function generatePopulateTransactionFunction(fn: FunctionDeclaration): string {
return `${fn.name}(${generateInputTypes(fn.inputs)}): Promise<PopulatedTransaction>;`
}

function generateInterfaceFunctionDescription(fn: FunctionDeclaration): string {
// console.log(fn.name, fn.inputs)
return `'${generateFunctionSignature(fn)}': FunctionFragment;`
}

Expand Down

0 comments on commit 18f1aa4

Please sign in to comment.