message: TransactionOverrides param added, BigNumber as parameter
diff: @@ -26,6 +26,14 @@ export function codegen(contract: Contract) {
  import { Provider } from 'ethers/providers';
  import { BigNumber } from "ethers/utils";
  + class TransactionOverrides = {
  + nonce?: BigNumberish | Promise<BigNumberish>;
  + gasLimit?: BigNumberish | Promise<BigNumberish>;
  + gasPrice?: BigNumberish | Promise<BigNumberish>;
  + value?: BigNumberish | Promise<BigNumberish>;
  + chainId?: number | Promise<number>;
  + }
  +
  export class ${contract.name} extends Contract {
  functions: {
  ${contract.constantFunctions.map(generateConstantFunction).join("\n")}
  @@ -49,7 +57,7 @@ function generateConstantFunction(fn: ConstantFunctionDeclaration): string {
  function generateFunction(fn: FunctionDeclaration): string {
  return `
  - ${fn.name}(${generateInputTypes(fn.inputs)}): Promise<ContractTransaction>;
  + ${fn.name}(${generateInputTypes(fn.inputs)}, overrides?: TransactionOverrides): Promise<ContractTransaction>;
  `;
  }
  @@ -102,9 +110,9 @@ function generateEventTypes(eventArg: EventArgDeclaration[]) {
  function generateInputType(evmType: EvmType): string {
  switch (evmType.constructor) {
  case IntegerType:
  - return "number | string";
  + return "number | string | BigNumber";
  case UnsignedIntegerType:
  - return "number | string";
  + return "number | string | BigNumber";
  case AddressType:
  return "string";
  case BytesType:
  