@imtbl/x-client 2.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/LICENSE.md +176 -0
  2. package/README.md +53 -0
  3. package/dist/browser/index.js +2 -0
  4. package/dist/node/index.cjs +2 -0
  5. package/dist/node/index.js +2 -0
  6. package/dist/types/IMXClient.d.ts +334 -0
  7. package/dist/types/config/config.test.d.ts +1 -0
  8. package/dist/types/config/index.d.ts +77 -0
  9. package/dist/types/contracts/@openzeppelin/contracts/index.d.ts +4 -0
  10. package/dist/types/contracts/@openzeppelin/contracts/token/ERC20/IERC20.d.ts +129 -0
  11. package/dist/types/contracts/@openzeppelin/contracts/token/ERC20/index.d.ts +1 -0
  12. package/dist/types/contracts/@openzeppelin/contracts/token/ERC721/IERC721.d.ts +199 -0
  13. package/dist/types/contracts/@openzeppelin/contracts/token/ERC721/index.d.ts +1 -0
  14. package/dist/types/contracts/@openzeppelin/contracts/token/index.d.ts +4 -0
  15. package/dist/types/contracts/@openzeppelin/contracts/utils/index.d.ts +2 -0
  16. package/dist/types/contracts/@openzeppelin/contracts/utils/introspection/IERC165.d.ts +29 -0
  17. package/dist/types/contracts/@openzeppelin/contracts/utils/introspection/index.d.ts +1 -0
  18. package/dist/types/contracts/@openzeppelin/index.d.ts +2 -0
  19. package/dist/types/contracts/common.d.ts +50 -0
  20. package/dist/types/contracts/contracts/index.d.ts +4 -0
  21. package/dist/types/contracts/contracts/v3/Core.d.ts +1088 -0
  22. package/dist/types/contracts/contracts/v3/Registration.d.ts +169 -0
  23. package/dist/types/contracts/contracts/v3/index.d.ts +2 -0
  24. package/dist/types/contracts/contracts/v4/CoreV4.d.ts +1650 -0
  25. package/dist/types/contracts/contracts/v4/RegistrationV4.d.ts +111 -0
  26. package/dist/types/contracts/contracts/v4/index.d.ts +2 -0
  27. package/dist/types/contracts/factories/@openzeppelin/contracts/index.d.ts +2 -0
  28. package/dist/types/contracts/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts +147 -0
  29. package/dist/types/contracts/factories/@openzeppelin/contracts/token/ERC20/index.d.ts +1 -0
  30. package/dist/types/contracts/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.d.ts +227 -0
  31. package/dist/types/contracts/factories/@openzeppelin/contracts/token/ERC721/index.d.ts +1 -0
  32. package/dist/types/contracts/factories/@openzeppelin/contracts/token/index.d.ts +2 -0
  33. package/dist/types/contracts/factories/@openzeppelin/contracts/utils/index.d.ts +1 -0
  34. package/dist/types/contracts/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.d.ts +21 -0
  35. package/dist/types/contracts/factories/@openzeppelin/contracts/utils/introspection/index.d.ts +1 -0
  36. package/dist/types/contracts/factories/@openzeppelin/index.d.ts +1 -0
  37. package/dist/types/contracts/factories/contracts/index.d.ts +2 -0
  38. package/dist/types/contracts/factories/contracts/v3/Core__factory.d.ts +1254 -0
  39. package/dist/types/contracts/factories/contracts/v3/Registration__factory.d.ts +214 -0
  40. package/dist/types/contracts/factories/contracts/v3/index.d.ts +2 -0
  41. package/dist/types/contracts/factories/contracts/v4/CoreV4__factory.d.ts +1890 -0
  42. package/dist/types/contracts/factories/contracts/v4/RegistrationV4__factory.d.ts +168 -0
  43. package/dist/types/contracts/factories/contracts/v4/index.d.ts +2 -0
  44. package/dist/types/contracts/factories/index.d.ts +2 -0
  45. package/dist/types/contracts/index.d.ts +19 -0
  46. package/dist/types/exportContracts.d.ts +2 -0
  47. package/dist/types/exportUtils.d.ts +1 -0
  48. package/dist/types/imx.test.d.ts +1 -0
  49. package/dist/types/index.d.ts +11 -0
  50. package/dist/types/types/api.d.ts +223 -0
  51. package/dist/types/types/errors.d.ts +9 -0
  52. package/dist/types/types/index.d.ts +6 -0
  53. package/dist/types/types/requests.d.ts +53 -0
  54. package/dist/types/types/signers.d.ts +37 -0
  55. package/dist/types/types/tokens.d.ts +51 -0
  56. package/dist/types/types/transfers.d.ts +17 -0
  57. package/dist/types/utils/convertToSignableToken.d.ts +8 -0
  58. package/dist/types/utils/crypto/crypto.d.ts +16 -0
  59. package/dist/types/utils/crypto/crypto.test.d.ts +1 -0
  60. package/dist/types/utils/crypto/index.d.ts +1 -0
  61. package/dist/types/utils/formatError.d.ts +7 -0
  62. package/dist/types/utils/formatError.test.d.ts +1 -0
  63. package/dist/types/utils/index.d.ts +5 -0
  64. package/dist/types/utils/stark/errors.d.ts +3 -0
  65. package/dist/types/utils/stark/getStarkPublicKeyFromImx.d.ts +12 -0
  66. package/dist/types/utils/stark/legacy/crypto/constants.d.ts +27 -0
  67. package/dist/types/utils/stark/legacy/crypto/crypto.d.ts +14 -0
  68. package/dist/types/utils/stark/legacy/crypto/index.d.ts +2 -0
  69. package/dist/types/utils/stark/legacy/crypto/points.d.ts +1 -0
  70. package/dist/types/utils/stark/legacy/crypto/types.d.ts +18 -0
  71. package/dist/types/utils/stark/starkCurve.d.ts +18 -0
  72. package/dist/types/utils/stark/starkCurve.test.d.ts +1 -0
  73. package/dist/types/utils/stark/starkSigner.d.ts +17 -0
  74. package/dist/types/utils/stark/starkSigner.test.d.ts +1 -0
  75. package/dist/types/workflows/errors.d.ts +3 -0
  76. package/dist/types/workflows/exchangeTransfers.d.ts +8 -0
  77. package/dist/types/workflows/index.d.ts +1 -0
  78. package/dist/types/workflows/minting.d.ts +4 -0
  79. package/dist/types/workflows/orders.d.ts +13 -0
  80. package/dist/types/workflows/trades.d.ts +8 -0
  81. package/dist/types/workflows/workflows.d.ts +29 -0
  82. package/package.json +70 -0
