@coti-io/coti-contracts 0.1.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 (180) hide show
  1. package/.github/workflows/npm-publish.yml +52 -0
  2. package/CODE_OF_CONDUCT.md +44 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +201 -0
  5. package/README.md +48 -0
  6. package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +480 -0
  7. package/contracts/access/DataPrivacyFramework/README.md +68 -0
  8. package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1139 -0
  9. package/contracts/mocks/README.md +5 -0
  10. package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +9 -0
  11. package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +17 -0
  12. package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +34 -0
  13. package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +431 -0
  14. package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +361 -0
  15. package/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol +307 -0
  16. package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +307 -0
  17. package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +297 -0
  18. package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +185 -0
  19. package/contracts/mocks/utils/mpc/Miscellaneous2TestsContract.sol +448 -0
  20. package/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol +81 -0
  21. package/contracts/mocks/utils/mpc/README.md +486 -0
  22. package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +311 -0
  23. package/contracts/mocks/utils/mpc/StringTestsContract.sol +59 -0
  24. package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +271 -0
  25. package/contracts/mocks/utils/mpc/TransferTestsContract.sol +715 -0
  26. package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +25 -0
  27. package/contracts/onboard/AccountOnboard.sol +21 -0
  28. package/contracts/onboard/README.md +65 -0
  29. package/contracts/package.json +11 -0
  30. package/contracts/token/PrivateERC20/IPrivateERC20.sol +142 -0
  31. package/contracts/token/PrivateERC20/PrivateERC20.sol +478 -0
  32. package/contracts/token/PrivateERC20/README.md +104 -0
  33. package/contracts/token/PrivateERC721/PrivateERC721.sol +458 -0
  34. package/contracts/token/PrivateERC721/README.md +282 -0
  35. package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +87 -0
  36. package/contracts/utils/mpc/MpcCore.sol +3215 -0
  37. package/contracts/utils/mpc/MpcInterface.sol +41 -0
  38. package/contracts/utils/mpc/README.md +82 -0
  39. package/hardhat.config.ts +18 -0
  40. package/package.json +14 -0
  41. package/test/access/DataPrivacyFramework/DataPrivacyFramework.test.ts +780 -0
  42. package/test/onboard/AccountOnboard.test.ts +45 -0
  43. package/test/token/PrivateERC20/PrivateERC20.test.ts +546 -0
  44. package/test/token/PrivateERC721/PrivateERC721.test.ts +223 -0
  45. package/test/utils/accounts.ts +55 -0
  46. package/test/utils/mpc/Precompile.test.ts +113 -0
  47. package/test/utils/mpc/String.test.ts +227 -0
  48. package/tsconfig.json +11 -0
  49. package/typechain-types/@openzeppelin/contracts/index.ts +9 -0
  50. package/typechain-types/@openzeppelin/contracts/interfaces/IERC4906.ts +462 -0
  51. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
  52. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
  53. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
  54. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  55. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +6 -0
  56. package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.ts +393 -0
  57. package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts +110 -0
  58. package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
  59. package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
  60. package/typechain-types/@openzeppelin/contracts/utils/index.ts +5 -0
  61. package/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts +94 -0
  62. package/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts +94 -0
  63. package/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
  64. package/typechain-types/@openzeppelin/index.ts +5 -0
  65. package/typechain-types/common.ts +131 -0
  66. package/typechain-types/contracts/access/DataPrivacyFramework/DataPrivacyFramework.ts +598 -0
  67. package/typechain-types/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.ts +598 -0
  68. package/typechain-types/contracts/access/DataPrivacyFramework/extensions/index.ts +4 -0
  69. package/typechain-types/contracts/access/DataPrivacyFramework/index.ts +6 -0
  70. package/typechain-types/contracts/access/index.ts +5 -0
  71. package/typechain-types/contracts/index.ts +13 -0
  72. package/typechain-types/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.ts +598 -0
  73. package/typechain-types/contracts/mocks/access/DataPrivacyFramework/index.ts +4 -0
  74. package/typechain-types/contracts/mocks/access/index.ts +5 -0
  75. package/typechain-types/contracts/mocks/index.ts +11 -0
  76. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +543 -0
  77. package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +4 -0
  78. package/typechain-types/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.ts +576 -0
  79. package/typechain-types/contracts/mocks/token/PrivateERC721/index.ts +4 -0
  80. package/typechain-types/contracts/mocks/token/index.ts +7 -0
  81. package/typechain-types/contracts/mocks/utils/index.ts +5 -0
  82. package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.ts +354 -0
  83. package/typechain-types/contracts/mocks/utils/mpc/BitwiseTestsContract.ts +340 -0
  84. package/typechain-types/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/Comparison1TestsContract.ts +340 -0
  85. package/typechain-types/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/index.ts +4 -0
  86. package/typechain-types/contracts/mocks/utils/mpc/Comparison2TestsContract.ts +340 -0
  87. package/typechain-types/contracts/mocks/utils/mpc/MinMaxTestsContract.ts +321 -0
  88. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.ts +199 -0
  89. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous2TestsContract.ts +384 -0
  90. package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract.ts +218 -0
  91. package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/index.ts +4 -0
  92. package/typechain-types/contracts/mocks/utils/mpc/ShiftTestsContract.ts +339 -0
  93. package/typechain-types/contracts/mocks/utils/mpc/StringTestsContract.ts +211 -0
  94. package/typechain-types/contracts/mocks/utils/mpc/TransferScalarTestsContract.ts +266 -0
  95. package/typechain-types/contracts/mocks/utils/mpc/TransferTestsContract.ts +288 -0
  96. package/typechain-types/contracts/mocks/utils/mpc/index.ts +17 -0
  97. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +173 -0
  98. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/index.ts +4 -0
  99. package/typechain-types/contracts/mocks/wallet/index.ts +5 -0
  100. package/typechain-types/contracts/onboard/AccountOnboard.ts +135 -0
  101. package/typechain-types/contracts/onboard/index.ts +4 -0
  102. package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +437 -0
  103. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +505 -0
  104. package/typechain-types/contracts/token/PrivateERC20/index.ts +5 -0
  105. package/typechain-types/contracts/token/PrivateERC721/PrivateERC721.ts +409 -0
  106. package/typechain-types/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.ts +501 -0
  107. package/typechain-types/contracts/token/PrivateERC721/extensions/index.ts +4 -0
  108. package/typechain-types/contracts/token/PrivateERC721/index.ts +6 -0
  109. package/typechain-types/contracts/token/index.ts +7 -0
  110. package/typechain-types/contracts/utils/index.ts +5 -0
  111. package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +698 -0
  112. package/typechain-types/contracts/utils/mpc/MpcInterface.sol/index.ts +4 -0
  113. package/typechain-types/contracts/utils/mpc/index.ts +5 -0
  114. package/typechain-types/factories/@openzeppelin/contracts/index.ts +6 -0
  115. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC4906__factory.ts +339 -0
  116. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
  117. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
  118. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
  119. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  120. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +5 -0
  121. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts +59 -0
  122. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +307 -0
  123. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
  124. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
  125. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +4 -0
  126. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts +41 -0
  127. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +41 -0
  128. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
  129. package/typechain-types/factories/@openzeppelin/index.ts +4 -0
  130. package/typechain-types/factories/contracts/access/DataPrivacyFramework/DataPrivacyFramework__factory.ts +621 -0
  131. package/typechain-types/factories/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc__factory.ts +621 -0
  132. package/typechain-types/factories/contracts/access/DataPrivacyFramework/extensions/index.ts +4 -0
  133. package/typechain-types/factories/contracts/access/DataPrivacyFramework/index.ts +5 -0
  134. package/typechain-types/factories/contracts/access/index.ts +4 -0
  135. package/typechain-types/factories/contracts/index.ts +8 -0
  136. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +670 -0
  137. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/index.ts +4 -0
  138. package/typechain-types/factories/contracts/mocks/access/index.ts +4 -0
  139. package/typechain-types/factories/contracts/mocks/index.ts +7 -0
  140. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +615 -0
  141. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +4 -0
  142. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +630 -0
  143. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/index.ts +4 -0
  144. package/typechain-types/factories/contracts/mocks/token/index.ts +5 -0
  145. package/typechain-types/factories/contracts/mocks/utils/index.ts +4 -0
  146. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +374 -0
  147. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +361 -0
  148. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/Comparison1TestsContract__factory.ts +361 -0
  149. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/index.ts +4 -0
  150. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +361 -0
  151. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +337 -0
  152. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +236 -0
  153. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous2TestsContract__factory.ts +432 -0
  154. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract__factory.ts +245 -0
  155. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/index.ts +4 -0
  156. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +374 -0
  157. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +264 -0
  158. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +360 -0
  159. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +441 -0
  160. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +15 -0
  161. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +194 -0
  162. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/index.ts +4 -0
  163. package/typechain-types/factories/contracts/mocks/wallet/index.ts +4 -0
  164. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +104 -0
  165. package/typechain-types/factories/contracts/onboard/index.ts +4 -0
  166. package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +406 -0
  167. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +532 -0
  168. package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +5 -0
  169. package/typechain-types/factories/contracts/token/PrivateERC721/PrivateERC721__factory.ts +439 -0
  170. package/typechain-types/factories/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage__factory.ts +512 -0
  171. package/typechain-types/factories/contracts/token/PrivateERC721/extensions/index.ts +4 -0
  172. package/typechain-types/factories/contracts/token/PrivateERC721/index.ts +5 -0
  173. package/typechain-types/factories/contracts/token/index.ts +5 -0
  174. package/typechain-types/factories/contracts/utils/index.ts +4 -0
  175. package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +919 -0
  176. package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/index.ts +4 -0
  177. package/typechain-types/factories/contracts/utils/mpc/index.ts +4 -0
  178. package/typechain-types/factories/index.ts +5 -0
  179. package/typechain-types/hardhat.d.ts +621 -0
  180. package/typechain-types/index.ts +72 -0
