@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,354 @@
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
+ ContractRunner,
12
+ ContractMethod,
13
+ Listener,
14
+ } from "ethers";
15
+ import type {
16
+ TypedContractEvent,
17
+ TypedDeferredTopicFilter,
18
+ TypedEventLog,
19
+ TypedListener,
20
+ TypedContractMethod,
21
+ } from "../../../../common";
22
+
23
+ export declare namespace ArithmeticTestsContract {
24
+ export type Check16Struct = {
25
+ res16_16: BigNumberish;
26
+ res8_16: BigNumberish;
27
+ res16_8: BigNumberish;
28
+ };
29
+
30
+ export type Check16StructOutput = [
31
+ res16_16: bigint,
32
+ res8_16: bigint,
33
+ res16_8: bigint
34
+ ] & { res16_16: bigint; res8_16: bigint; res16_8: bigint };
35
+
36
+ export type Check32Struct = {
37
+ res32_32: BigNumberish;
38
+ res8_32: BigNumberish;
39
+ res32_8: BigNumberish;
40
+ res16_32: BigNumberish;
41
+ res32_16: BigNumberish;
42
+ };
43
+
44
+ export type Check32StructOutput = [
45
+ res32_32: bigint,
46
+ res8_32: bigint,
47
+ res32_8: bigint,
48
+ res16_32: bigint,
49
+ res32_16: bigint
50
+ ] & {
51
+ res32_32: bigint;
52
+ res8_32: bigint;
53
+ res32_8: bigint;
54
+ res16_32: bigint;
55
+ res32_16: bigint;
56
+ };
57
+
58
+ export type Check64Struct = {
59
+ res64_64: BigNumberish;
60
+ res8_64: BigNumberish;
61
+ res64_8: BigNumberish;
62
+ res16_64: BigNumberish;
63
+ res64_16: BigNumberish;
64
+ res32_64: BigNumberish;
65
+ res64_32: BigNumberish;
66
+ };
67
+
68
+ export type Check64StructOutput = [
69
+ res64_64: bigint,
70
+ res8_64: bigint,
71
+ res64_8: bigint,
72
+ res16_64: bigint,
73
+ res64_16: bigint,
74
+ res32_64: bigint,
75
+ res64_32: bigint
76
+ ] & {
77
+ res64_64: bigint;
78
+ res8_64: bigint;
79
+ res64_8: bigint;
80
+ res16_64: bigint;
81
+ res64_16: bigint;
82
+ res32_64: bigint;
83
+ res64_32: bigint;
84
+ };
85
+
86
+ export type AllGTCastingValuesStruct = {
87
+ a8_s: BigNumberish;
88
+ b8_s: BigNumberish;
89
+ a16_s: BigNumberish;
90
+ b16_s: BigNumberish;
91
+ a32_s: BigNumberish;
92
+ b32_s: BigNumberish;
93
+ a64_s: BigNumberish;
94
+ b64_s: BigNumberish;
95
+ };
96
+
97
+ export type AllGTCastingValuesStructOutput = [
98
+ a8_s: bigint,
99
+ b8_s: bigint,
100
+ a16_s: bigint,
101
+ b16_s: bigint,
102
+ a32_s: bigint,
103
+ b32_s: bigint,
104
+ a64_s: bigint,
105
+ b64_s: bigint
106
+ ] & {
107
+ a8_s: bigint;
108
+ b8_s: bigint;
109
+ a16_s: bigint;
110
+ b16_s: bigint;
111
+ a32_s: bigint;
112
+ b32_s: bigint;
113
+ a64_s: bigint;
114
+ b64_s: bigint;
115
+ };
116
+ }
117
+
118
+ export interface ArithmeticTestsContractInterface extends Interface {
119
+ getFunction(
120
+ nameOrSignature:
121
+ | "addTest"
122
+ | "decryptAndCompareResults16"
123
+ | "decryptAndCompareResults32"
124
+ | "decryptAndCompareResults64"
125
+ | "getResult"
126
+ | "getResult16"
127
+ | "mulTest"
128
+ | "setPublicValues"
129
+ | "subTest"
130
+ ): FunctionFragment;
131
+
132
+ encodeFunctionData(
133
+ functionFragment: "addTest",
134
+ values: [BigNumberish, BigNumberish]
135
+ ): string;
136
+ encodeFunctionData(
137
+ functionFragment: "decryptAndCompareResults16",
138
+ values: [ArithmeticTestsContract.Check16Struct]
139
+ ): string;
140
+ encodeFunctionData(
141
+ functionFragment: "decryptAndCompareResults32",
142
+ values: [ArithmeticTestsContract.Check32Struct]
143
+ ): string;
144
+ encodeFunctionData(
145
+ functionFragment: "decryptAndCompareResults64",
146
+ values: [ArithmeticTestsContract.Check64Struct]
147
+ ): string;
148
+ encodeFunctionData(functionFragment: "getResult", values?: undefined): string;
149
+ encodeFunctionData(
150
+ functionFragment: "getResult16",
151
+ values?: undefined
152
+ ): string;
153
+ encodeFunctionData(
154
+ functionFragment: "mulTest",
155
+ values: [BigNumberish, BigNumberish]
156
+ ): string;
157
+ encodeFunctionData(
158
+ functionFragment: "setPublicValues",
159
+ values: [
160
+ ArithmeticTestsContract.AllGTCastingValuesStruct,
161
+ BigNumberish,
162
+ BigNumberish
163
+ ]
164
+ ): string;
165
+ encodeFunctionData(
166
+ functionFragment: "subTest",
167
+ values: [BigNumberish, BigNumberish]
168
+ ): string;
169
+
170
+ decodeFunctionResult(functionFragment: "addTest", data: BytesLike): Result;
171
+ decodeFunctionResult(
172
+ functionFragment: "decryptAndCompareResults16",
173
+ data: BytesLike
174
+ ): Result;
175
+ decodeFunctionResult(
176
+ functionFragment: "decryptAndCompareResults32",
177
+ data: BytesLike
178
+ ): Result;
179
+ decodeFunctionResult(
180
+ functionFragment: "decryptAndCompareResults64",
181
+ data: BytesLike
182
+ ): Result;
183
+ decodeFunctionResult(functionFragment: "getResult", data: BytesLike): Result;
184
+ decodeFunctionResult(
185
+ functionFragment: "getResult16",
186
+ data: BytesLike
187
+ ): Result;
188
+ decodeFunctionResult(functionFragment: "mulTest", data: BytesLike): Result;
189
+ decodeFunctionResult(
190
+ functionFragment: "setPublicValues",
191
+ data: BytesLike
192
+ ): Result;
193
+ decodeFunctionResult(functionFragment: "subTest", data: BytesLike): Result;
194
+ }
195
+
196
+ export interface ArithmeticTestsContract extends BaseContract {
197
+ connect(runner?: ContractRunner | null): ArithmeticTestsContract;
198
+ waitForDeployment(): Promise<this>;
199
+
200
+ interface: ArithmeticTestsContractInterface;
201
+
202
+ queryFilter<TCEvent extends TypedContractEvent>(
203
+ event: TCEvent,
204
+ fromBlockOrBlockhash?: string | number | undefined,
205
+ toBlock?: string | number | undefined
206
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
207
+ queryFilter<TCEvent extends TypedContractEvent>(
208
+ filter: TypedDeferredTopicFilter<TCEvent>,
209
+ fromBlockOrBlockhash?: string | number | undefined,
210
+ toBlock?: string | number | undefined
211
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
212
+
213
+ on<TCEvent extends TypedContractEvent>(
214
+ event: TCEvent,
215
+ listener: TypedListener<TCEvent>
216
+ ): Promise<this>;
217
+ on<TCEvent extends TypedContractEvent>(
218
+ filter: TypedDeferredTopicFilter<TCEvent>,
219
+ listener: TypedListener<TCEvent>
220
+ ): Promise<this>;
221
+
222
+ once<TCEvent extends TypedContractEvent>(
223
+ event: TCEvent,
224
+ listener: TypedListener<TCEvent>
225
+ ): Promise<this>;
226
+ once<TCEvent extends TypedContractEvent>(
227
+ filter: TypedDeferredTopicFilter<TCEvent>,
228
+ listener: TypedListener<TCEvent>
229
+ ): Promise<this>;
230
+
231
+ listeners<TCEvent extends TypedContractEvent>(
232
+ event: TCEvent
233
+ ): Promise<Array<TypedListener<TCEvent>>>;
234
+ listeners(eventName?: string): Promise<Array<Listener>>;
235
+ removeAllListeners<TCEvent extends TypedContractEvent>(
236
+ event?: TCEvent
237
+ ): Promise<this>;
238
+
239
+ addTest: TypedContractMethod<
240
+ [a: BigNumberish, b: BigNumberish],
241
+ [bigint],
242
+ "nonpayable"
243
+ >;
244
+
245
+ decryptAndCompareResults16: TypedContractMethod<
246
+ [check16: ArithmeticTestsContract.Check16Struct],
247
+ [bigint],
248
+ "nonpayable"
249
+ >;
250
+
251
+ decryptAndCompareResults32: TypedContractMethod<
252
+ [check32: ArithmeticTestsContract.Check32Struct],
253
+ [bigint],
254
+ "nonpayable"
255
+ >;
256
+
257
+ decryptAndCompareResults64: TypedContractMethod<
258
+ [check64: ArithmeticTestsContract.Check64Struct],
259
+ [bigint],
260
+ "nonpayable"
261
+ >;
262
+
263
+ getResult: TypedContractMethod<[], [bigint], "view">;
264
+
265
+ getResult16: TypedContractMethod<[], [bigint], "view">;
266
+
267
+ mulTest: TypedContractMethod<
268
+ [a: BigNumberish, b: BigNumberish],
269
+ [bigint],
270
+ "nonpayable"
271
+ >;
272
+
273
+ setPublicValues: TypedContractMethod<
274
+ [
275
+ castingValues: ArithmeticTestsContract.AllGTCastingValuesStruct,
276
+ a: BigNumberish,
277
+ b: BigNumberish
278
+ ],
279
+ [void],
280
+ "nonpayable"
281
+ >;
282
+
283
+ subTest: TypedContractMethod<
284
+ [a: BigNumberish, b: BigNumberish],
285
+ [bigint],
286
+ "nonpayable"
287
+ >;
288
+
289
+ getFunction<T extends ContractMethod = ContractMethod>(
290
+ key: string | FunctionFragment
291
+ ): T;
292
+
293
+ getFunction(
294
+ nameOrSignature: "addTest"
295
+ ): TypedContractMethod<
296
+ [a: BigNumberish, b: BigNumberish],
297
+ [bigint],
298
+ "nonpayable"
299
+ >;
300
+ getFunction(
301
+ nameOrSignature: "decryptAndCompareResults16"
302
+ ): TypedContractMethod<
303
+ [check16: ArithmeticTestsContract.Check16Struct],
304
+ [bigint],
305
+ "nonpayable"
306
+ >;
307
+ getFunction(
308
+ nameOrSignature: "decryptAndCompareResults32"
309
+ ): TypedContractMethod<
310
+ [check32: ArithmeticTestsContract.Check32Struct],
311
+ [bigint],
312
+ "nonpayable"
313
+ >;
314
+ getFunction(
315
+ nameOrSignature: "decryptAndCompareResults64"
316
+ ): TypedContractMethod<
317
+ [check64: ArithmeticTestsContract.Check64Struct],
318
+ [bigint],
319
+ "nonpayable"
320
+ >;
321
+ getFunction(
322
+ nameOrSignature: "getResult"
323
+ ): TypedContractMethod<[], [bigint], "view">;
324
+ getFunction(
325
+ nameOrSignature: "getResult16"
326
+ ): TypedContractMethod<[], [bigint], "view">;
327
+ getFunction(
328
+ nameOrSignature: "mulTest"
329
+ ): TypedContractMethod<
330
+ [a: BigNumberish, b: BigNumberish],
331
+ [bigint],
332
+ "nonpayable"
333
+ >;
334
+ getFunction(
335
+ nameOrSignature: "setPublicValues"
336
+ ): TypedContractMethod<
337
+ [
338
+ castingValues: ArithmeticTestsContract.AllGTCastingValuesStruct,
339
+ a: BigNumberish,
340
+ b: BigNumberish
341
+ ],
342
+ [void],
343
+ "nonpayable"
344
+ >;
345
+ getFunction(
346
+ nameOrSignature: "subTest"
347
+ ): TypedContractMethod<
348
+ [a: BigNumberish, b: BigNumberish],
349
+ [bigint],
350
+ "nonpayable"
351
+ >;
352
+
353
+ filters: {};
354
+ }
@@ -0,0 +1,340 @@
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
+ ContractRunner,
12
+ ContractMethod,
13
+ Listener,
14
+ } from "ethers";
15
+ import type {
16
+ TypedContractEvent,
17
+ TypedDeferredTopicFilter,
18
+ TypedEventLog,
19
+ TypedListener,
20
+ TypedContractMethod,
21
+ } from "../../../../common";
22
+
23
+ export declare namespace BitwiseTestsContract {
24
+ export type Check16Struct = {
25
+ res16_16: BigNumberish;
26
+ res8_16: BigNumberish;
27
+ res16_8: BigNumberish;
28
+ };
29
+
30
+ export type Check16StructOutput = [
31
+ res16_16: bigint,
32
+ res8_16: bigint,
33
+ res16_8: bigint
34
+ ] & { res16_16: bigint; res8_16: bigint; res16_8: bigint };
35
+
36
+ export type Check32Struct = {
37
+ res32_32: BigNumberish;
38
+ res8_32: BigNumberish;
39
+ res32_8: BigNumberish;
40
+ res16_32: BigNumberish;
41
+ res32_16: BigNumberish;
42
+ };
43
+
44
+ export type Check32StructOutput = [
45
+ res32_32: bigint,
46
+ res8_32: bigint,
47
+ res32_8: bigint,
48
+ res16_32: bigint,
49
+ res32_16: bigint
50
+ ] & {
51
+ res32_32: bigint;
52
+ res8_32: bigint;
53
+ res32_8: bigint;
54
+ res16_32: bigint;
55
+ res32_16: bigint;
56
+ };
57
+
58
+ export type Check64Struct = {
59
+ res64_64: BigNumberish;
60
+ res8_64: BigNumberish;
61
+ res64_8: BigNumberish;
62
+ res16_64: BigNumberish;
63
+ res64_16: BigNumberish;
64
+ res32_64: BigNumberish;
65
+ res64_32: BigNumberish;
66
+ };
67
+
68
+ export type Check64StructOutput = [
69
+ res64_64: bigint,
70
+ res8_64: bigint,
71
+ res64_8: bigint,
72
+ res16_64: bigint,
73
+ res64_16: bigint,
74
+ res32_64: bigint,
75
+ res64_32: bigint
76
+ ] & {
77
+ res64_64: bigint;
78
+ res8_64: bigint;
79
+ res64_8: bigint;
80
+ res16_64: bigint;
81
+ res64_16: bigint;
82
+ res32_64: bigint;
83
+ res64_32: bigint;
84
+ };
85
+
86
+ export type AllGTCastingValuesStruct = {
87
+ a8_s: BigNumberish;
88
+ b8_s: BigNumberish;
89
+ a16_s: BigNumberish;
90
+ b16_s: BigNumberish;
91
+ a32_s: BigNumberish;
92
+ b32_s: BigNumberish;
93
+ a64_s: BigNumberish;
94
+ b64_s: BigNumberish;
95
+ };
96
+
97
+ export type AllGTCastingValuesStructOutput = [
98
+ a8_s: bigint,
99
+ b8_s: bigint,
100
+ a16_s: bigint,
101
+ b16_s: bigint,
102
+ a32_s: bigint,
103
+ b32_s: bigint,
104
+ a64_s: bigint,
105
+ b64_s: bigint
106
+ ] & {
107
+ a8_s: bigint;
108
+ b8_s: bigint;
109
+ a16_s: bigint;
110
+ b16_s: bigint;
111
+ a32_s: bigint;
112
+ b32_s: bigint;
113
+ a64_s: bigint;
114
+ b64_s: bigint;
115
+ };
116
+ }
117
+
118
+ export interface BitwiseTestsContractInterface extends Interface {
119
+ getFunction(
120
+ nameOrSignature:
121
+ | "andTest"
122
+ | "decryptAndCompareResults16"
123
+ | "decryptAndCompareResults32"
124
+ | "decryptAndCompareResults64"
125
+ | "getResult"
126
+ | "orTest"
127
+ | "setPublicValues"
128
+ | "xorTest"
129
+ ): FunctionFragment;
130
+
131
+ encodeFunctionData(
132
+ functionFragment: "andTest",
133
+ values: [BigNumberish, BigNumberish]
134
+ ): string;
135
+ encodeFunctionData(
136
+ functionFragment: "decryptAndCompareResults16",
137
+ values: [BitwiseTestsContract.Check16Struct]
138
+ ): string;
139
+ encodeFunctionData(
140
+ functionFragment: "decryptAndCompareResults32",
141
+ values: [BitwiseTestsContract.Check32Struct]
142
+ ): string;
143
+ encodeFunctionData(
144
+ functionFragment: "decryptAndCompareResults64",
145
+ values: [BitwiseTestsContract.Check64Struct]
146
+ ): string;
147
+ encodeFunctionData(functionFragment: "getResult", values?: undefined): string;
148
+ encodeFunctionData(
149
+ functionFragment: "orTest",
150
+ values: [BigNumberish, BigNumberish]
151
+ ): string;
152
+ encodeFunctionData(
153
+ functionFragment: "setPublicValues",
154
+ values: [
155
+ BitwiseTestsContract.AllGTCastingValuesStruct,
156
+ BigNumberish,
157
+ BigNumberish
158
+ ]
159
+ ): string;
160
+ encodeFunctionData(
161
+ functionFragment: "xorTest",
162
+ values: [BigNumberish, BigNumberish]
163
+ ): string;
164
+
165
+ decodeFunctionResult(functionFragment: "andTest", data: BytesLike): Result;
166
+ decodeFunctionResult(
167
+ functionFragment: "decryptAndCompareResults16",
168
+ data: BytesLike
169
+ ): Result;
170
+ decodeFunctionResult(
171
+ functionFragment: "decryptAndCompareResults32",
172
+ data: BytesLike
173
+ ): Result;
174
+ decodeFunctionResult(
175
+ functionFragment: "decryptAndCompareResults64",
176
+ data: BytesLike
177
+ ): Result;
178
+ decodeFunctionResult(functionFragment: "getResult", data: BytesLike): Result;
179
+ decodeFunctionResult(functionFragment: "orTest", data: BytesLike): Result;
180
+ decodeFunctionResult(
181
+ functionFragment: "setPublicValues",
182
+ data: BytesLike
183
+ ): Result;
184
+ decodeFunctionResult(functionFragment: "xorTest", data: BytesLike): Result;
185
+ }
186
+
187
+ export interface BitwiseTestsContract extends BaseContract {
188
+ connect(runner?: ContractRunner | null): BitwiseTestsContract;
189
+ waitForDeployment(): Promise<this>;
190
+
191
+ interface: BitwiseTestsContractInterface;
192
+
193
+ queryFilter<TCEvent extends TypedContractEvent>(
194
+ event: TCEvent,
195
+ fromBlockOrBlockhash?: string | number | undefined,
196
+ toBlock?: string | number | undefined
197
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
198
+ queryFilter<TCEvent extends TypedContractEvent>(
199
+ filter: TypedDeferredTopicFilter<TCEvent>,
200
+ fromBlockOrBlockhash?: string | number | undefined,
201
+ toBlock?: string | number | undefined
202
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
203
+
204
+ on<TCEvent extends TypedContractEvent>(
205
+ event: TCEvent,
206
+ listener: TypedListener<TCEvent>
207
+ ): Promise<this>;
208
+ on<TCEvent extends TypedContractEvent>(
209
+ filter: TypedDeferredTopicFilter<TCEvent>,
210
+ listener: TypedListener<TCEvent>
211
+ ): Promise<this>;
212
+
213
+ once<TCEvent extends TypedContractEvent>(
214
+ event: TCEvent,
215
+ listener: TypedListener<TCEvent>
216
+ ): Promise<this>;
217
+ once<TCEvent extends TypedContractEvent>(
218
+ filter: TypedDeferredTopicFilter<TCEvent>,
219
+ listener: TypedListener<TCEvent>
220
+ ): Promise<this>;
221
+
222
+ listeners<TCEvent extends TypedContractEvent>(
223
+ event: TCEvent
224
+ ): Promise<Array<TypedListener<TCEvent>>>;
225
+ listeners(eventName?: string): Promise<Array<Listener>>;
226
+ removeAllListeners<TCEvent extends TypedContractEvent>(
227
+ event?: TCEvent
228
+ ): Promise<this>;
229
+
230
+ andTest: TypedContractMethod<
231
+ [a: BigNumberish, b: BigNumberish],
232
+ [bigint],
233
+ "nonpayable"
234
+ >;
235
+
236
+ decryptAndCompareResults16: TypedContractMethod<
237
+ [check16: BitwiseTestsContract.Check16Struct],
238
+ [bigint],
239
+ "nonpayable"
240
+ >;
241
+
242
+ decryptAndCompareResults32: TypedContractMethod<
243
+ [check32: BitwiseTestsContract.Check32Struct],
244
+ [bigint],
245
+ "nonpayable"
246
+ >;
247
+
248
+ decryptAndCompareResults64: TypedContractMethod<
249
+ [check64: BitwiseTestsContract.Check64Struct],
250
+ [bigint],
251
+ "nonpayable"
252
+ >;
253
+
254
+ getResult: TypedContractMethod<[], [bigint], "view">;
255
+
256
+ orTest: TypedContractMethod<
257
+ [a: BigNumberish, b: BigNumberish],
258
+ [bigint],
259
+ "nonpayable"
260
+ >;
261
+
262
+ setPublicValues: TypedContractMethod<
263
+ [
264
+ castingValues: BitwiseTestsContract.AllGTCastingValuesStruct,
265
+ a: BigNumberish,
266
+ b: BigNumberish
267
+ ],
268
+ [void],
269
+ "nonpayable"
270
+ >;
271
+
272
+ xorTest: TypedContractMethod<
273
+ [a: BigNumberish, b: BigNumberish],
274
+ [bigint],
275
+ "nonpayable"
276
+ >;
277
+
278
+ getFunction<T extends ContractMethod = ContractMethod>(
279
+ key: string | FunctionFragment
280
+ ): T;
281
+
282
+ getFunction(
283
+ nameOrSignature: "andTest"
284
+ ): TypedContractMethod<
285
+ [a: BigNumberish, b: BigNumberish],
286
+ [bigint],
287
+ "nonpayable"
288
+ >;
289
+ getFunction(
290
+ nameOrSignature: "decryptAndCompareResults16"
291
+ ): TypedContractMethod<
292
+ [check16: BitwiseTestsContract.Check16Struct],
293
+ [bigint],
294
+ "nonpayable"
295
+ >;
296
+ getFunction(
297
+ nameOrSignature: "decryptAndCompareResults32"
298
+ ): TypedContractMethod<
299
+ [check32: BitwiseTestsContract.Check32Struct],
300
+ [bigint],
301
+ "nonpayable"
302
+ >;
303
+ getFunction(
304
+ nameOrSignature: "decryptAndCompareResults64"
305
+ ): TypedContractMethod<
306
+ [check64: BitwiseTestsContract.Check64Struct],
307
+ [bigint],
308
+ "nonpayable"
309
+ >;
310
+ getFunction(
311
+ nameOrSignature: "getResult"
312
+ ): TypedContractMethod<[], [bigint], "view">;
313
+ getFunction(
314
+ nameOrSignature: "orTest"
315
+ ): TypedContractMethod<
316
+ [a: BigNumberish, b: BigNumberish],
317
+ [bigint],
318
+ "nonpayable"
319
+ >;
320
+ getFunction(
321
+ nameOrSignature: "setPublicValues"
322
+ ): TypedContractMethod<
323
+ [
324
+ castingValues: BitwiseTestsContract.AllGTCastingValuesStruct,
325
+ a: BigNumberish,
326
+ b: BigNumberish
327
+ ],
328
+ [void],
329
+ "nonpayable"
330
+ >;
331
+ getFunction(
332
+ nameOrSignature: "xorTest"
333
+ ): TypedContractMethod<
334
+ [a: BigNumberish, b: BigNumberish],
335
+ [bigint],
336
+ "nonpayable"
337
+ >;
338
+
339
+ filters: {};
340
+ }