@@ -0,0 +1,199 @@
1
+ import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
2
+ import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common";
3
+ export interface IERC721Interface extends Interface {
4
+ getFunction(nameOrSignature: "approve" | "balanceOf" | "getApproved" | "isApprovedForAll" | "ownerOf" | "safeTransferFrom(address,address,uint256)" | "safeTransferFrom(address,address,uint256,bytes)" | "setApprovalForAll" | "supportsInterface" | "transferFrom"): FunctionFragment;
5
+ getEvent(nameOrSignatureOrTopic: "Approval" | "ApprovalForAll" | "Transfer"): EventFragment;
6
+ encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string;
7
+ encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string;
8
+ encodeFunctionData(functionFragment: "getApproved", values: [BigNumberish]): string;
9
+ encodeFunctionData(functionFragment: "isApprovedForAll", values: [AddressLike, AddressLike]): string;
10
+ encodeFunctionData(functionFragment: "ownerOf", values: [BigNumberish]): string;
11
+ encodeFunctionData(functionFragment: "safeTransferFrom(address,address,uint256)", values: [AddressLike, AddressLike, BigNumberish]): string;
12
+ encodeFunctionData(functionFragment: "safeTransferFrom(address,address,uint256,bytes)", values: [AddressLike, AddressLike, BigNumberish, BytesLike]): string;
13
+ encodeFunctionData(functionFragment: "setApprovalForAll", values: [AddressLike, boolean]): string;
14
+ encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string;
15
+ encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string;
16
+ decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
17
+ decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
18
+ decodeFunctionResult(functionFragment: "getApproved", data: BytesLike): Result;
19
+ decodeFunctionResult(functionFragment: "isApprovedForAll", data: BytesLike): Result;
20
+ decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result;
21
+ decodeFunctionResult(functionFragment: "safeTransferFrom(address,address,uint256)", data: BytesLike): Result;
22
+ decodeFunctionResult(functionFragment: "safeTransferFrom(address,address,uint256,bytes)", data: BytesLike): Result;
23
+ decodeFunctionResult(functionFragment: "setApprovalForAll", data: BytesLike): Result;
24
+ decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
25
+ decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
26
+ }
27
+ export declare namespace ApprovalEvent {
28
+ type InputTuple = [
29
+ owner: AddressLike,
30
+ approved: AddressLike,
31
+ tokenId: BigNumberish
32
+ ];
33
+ type OutputTuple = [owner: string, approved: string, tokenId: bigint];
34
+ interface OutputObject {
35
+ owner: string;
36
+ approved: string;
37
+ tokenId: bigint;
38
+ }
39
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
40
+ type Filter = TypedDeferredTopicFilter<Event>;
41
+ type Log = TypedEventLog<Event>;
42
+ type LogDescription = TypedLogDescription<Event>;
43
+ }
44
+ export declare namespace ApprovalForAllEvent {
45
+ type InputTuple = [
46
+ owner: AddressLike,
47
+ operator: AddressLike,
48
+ approved: boolean
49
+ ];
50
+ type OutputTuple = [
51
+ owner: string,
52
+ operator: string,
53
+ approved: boolean
54
+ ];
55
+ interface OutputObject {
56
+ owner: string;
57
+ operator: string;
58
+ approved: boolean;
59
+ }
60
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
61
+ type Filter = TypedDeferredTopicFilter<Event>;
62
+ type Log = TypedEventLog<Event>;
63
+ type LogDescription = TypedLogDescription<Event>;
64
+ }
65
+ export declare namespace TransferEvent {
66
+ type InputTuple = [
67
+ from: AddressLike,
68
+ to: AddressLike,
69
+ tokenId: BigNumberish
70
+ ];
71
+ type OutputTuple = [from: string, to: string, tokenId: bigint];
72
+ interface OutputObject {
73
+ from: string;
74
+ to: string;
75
+ tokenId: bigint;
76
+ }
77
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
78
+ type Filter = TypedDeferredTopicFilter<Event>;
79
+ type Log = TypedEventLog<Event>;
80
+ type LogDescription = TypedLogDescription<Event>;
81
+ }
82
+ export interface IERC721 extends BaseContract {
83
+ connect(runner?: ContractRunner | null): IERC721;
84
+ waitForDeployment(): Promise<this>;
85
+ interface: IERC721Interface;
86
+ queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
87
+ queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
88
+ on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
89
+ on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
90
+ once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
91
+ once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
92
+ listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
93
+ listeners(eventName?: string): Promise<Array<Listener>>;
94
+ removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
95
+ approve: TypedContractMethod<[
96
+ to: AddressLike,
97
+ tokenId: BigNumberish
98
+ ], [
99
+ void
100
+ ], "nonpayable">;
101
+ balanceOf: TypedContractMethod<[owner: AddressLike], [bigint], "view">;
102
+ getApproved: TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
103
+ isApprovedForAll: TypedContractMethod<[
104
+ owner: AddressLike,
105
+ operator: AddressLike
106
+ ], [
107
+ boolean
108
+ ], "view">;
109
+ ownerOf: TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
110
+ "safeTransferFrom(address,address,uint256)": TypedContractMethod<[
111
+ from: AddressLike,
112
+ to: AddressLike,
113
+ tokenId: BigNumberish
114
+ ], [
115
+ void
116
+ ], "nonpayable">;
117
+ "safeTransferFrom(address,address,uint256,bytes)": TypedContractMethod<[
118
+ from: AddressLike,
119
+ to: AddressLike,
120
+ tokenId: BigNumberish,
121
+ data: BytesLike
122
+ ], [
123
+ void
124
+ ], "nonpayable">;
125
+ setApprovalForAll: TypedContractMethod<[
126
+ operator: AddressLike,
127
+ _approved: boolean
128
+ ], [
129
+ void
130
+ ], "nonpayable">;
131
+ supportsInterface: TypedContractMethod<[
132
+ interfaceId: BytesLike
133
+ ], [
134
+ boolean
135
+ ], "view">;
136
+ transferFrom: TypedContractMethod<[
137
+ from: AddressLike,
138
+ to: AddressLike,
139
+ tokenId: BigNumberish
140
+ ], [
141
+ void
142
+ ], "nonpayable">;
143
+ getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
144
+ getFunction(nameOrSignature: "approve"): TypedContractMethod<[
145
+ to: AddressLike,
146
+ tokenId: BigNumberish
147
+ ], [
148
+ void
149
+ ], "nonpayable">;
150
+ getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[owner: AddressLike], [bigint], "view">;
151
+ getFunction(nameOrSignature: "getApproved"): TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
152
+ getFunction(nameOrSignature: "isApprovedForAll"): TypedContractMethod<[
153
+ owner: AddressLike,
154
+ operator: AddressLike
155
+ ], [
156
+ boolean
157
+ ], "view">;
158
+ getFunction(nameOrSignature: "ownerOf"): TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
159
+ getFunction(nameOrSignature: "safeTransferFrom(address,address,uint256)"): TypedContractMethod<[
160
+ from: AddressLike,
161
+ to: AddressLike,
162
+ tokenId: BigNumberish
163
+ ], [
164
+ void
165
+ ], "nonpayable">;
166
+ getFunction(nameOrSignature: "safeTransferFrom(address,address,uint256,bytes)"): TypedContractMethod<[
167
+ from: AddressLike,
168
+ to: AddressLike,
169
+ tokenId: BigNumberish,
170
+ data: BytesLike
171
+ ], [
172
+ void
173
+ ], "nonpayable">;
174
+ getFunction(nameOrSignature: "setApprovalForAll"): TypedContractMethod<[
175
+ operator: AddressLike,
176
+ _approved: boolean
177
+ ], [
178
+ void
179
+ ], "nonpayable">;
180
+ getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">;
181
+ getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[
182
+ from: AddressLike,
183
+ to: AddressLike,
184
+ tokenId: BigNumberish
185
+ ], [
186
+ void
187
+ ], "nonpayable">;
188
+ getEvent(key: "Approval"): TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
189
+ getEvent(key: "ApprovalForAll"): TypedContractEvent<ApprovalForAllEvent.InputTuple, ApprovalForAllEvent.OutputTuple, ApprovalForAllEvent.OutputObject>;
190
+ getEvent(key: "Transfer"): TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
191
+ filters: {
192
+ "Approval(address,address,uint256)": TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
193
+ Approval: TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
194
+ "ApprovalForAll(address,address,bool)": TypedContractEvent<ApprovalForAllEvent.InputTuple, ApprovalForAllEvent.OutputTuple, ApprovalForAllEvent.OutputObject>;
195
+ ApprovalForAll: TypedContractEvent<ApprovalForAllEvent.InputTuple, ApprovalForAllEvent.OutputTuple, ApprovalForAllEvent.OutputObject>;
196
+ "Transfer(address,address,uint256)": TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
197
+ Transfer: TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
198
+ };
199
+ }
@@ -0,0 +1 @@
1
+ export type { IERC721 } from "./IERC721";
@@ -0,0 +1,4 @@
1
+ import type * as erc20 from "./ERC20";
2
+ export type { erc20 };
3
+ import type * as erc721 from "./ERC721";
4
+ export type { erc721 };
@@ -0,0 +1,2 @@
1
+ import type * as introspection from "./introspection";
2
+ export type { introspection };
@@ -0,0 +1,29 @@
1
+ import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers";
2
+ import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common";
3
+ export interface IERC165Interface extends Interface {
4
+ getFunction(nameOrSignature: "supportsInterface"): FunctionFragment;
5
+ encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string;
6
+ decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
7
+ }
8
+ export interface IERC165 extends BaseContract {
9
+ connect(runner?: ContractRunner | null): IERC165;
10
+ waitForDeployment(): Promise<this>;
11
+ interface: IERC165Interface;
12
+ queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
13
+ queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
14
+ on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
15
+ on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
16
+ once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
17
+ once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
18
+ listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
19
+ listeners(eventName?: string): Promise<Array<Listener>>;
20
+ removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
21
+ supportsInterface: TypedContractMethod<[
22
+ interfaceId: BytesLike
23
+ ], [
24
+ boolean
25
+ ], "view">;
26
+ getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
27
+ getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">;
28
+ filters: {};
29
+ }
@@ -0,0 +1 @@
1
+ export type { IERC165 } from "./IERC165";
@@ -0,0 +1,2 @@
1
+ import type * as contracts from "./contracts";
2
+ export type { contracts };
@@ -0,0 +1,50 @@
1
+ import type { FunctionFragment, Typed, EventFragment, ContractTransaction, ContractTransactionResponse, DeferredTopicFilter, EventLog, TransactionRequest, LogDescription } from "ethers";
2
+ export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter {
3
+ }
4
+ export interface TypedContractEvent<InputTuple extends Array<any> = any, OutputTuple extends Array<any> = any, OutputObject = any> {
5
+ (...args: Partial<InputTuple>): TypedDeferredTopicFilter<TypedContractEvent<InputTuple, OutputTuple, OutputObject>>;
6
+ name: string;
7
+ fragment: EventFragment;
8
+ getFragment(...args: Partial<InputTuple>): EventFragment;
9
+ }
10
+ type __TypechainAOutputTuple<T> = T extends TypedContractEvent<infer _U, infer W> ? W : never;
11
+ type __TypechainOutputObject<T> = T extends TypedContractEvent<infer _U, infer _W, infer V> ? V : never;
12
+ export interface TypedEventLog<TCEvent extends TypedContractEvent> extends Omit<EventLog, "args"> {
13
+ args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
14
+ }
15
+ export interface TypedLogDescription<TCEvent extends TypedContractEvent> extends Omit<LogDescription, "args"> {
16
+ args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
17
+ }
18
+ export type TypedListener<TCEvent extends TypedContractEvent> = (...listenerArg: [
19
+ ...__TypechainAOutputTuple<TCEvent>,
20
+ TypedEventLog<TCEvent>,
21
+ ...undefined[]
22
+ ]) => void;
23
+ export type MinEthersFactory<C, ARGS> = {
24
+ deploy(...a: ARGS[]): Promise<C>;
25
+ };
26
+ export type GetContractTypeFromFactory<F> = F extends MinEthersFactory<infer C, any> ? C : never;
27
+ export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any> ? Parameters<F["deploy"]> : never;
28
+ export type StateMutability = "nonpayable" | "payable" | "view";
29
+ export type BaseOverrides = Omit<TransactionRequest, "to" | "data">;
30
+ export type NonPayableOverrides = Omit<BaseOverrides, "value" | "blockTag" | "enableCcipRead">;
31
+ export type PayableOverrides = Omit<BaseOverrides, "blockTag" | "enableCcipRead">;
32
+ export type ViewOverrides = Omit<TransactionRequest, "to" | "data">;
33
+ export type Overrides<S extends StateMutability> = S extends "nonpayable" ? NonPayableOverrides : S extends "payable" ? PayableOverrides : ViewOverrides;
34
+ export type PostfixOverrides<A extends Array<any>, S extends StateMutability> = A | [...A, Overrides<S>];
35
+ export type ContractMethodArgs<A extends Array<any>, S extends StateMutability> = PostfixOverrides<{
36
+ [I in keyof A]-?: A[I] | Typed;
37
+ }, S>;
38
+ export type DefaultReturnType<R> = R extends Array<any> ? R[0] : R;
39
+ export interface TypedContractMethod<A extends Array<any> = Array<any>, R = any, S extends StateMutability = "payable"> {
40
+ (...args: ContractMethodArgs<A, S>): S extends "view" ? Promise<DefaultReturnType<R>> : Promise<ContractTransactionResponse>;
41
+ name: string;
42
+ fragment: FunctionFragment;
43
+ getFragment(...args: ContractMethodArgs<A, S>): FunctionFragment;
44
+ populateTransaction(...args: ContractMethodArgs<A, S>): Promise<ContractTransaction>;
45
+ staticCall(...args: ContractMethodArgs<A, "view">): Promise<DefaultReturnType<R>>;
46
+ send(...args: ContractMethodArgs<A, S>): Promise<ContractTransactionResponse>;
47
+ estimateGas(...args: ContractMethodArgs<A, S>): Promise<bigint>;
48
+ staticCallResult(...args: ContractMethodArgs<A, "view">): Promise<R>;
49
+ }
50
+ export {};
@@ -0,0 +1,4 @@
1
+ import type * as v3 from "./v3";
2
+ export type { v3 };
3
+ import type * as v4 from "./v4";
4
+ export type { v4 };