@@ -0,0 +1,409 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumberish,
7
+ BytesLike,
8
+ FunctionFragment,
9
+ Result,
10
+ Interface,
11
+ EventFragment,
12
+ AddressLike,
13
+ ContractRunner,
14
+ ContractMethod,
15
+ Listener,
16
+ } from "ethers";
17
+ import type {
18
+ TypedContractEvent,
19
+ TypedDeferredTopicFilter,
20
+ TypedEventLog,
21
+ TypedLogDescription,
22
+ TypedListener,
23
+ TypedContractMethod,
24
+ } from "../../../common";
25
+
26
+ export interface PrivateERC721Interface extends Interface {
27
+ getFunction(
28
+ nameOrSignature:
29
+ | "approve"
30
+ | "balanceOf"
31
+ | "getApproved"
32
+ | "isApprovedForAll"
33
+ | "name"
34
+ | "ownerOf"
35
+ | "safeTransferFrom(address,address,uint256)"
36
+ | "safeTransferFrom(address,address,uint256,bytes)"
37
+ | "setApprovalForAll"
38
+ | "supportsInterface"
39
+ | "symbol"
40
+ | "transferFrom"
41
+ ): FunctionFragment;
42
+
43
+ getEvent(
44
+ nameOrSignatureOrTopic: "Approval" | "ApprovalForAll" | "Transfer"
45
+ ): EventFragment;
46
+
47
+ encodeFunctionData(
48
+ functionFragment: "approve",
49
+ values: [AddressLike, BigNumberish]
50
+ ): string;
51
+ encodeFunctionData(
52
+ functionFragment: "balanceOf",
53
+ values: [AddressLike]
54
+ ): string;
55
+ encodeFunctionData(
56
+ functionFragment: "getApproved",
57
+ values: [BigNumberish]
58
+ ): string;
59
+ encodeFunctionData(
60
+ functionFragment: "isApprovedForAll",
61
+ values: [AddressLike, AddressLike]
62
+ ): string;
63
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
64
+ encodeFunctionData(
65
+ functionFragment: "ownerOf",
66
+ values: [BigNumberish]
67
+ ): string;
68
+ encodeFunctionData(
69
+ functionFragment: "safeTransferFrom(address,address,uint256)",
70
+ values: [AddressLike, AddressLike, BigNumberish]
71
+ ): string;
72
+ encodeFunctionData(
73
+ functionFragment: "safeTransferFrom(address,address,uint256,bytes)",
74
+ values: [AddressLike, AddressLike, BigNumberish, BytesLike]
75
+ ): string;
76
+ encodeFunctionData(
77
+ functionFragment: "setApprovalForAll",
78
+ values: [AddressLike, boolean]
79
+ ): string;
80
+ encodeFunctionData(
81
+ functionFragment: "supportsInterface",
82
+ values: [BytesLike]
83
+ ): string;
84
+ encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
85
+ encodeFunctionData(
86
+ functionFragment: "transferFrom",
87
+ values: [AddressLike, AddressLike, BigNumberish]
88
+ ): string;
89
+
90
+ decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
91
+ decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
92
+ decodeFunctionResult(
93
+ functionFragment: "getApproved",
94
+ data: BytesLike
95
+ ): Result;
96
+ decodeFunctionResult(
97
+ functionFragment: "isApprovedForAll",
98
+ data: BytesLike
99
+ ): Result;
100
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
101
+ decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result;
102
+ decodeFunctionResult(
103
+ functionFragment: "safeTransferFrom(address,address,uint256)",
104
+ data: BytesLike
105
+ ): Result;
106
+ decodeFunctionResult(
107
+ functionFragment: "safeTransferFrom(address,address,uint256,bytes)",
108
+ data: BytesLike
109
+ ): Result;
110
+ decodeFunctionResult(
111
+ functionFragment: "setApprovalForAll",
112
+ data: BytesLike
113
+ ): Result;
114
+ decodeFunctionResult(
115
+ functionFragment: "supportsInterface",
116
+ data: BytesLike
117
+ ): Result;
118
+ decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
119
+ decodeFunctionResult(
120
+ functionFragment: "transferFrom",
121
+ data: BytesLike
122
+ ): Result;
123
+ }
124
+
125
+ export namespace ApprovalEvent {
126
+ export type InputTuple = [
127
+ owner: AddressLike,
128
+ approved: AddressLike,
129
+ tokenId: BigNumberish
130
+ ];
131
+ export type OutputTuple = [owner: string, approved: string, tokenId: bigint];
132
+ export interface OutputObject {
133
+ owner: string;
134
+ approved: string;
135
+ tokenId: bigint;
136
+ }
137
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
138
+ export type Filter = TypedDeferredTopicFilter<Event>;
139
+ export type Log = TypedEventLog<Event>;
140
+ export type LogDescription = TypedLogDescription<Event>;
141
+ }
142
+
143
+ export namespace ApprovalForAllEvent {
144
+ export type InputTuple = [
145
+ owner: AddressLike,
146
+ operator: AddressLike,
147
+ approved: boolean
148
+ ];
149
+ export type OutputTuple = [
150
+ owner: string,
151
+ operator: string,
152
+ approved: boolean
153
+ ];
154
+ export interface OutputObject {
155
+ owner: string;
156
+ operator: string;
157
+ approved: boolean;
158
+ }
159
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
160
+ export type Filter = TypedDeferredTopicFilter<Event>;
161
+ export type Log = TypedEventLog<Event>;
162
+ export type LogDescription = TypedLogDescription<Event>;
163
+ }
164
+
165
+ export namespace TransferEvent {
166
+ export type InputTuple = [
167
+ from: AddressLike,
168
+ to: AddressLike,
169
+ tokenId: BigNumberish
170
+ ];
171
+ export type OutputTuple = [from: string, to: string, tokenId: bigint];
172
+ export interface OutputObject {
173
+ from: string;
174
+ to: string;
175
+ tokenId: bigint;
176
+ }
177
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
178
+ export type Filter = TypedDeferredTopicFilter<Event>;
179
+ export type Log = TypedEventLog<Event>;
180
+ export type LogDescription = TypedLogDescription<Event>;
181
+ }
182
+
183
+ export interface PrivateERC721 extends BaseContract {
184
+ connect(runner?: ContractRunner | null): PrivateERC721;
185
+ waitForDeployment(): Promise<this>;
186
+
187
+ interface: PrivateERC721Interface;
188
+
189
+ queryFilter<TCEvent extends TypedContractEvent>(
190
+ event: TCEvent,
191
+ fromBlockOrBlockhash?: string | number | undefined,
192
+ toBlock?: string | number | undefined
193
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
194
+ queryFilter<TCEvent extends TypedContractEvent>(
195
+ filter: TypedDeferredTopicFilter<TCEvent>,
196
+ fromBlockOrBlockhash?: string | number | undefined,
197
+ toBlock?: string | number | undefined
198
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
199
+
200
+ on<TCEvent extends TypedContractEvent>(
201
+ event: TCEvent,
202
+ listener: TypedListener<TCEvent>
203
+ ): Promise<this>;
204
+ on<TCEvent extends TypedContractEvent>(
205
+ filter: TypedDeferredTopicFilter<TCEvent>,
206
+ listener: TypedListener<TCEvent>
207
+ ): Promise<this>;
208
+
209
+ once<TCEvent extends TypedContractEvent>(
210
+ event: TCEvent,
211
+ listener: TypedListener<TCEvent>
212
+ ): Promise<this>;
213
+ once<TCEvent extends TypedContractEvent>(
214
+ filter: TypedDeferredTopicFilter<TCEvent>,
215
+ listener: TypedListener<TCEvent>
216
+ ): Promise<this>;
217
+
218
+ listeners<TCEvent extends TypedContractEvent>(
219
+ event: TCEvent
220
+ ): Promise<Array<TypedListener<TCEvent>>>;
221
+ listeners(eventName?: string): Promise<Array<Listener>>;
222
+ removeAllListeners<TCEvent extends TypedContractEvent>(
223
+ event?: TCEvent
224
+ ): Promise<this>;
225
+
226
+ approve: TypedContractMethod<
227
+ [to: AddressLike, tokenId: BigNumberish],
228
+ [void],
229
+ "nonpayable"
230
+ >;
231
+
232
+ balanceOf: TypedContractMethod<[owner: AddressLike], [bigint], "view">;
233
+
234
+ getApproved: TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
235
+
236
+ isApprovedForAll: TypedContractMethod<
237
+ [owner: AddressLike, operator: AddressLike],
238
+ [boolean],
239
+ "view"
240
+ >;
241
+
242
+ name: TypedContractMethod<[], [string], "view">;
243
+
244
+ ownerOf: TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
245
+
246
+ "safeTransferFrom(address,address,uint256)": TypedContractMethod<
247
+ [from: AddressLike, to: AddressLike, tokenId: BigNumberish],
248
+ [void],
249
+ "nonpayable"
250
+ >;
251
+
252
+ "safeTransferFrom(address,address,uint256,bytes)": TypedContractMethod<
253
+ [
254
+ from: AddressLike,
255
+ to: AddressLike,
256
+ tokenId: BigNumberish,
257
+ data: BytesLike
258
+ ],
259
+ [void],
260
+ "nonpayable"
261
+ >;
262
+
263
+ setApprovalForAll: TypedContractMethod<
264
+ [operator: AddressLike, approved: boolean],
265
+ [void],
266
+ "nonpayable"
267
+ >;
268
+
269
+ supportsInterface: TypedContractMethod<
270
+ [interfaceId: BytesLike],
271
+ [boolean],
272
+ "view"
273
+ >;
274
+
275
+ symbol: TypedContractMethod<[], [string], "view">;
276
+
277
+ transferFrom: TypedContractMethod<
278
+ [from: AddressLike, to: AddressLike, tokenId: BigNumberish],
279
+ [void],
280
+ "nonpayable"
281
+ >;
282
+
283
+ getFunction<T extends ContractMethod = ContractMethod>(
284
+ key: string | FunctionFragment
285
+ ): T;
286
+
287
+ getFunction(
288
+ nameOrSignature: "approve"
289
+ ): TypedContractMethod<
290
+ [to: AddressLike, tokenId: BigNumberish],
291
+ [void],
292
+ "nonpayable"
293
+ >;
294
+ getFunction(
295
+ nameOrSignature: "balanceOf"
296
+ ): TypedContractMethod<[owner: AddressLike], [bigint], "view">;
297
+ getFunction(
298
+ nameOrSignature: "getApproved"
299
+ ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
300
+ getFunction(
301
+ nameOrSignature: "isApprovedForAll"
302
+ ): TypedContractMethod<
303
+ [owner: AddressLike, operator: AddressLike],
304
+ [boolean],
305
+ "view"
306
+ >;
307
+ getFunction(
308
+ nameOrSignature: "name"
309
+ ): TypedContractMethod<[], [string], "view">;
310
+ getFunction(
311
+ nameOrSignature: "ownerOf"
312
+ ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">;
313
+ getFunction(
314
+ nameOrSignature: "safeTransferFrom(address,address,uint256)"
315
+ ): TypedContractMethod<
316
+ [from: AddressLike, to: AddressLike, tokenId: BigNumberish],
317
+ [void],
318
+ "nonpayable"
319
+ >;
320
+ getFunction(
321
+ nameOrSignature: "safeTransferFrom(address,address,uint256,bytes)"
322
+ ): TypedContractMethod<
323
+ [
324
+ from: AddressLike,
325
+ to: AddressLike,
326
+ tokenId: BigNumberish,
327
+ data: BytesLike
328
+ ],
329
+ [void],
330
+ "nonpayable"
331
+ >;
332
+ getFunction(
333
+ nameOrSignature: "setApprovalForAll"
334
+ ): TypedContractMethod<
335
+ [operator: AddressLike, approved: boolean],
336
+ [void],
337
+ "nonpayable"
338
+ >;
339
+ getFunction(
340
+ nameOrSignature: "supportsInterface"
341
+ ): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">;
342
+ getFunction(
343
+ nameOrSignature: "symbol"
344
+ ): TypedContractMethod<[], [string], "view">;
345
+ getFunction(
346
+ nameOrSignature: "transferFrom"
347
+ ): TypedContractMethod<
348
+ [from: AddressLike, to: AddressLike, tokenId: BigNumberish],
349
+ [void],
350
+ "nonpayable"
351
+ >;
352
+
353
+ getEvent(
354
+ key: "Approval"
355
+ ): TypedContractEvent<
356
+ ApprovalEvent.InputTuple,
357
+ ApprovalEvent.OutputTuple,
358
+ ApprovalEvent.OutputObject
359
+ >;
360
+ getEvent(
361
+ key: "ApprovalForAll"
362
+ ): TypedContractEvent<
363
+ ApprovalForAllEvent.InputTuple,
364
+ ApprovalForAllEvent.OutputTuple,
365
+ ApprovalForAllEvent.OutputObject
366
+ >;
367
+ getEvent(
368
+ key: "Transfer"
369
+ ): TypedContractEvent<
370
+ TransferEvent.InputTuple,
371
+ TransferEvent.OutputTuple,
372
+ TransferEvent.OutputObject
373
+ >;
374
+
375
+ filters: {
376
+ "Approval(address,address,uint256)": TypedContractEvent<
377
+ ApprovalEvent.InputTuple,
378
+ ApprovalEvent.OutputTuple,
379
+ ApprovalEvent.OutputObject
380
+ >;
381
+ Approval: TypedContractEvent<
382
+ ApprovalEvent.InputTuple,
383
+ ApprovalEvent.OutputTuple,
384
+ ApprovalEvent.OutputObject
385
+ >;
386
+
387
+ "ApprovalForAll(address,address,bool)": TypedContractEvent<
388
+ ApprovalForAllEvent.InputTuple,
389
+ ApprovalForAllEvent.OutputTuple,
390
+ ApprovalForAllEvent.OutputObject
391
+ >;
392
+ ApprovalForAll: TypedContractEvent<
393
+ ApprovalForAllEvent.InputTuple,
394
+ ApprovalForAllEvent.OutputTuple,
395
+ ApprovalForAllEvent.OutputObject
396
+ >;
397
+
398
+ "Transfer(address,address,uint256)": TypedContractEvent<
399
+ TransferEvent.InputTuple,
400
+ TransferEvent.OutputTuple,
401
+ TransferEvent.OutputObject
402
+ >;
403
+ Transfer: TypedContractEvent<
404
+ TransferEvent.InputTuple,
405
+ TransferEvent.OutputTuple,
406
+ TransferEvent.OutputObject
407
+ >;
408
+ };
409
+ }