Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/hardhat-test/typechain-types/Counter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import type {
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "./common";

export interface CounterInterface extends utils.Interface {
Expand Down
11 changes: 9 additions & 2 deletions packages/hardhat-test/typechain-types/Demo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,24 @@ import type {
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "./common";

export declare namespace Demo {
export type Struct1Struct = { a: BigNumberish; b: BigNumberish };
export type Struct1Struct = {
a: PromiseOrValue<BigNumberish>;
b: PromiseOrValue<BigNumberish>;
};

export type Struct1StructOutput = [BigNumber, BigNumber] & {
a: BigNumber;
b: BigNumber;
};

export type Struct2Struct = { a: BigNumberish; b: BigNumberish };
export type Struct2Struct = {
a: PromiseOrValue<BigNumberish>;
b: PromiseOrValue<BigNumberish>;
};

export type Struct2StructOutput = [BigNumber, BigNumber] & {
a: BigNumber;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,13 @@ import type {
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "./common";

export type Vector2Struct = { x: BigNumberish; y: BigNumberish };
export type Vector2Struct = {
x: PromiseOrValue<BigNumberish>;
y: PromiseOrValue<BigNumberish>;
};

export type Vector2StructOutput = [BigNumber, BigNumber] & {
x: BigNumber;
Expand Down
2 changes: 2 additions & 0 deletions packages/hardhat-test/typechain-types/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,5 @@ export type GetContractTypeFromFactory<F> = F extends MinEthersFactory<
export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any>
? Parameters<F["deploy"]>
: never;

export type PromiseOrValue<T> = T | Promise<T>;
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "./common";
import type { Counter, CounterInterface } from "../Counter";

const _abi = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "./common";
import type { Demo, DemoInterface } from "../Demo";

const _abi = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "./common";
import type {
StructsInConstructor,
StructsInConstructorInterface,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type {
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "../../common";

export interface EdgeCasesInterface extends utils.Interface {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type {
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "../../common";

export interface TestContractInterface extends utils.Interface {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type {
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "../../common";

export interface TestContract1Interface extends utils.Interface {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import type {
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "../../../common";

export interface SafeMathInterface extends utils.Interface {
Expand All @@ -34,19 +35,19 @@ export interface SafeMathInterface extends utils.Interface {

encodeFunctionData(
functionFragment: "add",
values: [BigNumberish, BigNumberish]
values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "div",
values: [BigNumberish, BigNumberish]
values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "mul",
values: [BigNumberish, BigNumberish]
values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "sub",
values: [BigNumberish, BigNumberish]
values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]
): string;

decodeFunctionResult(functionFragment: "add", data: BytesLike): Result;
Expand Down Expand Up @@ -85,76 +86,76 @@ export interface SafeMath extends BaseContract {

functions: {
add(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber]>;

div(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber]>;

mul(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber]>;

sub(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber]>;
};

add(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

div(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

mul(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

sub(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

callStatic: {
add(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

div(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

mul(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

sub(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
};
Expand All @@ -163,52 +164,52 @@ export interface SafeMath extends BaseContract {

estimateGas: {
add(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

div(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

mul(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;

sub(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
};

populateTransaction: {
add(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;

div(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;

mul(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;

sub(
num1: BigNumberish,
num2: BigNumberish,
num1: PromiseOrValue<BigNumberish>,
num2: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,5 @@ export type GetContractTypeFromFactory<F> = F extends MinEthersFactory<
export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any>
? Parameters<F["deploy"]>
: never;

export type PromiseOrValue<T> = T | Promise<T>;
Loading