@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,1139 @@
1
+ // SPDX-License-Identifier: MIT
2
+
3
+ pragma solidity ^0.8.19;
4
+
5
+ import "../DataPrivacyFramework.sol";
6
+ import "../../../utils/mpc/MpcCore.sol";
7
+
8
+ abstract contract DataPrivacyFrameworkMpc is DataPrivacyFramework {
9
+
10
+ constructor(bool addressDefaultPermission_, bool operationDefaultPermission_) DataPrivacyFramework(addressDefaultPermission_, operationDefaultPermission_) {}
11
+
12
+ // 8-bit operations
13
+
14
+ function add(
15
+ gtUint8 a,
16
+ gtUint8 b,
17
+ uint256 uintParameter,
18
+ address addressParameter,
19
+ string calldata stringParameter
20
+ )
21
+ internal
22
+ onlyAllowedUserOperation("op_add", uintParameter, addressParameter, stringParameter)
23
+ returns (gtUint8)
24
+ {
25
+ return MpcCore.add(a, b);
26
+ }
27
+
28
+ function sub(
29
+ gtUint8 a,
30
+ gtUint8 b,
31
+ uint256 uintParameter,
32
+ address addressParameter,
33
+ string calldata stringParameter
34
+ )
35
+ internal
36
+ onlyAllowedUserOperation("op_sub", uintParameter, addressParameter, stringParameter)
37
+ returns (gtUint8)
38
+ {
39
+ return MpcCore.sub(a, b);
40
+ }
41
+
42
+ function mul(
43
+ gtUint8 a,
44
+ gtUint8 b,
45
+ uint256 uintParameter,
46
+ address addressParameter,
47
+ string calldata stringParameter
48
+ )
49
+ internal
50
+ onlyAllowedUserOperation("op_mul", uintParameter, addressParameter, stringParameter)
51
+ returns (gtUint16)
52
+ {
53
+ return MpcCore.mul(a, b);
54
+ }
55
+
56
+ function div(
57
+ gtUint8 a,
58
+ gtUint8 b,
59
+ uint256 uintParameter,
60
+ address addressParameter,
61
+ string calldata stringParameter
62
+ )
63
+ internal
64
+ onlyAllowedUserOperation("op_div", uintParameter, addressParameter, stringParameter)
65
+ returns (gtUint8)
66
+ {
67
+ return MpcCore.div(a, b);
68
+ }
69
+
70
+ function rem(
71
+ gtUint8 a,
72
+ gtUint8 b,
73
+ uint256 uintParameter,
74
+ address addressParameter,
75
+ string calldata stringParameter
76
+ )
77
+ internal
78
+ onlyAllowedUserOperation("op_rem", uintParameter, addressParameter, stringParameter)
79
+ returns (gtUint8)
80
+ {
81
+ return MpcCore.rem(a, b);
82
+ }
83
+
84
+ function and(
85
+ gtUint8 a,
86
+ gtUint8 b,
87
+ uint256 uintParameter,
88
+ address addressParameter,
89
+ string calldata stringParameter
90
+ )
91
+ internal
92
+ onlyAllowedUserOperation("op_and", uintParameter, addressParameter, stringParameter)
93
+ returns (gtUint8)
94
+ {
95
+ return MpcCore.and(a, b);
96
+ }
97
+
98
+ function or(
99
+ gtUint8 a,
100
+ gtUint8 b,
101
+ uint256 uintParameter,
102
+ address addressParameter,
103
+ string calldata stringParameter
104
+ )
105
+ internal
106
+ onlyAllowedUserOperation("op_or", uintParameter, addressParameter, stringParameter)
107
+ returns (gtUint8)
108
+ {
109
+ return MpcCore.or(a, b);
110
+ }
111
+
112
+ function xor(
113
+ gtUint8 a,
114
+ gtUint8 b,
115
+ uint256 uintParameter,
116
+ address addressParameter,
117
+ string calldata stringParameter
118
+ )
119
+ internal
120
+ onlyAllowedUserOperation("op_xor", uintParameter, addressParameter, stringParameter)
121
+ returns (gtUint8)
122
+ {
123
+ return MpcCore.xor(a, b);
124
+ }
125
+
126
+ function shl(
127
+ gtUint8 a,
128
+ gtUint8 b,
129
+ uint256 uintParameter,
130
+ address addressParameter,
131
+ string calldata stringParameter
132
+ )
133
+ internal
134
+ onlyAllowedUserOperation("op_shl", uintParameter, addressParameter, stringParameter)
135
+ returns (gtUint8)
136
+ {
137
+ return MpcCore.shl(a, b);
138
+ }
139
+
140
+ function shr(
141
+ gtUint8 a,
142
+ gtUint8 b,
143
+ uint256 uintParameter,
144
+ address addressParameter,
145
+ string calldata stringParameter
146
+ )
147
+ internal
148
+ onlyAllowedUserOperation("op_shr", uintParameter, addressParameter, stringParameter)
149
+ returns (gtUint8)
150
+ {
151
+ return MpcCore.shr(a, b);
152
+ }
153
+
154
+ function eq(
155
+ gtUint8 a,
156
+ gtUint8 b,
157
+ uint256 uintParameter,
158
+ address addressParameter,
159
+ string calldata stringParameter
160
+ )
161
+ internal
162
+ onlyAllowedUserOperation("op_eq", uintParameter, addressParameter, stringParameter)
163
+ returns (gtBool)
164
+ {
165
+ return MpcCore.eq(a, b);
166
+ }
167
+
168
+ function ne(
169
+ gtUint8 a,
170
+ gtUint8 b,
171
+ uint256 uintParameter,
172
+ address addressParameter,
173
+ string calldata stringParameter
174
+ )
175
+ internal
176
+ onlyAllowedUserOperation("op_ne", uintParameter, addressParameter, stringParameter)
177
+ returns (gtBool)
178
+ {
179
+ return MpcCore.ne(a, b);
180
+ }
181
+
182
+ function ge(
183
+ gtUint8 a,
184
+ gtUint8 b,
185
+ uint256 uintParameter,
186
+ address addressParameter,
187
+ string calldata stringParameter
188
+ )
189
+ internal
190
+ onlyAllowedUserOperation("op_ge", uintParameter, addressParameter, stringParameter)
191
+ returns (gtBool)
192
+ {
193
+ return MpcCore.ge(a, b);
194
+ }
195
+
196
+ function gt(
197
+ gtUint8 a,
198
+ gtUint8 b,
199
+ uint256 uintParameter,
200
+ address addressParameter,
201
+ string calldata stringParameter
202
+ )
203
+ internal
204
+ onlyAllowedUserOperation("op_gt", uintParameter, addressParameter, stringParameter)
205
+ returns (gtBool)
206
+ {
207
+ return MpcCore.gt(a, b);
208
+ }
209
+
210
+ function le(
211
+ gtUint8 a,
212
+ gtUint8 b,
213
+ uint256 uintParameter,
214
+ address addressParameter,
215
+ string calldata stringParameter
216
+ )
217
+ internal
218
+ onlyAllowedUserOperation("op_le", uintParameter, addressParameter, stringParameter)
219
+ returns (gtBool)
220
+ {
221
+ return MpcCore.le(a, b);
222
+ }
223
+
224
+ function lt(
225
+ gtUint8 a,
226
+ gtUint8 b,
227
+ uint256 uintParameter,
228
+ address addressParameter,
229
+ string calldata stringParameter
230
+ )
231
+ internal
232
+ onlyAllowedUserOperation("op_lt", uintParameter, addressParameter, stringParameter)
233
+ returns (gtBool)
234
+ {
235
+ return MpcCore.lt(a, b);
236
+ }
237
+
238
+ function min(
239
+ gtUint8 a,
240
+ gtUint8 b,
241
+ uint256 uintParameter,
242
+ address addressParameter,
243
+ string calldata stringParameter
244
+ )
245
+ internal
246
+ onlyAllowedUserOperation("op_min", uintParameter, addressParameter, stringParameter)
247
+ returns (gtUint8)
248
+ {
249
+ return MpcCore.min(a, b);
250
+ }
251
+
252
+ function max(
253
+ gtUint8 a,
254
+ gtUint8 b,
255
+ uint256 uintParameter,
256
+ address addressParameter,
257
+ string calldata stringParameter
258
+ )
259
+ internal
260
+ onlyAllowedUserOperation("op_max", uintParameter, addressParameter, stringParameter)
261
+ returns (gtUint8)
262
+ {
263
+ return MpcCore.max(a, b);
264
+ }
265
+
266
+ function decrypt(
267
+ gtUint8 a,
268
+ uint256 uintParameter,
269
+ address addressParameter,
270
+ string calldata stringParameter
271
+ )
272
+ internal
273
+ onlyAllowedUserOperation("op_decrypt", uintParameter, addressParameter, stringParameter)
274
+ returns (uint8)
275
+ {
276
+ return MpcCore.decrypt(a);
277
+ }
278
+
279
+ function mux(
280
+ gtBool bit,
281
+ gtUint8 a,
282
+ gtUint8 b,
283
+ uint256 uintParameter,
284
+ address addressParameter,
285
+ string calldata stringParameter
286
+ )
287
+ internal
288
+ onlyAllowedUserOperation("op_mux", uintParameter, addressParameter, stringParameter)
289
+ returns (gtUint8)
290
+ {
291
+ return MpcCore.mux(bit, a, b);
292
+ }
293
+
294
+ // 16-bit operations
295
+
296
+ function add(
297
+ gtUint16 a,
298
+ gtUint16 b,
299
+ uint256 uintParameter,
300
+ address addressParameter,
301
+ string calldata stringParameter
302
+ )
303
+ internal
304
+ onlyAllowedUserOperation("op_add", uintParameter, addressParameter, stringParameter)
305
+ returns (gtUint16)
306
+ {
307
+ return MpcCore.add(a, b);
308
+ }
309
+
310
+ function sub(
311
+ gtUint16 a,
312
+ gtUint16 b,
313
+ uint256 uintParameter,
314
+ address addressParameter,
315
+ string calldata stringParameter
316
+ )
317
+ internal
318
+ onlyAllowedUserOperation("op_sub", uintParameter, addressParameter, stringParameter)
319
+ returns (gtUint16)
320
+ {
321
+ return MpcCore.sub(a, b);
322
+ }
323
+
324
+ function mul(
325
+ gtUint16 a,
326
+ gtUint16 b,
327
+ uint256 uintParameter,
328
+ address addressParameter,
329
+ string calldata stringParameter
330
+ )
331
+ internal
332
+ onlyAllowedUserOperation("op_mul", uintParameter, addressParameter, stringParameter)
333
+ returns (gtUint32)
334
+ {
335
+ return MpcCore.mul(a, b);
336
+ }
337
+
338
+ function div(
339
+ gtUint16 a,
340
+ gtUint16 b,
341
+ uint256 uintParameter,
342
+ address addressParameter,
343
+ string calldata stringParameter
344
+ )
345
+ internal
346
+ onlyAllowedUserOperation("op_div", uintParameter, addressParameter, stringParameter)
347
+ returns (gtUint16)
348
+ {
349
+ return MpcCore.div(a, b);
350
+ }
351
+
352
+ function rem(
353
+ gtUint16 a,
354
+ gtUint16 b,
355
+ uint256 uintParameter,
356
+ address addressParameter,
357
+ string calldata stringParameter
358
+ )
359
+ internal
360
+ onlyAllowedUserOperation("op_rem", uintParameter, addressParameter, stringParameter)
361
+ returns (gtUint16)
362
+ {
363
+ return MpcCore.rem(a, b);
364
+ }
365
+
366
+ function and(
367
+ gtUint16 a,
368
+ gtUint16 b,
369
+ uint256 uintParameter,
370
+ address addressParameter,
371
+ string calldata stringParameter
372
+ )
373
+ internal
374
+ onlyAllowedUserOperation("op_and", uintParameter, addressParameter, stringParameter)
375
+ returns (gtUint16)
376
+ {
377
+ return MpcCore.and(a, b);
378
+ }
379
+
380
+ function or(
381
+ gtUint16 a,
382
+ gtUint16 b,
383
+ uint256 uintParameter,
384
+ address addressParameter,
385
+ string calldata stringParameter
386
+ )
387
+ internal
388
+ onlyAllowedUserOperation("op_or", uintParameter, addressParameter, stringParameter)
389
+ returns (gtUint16)
390
+ {
391
+ return MpcCore.or(a, b);
392
+ }
393
+
394
+ function xor(
395
+ gtUint16 a,
396
+ gtUint16 b,
397
+ uint256 uintParameter,
398
+ address addressParameter,
399
+ string calldata stringParameter
400
+ )
401
+ internal
402
+ onlyAllowedUserOperation("op_xor", uintParameter, addressParameter, stringParameter)
403
+ returns (gtUint16)
404
+ {
405
+ return MpcCore.xor(a, b);
406
+ }
407
+
408
+ function shl(
409
+ gtUint16 a,
410
+ gtUint16 b,
411
+ uint256 uintParameter,
412
+ address addressParameter,
413
+ string calldata stringParameter
414
+ )
415
+ internal
416
+ onlyAllowedUserOperation("op_shl", uintParameter, addressParameter, stringParameter)
417
+ returns (gtUint16)
418
+ {
419
+ return MpcCore.shl(a, b);
420
+ }
421
+
422
+ function shr(
423
+ gtUint16 a,
424
+ gtUint16 b,
425
+ uint256 uintParameter,
426
+ address addressParameter,
427
+ string calldata stringParameter
428
+ )
429
+ internal
430
+ onlyAllowedUserOperation("op_shr", uintParameter, addressParameter, stringParameter)
431
+ returns (gtUint16)
432
+ {
433
+ return MpcCore.shr(a, b);
434
+ }
435
+
436
+ function eq(
437
+ gtUint16 a,
438
+ gtUint16 b,
439
+ uint256 uintParameter,
440
+ address addressParameter,
441
+ string calldata stringParameter
442
+ )
443
+ internal
444
+ onlyAllowedUserOperation("op_eq", uintParameter, addressParameter, stringParameter)
445
+ returns (gtBool)
446
+ {
447
+ return MpcCore.eq(a, b);
448
+ }
449
+
450
+ function ne(
451
+ gtUint16 a,
452
+ gtUint16 b,
453
+ uint256 uintParameter,
454
+ address addressParameter,
455
+ string calldata stringParameter
456
+ )
457
+ internal
458
+ onlyAllowedUserOperation("op_ne", uintParameter, addressParameter, stringParameter)
459
+ returns (gtBool)
460
+ {
461
+ return MpcCore.ne(a, b);
462
+ }
463
+
464
+ function ge(
465
+ gtUint16 a,
466
+ gtUint16 b,
467
+ uint256 uintParameter,
468
+ address addressParameter,
469
+ string calldata stringParameter
470
+ )
471
+ internal
472
+ onlyAllowedUserOperation("op_ge", uintParameter, addressParameter, stringParameter)
473
+ returns (gtBool)
474
+ {
475
+ return MpcCore.ge(a, b);
476
+ }
477
+
478
+ function gt(
479
+ gtUint16 a,
480
+ gtUint16 b,
481
+ uint256 uintParameter,
482
+ address addressParameter,
483
+ string calldata stringParameter
484
+ )
485
+ internal
486
+ onlyAllowedUserOperation("op_gt", uintParameter, addressParameter, stringParameter)
487
+ returns (gtBool)
488
+ {
489
+ return MpcCore.gt(a, b);
490
+ }
491
+
492
+ function le(
493
+ gtUint16 a,
494
+ gtUint16 b,
495
+ uint256 uintParameter,
496
+ address addressParameter,
497
+ string calldata stringParameter
498
+ )
499
+ internal
500
+ onlyAllowedUserOperation("op_le", uintParameter, addressParameter, stringParameter)
501
+ returns (gtBool)
502
+ {
503
+ return MpcCore.le(a, b);
504
+ }
505
+
506
+ function lt(
507
+ gtUint16 a,
508
+ gtUint16 b,
509
+ uint256 uintParameter,
510
+ address addressParameter,
511
+ string calldata stringParameter
512
+ )
513
+ internal
514
+ onlyAllowedUserOperation("op_lt", uintParameter, addressParameter, stringParameter)
515
+ returns (gtBool)
516
+ {
517
+ return MpcCore.lt(a, b);
518
+ }
519
+
520
+ function min(
521
+ gtUint16 a,
522
+ gtUint16 b,
523
+ uint256 uintParameter,
524
+ address addressParameter,
525
+ string calldata stringParameter
526
+ )
527
+ internal
528
+ onlyAllowedUserOperation("op_min", uintParameter, addressParameter, stringParameter)
529
+ returns (gtUint16)
530
+ {
531
+ return MpcCore.min(a, b);
532
+ }
533
+
534
+ function max(
535
+ gtUint16 a,
536
+ gtUint16 b,
537
+ uint256 uintParameter,
538
+ address addressParameter,
539
+ string calldata stringParameter
540
+ )
541
+ internal
542
+ onlyAllowedUserOperation("op_max", uintParameter, addressParameter, stringParameter)
543
+ returns (gtUint16)
544
+ {
545
+ return MpcCore.max(a, b);
546
+ }
547
+
548
+ function decrypt(
549
+ gtUint16 a,
550
+ uint256 uintParameter,
551
+ address addressParameter,
552
+ string calldata stringParameter
553
+ )
554
+ internal
555
+ onlyAllowedUserOperation("op_decrypt", uintParameter, addressParameter, stringParameter)
556
+ returns (uint16)
557
+ {
558
+ return MpcCore.decrypt(a);
559
+ }
560
+
561
+ function mux(
562
+ gtBool bit,
563
+ gtUint16 a,
564
+ gtUint16 b,
565
+ uint256 uintParameter,
566
+ address addressParameter,
567
+ string calldata stringParameter
568
+ )
569
+ internal
570
+ onlyAllowedUserOperation("op_mux", uintParameter, addressParameter, stringParameter)
571
+ returns (gtUint16)
572
+ {
573
+ return MpcCore.mux(bit, a, b);
574
+ }
575
+
576
+ // 32-bit operations
577
+
578
+ function add(
579
+ gtUint32 a,
580
+ gtUint32 b,
581
+ uint256 uintParameter,
582
+ address addressParameter,
583
+ string calldata stringParameter
584
+ )
585
+ internal
586
+ onlyAllowedUserOperation("op_add", uintParameter, addressParameter, stringParameter)
587
+ returns (gtUint32)
588
+ {
589
+ return MpcCore.add(a, b);
590
+ }
591
+
592
+ function sub(
593
+ gtUint32 a,
594
+ gtUint32 b,
595
+ uint256 uintParameter,
596
+ address addressParameter,
597
+ string calldata stringParameter
598
+ )
599
+ internal
600
+ onlyAllowedUserOperation("op_sub", uintParameter, addressParameter, stringParameter)
601
+ returns (gtUint32)
602
+ {
603
+ return MpcCore.sub(a, b);
604
+ }
605
+
606
+ function mul(
607
+ gtUint32 a,
608
+ gtUint32 b,
609
+ uint256 uintParameter,
610
+ address addressParameter,
611
+ string calldata stringParameter
612
+ )
613
+ internal
614
+ onlyAllowedUserOperation("op_mul", uintParameter, addressParameter, stringParameter)
615
+ returns (gtUint64)
616
+ {
617
+ return MpcCore.mul(a, b);
618
+ }
619
+
620
+ function div(
621
+ gtUint32 a,
622
+ gtUint32 b,
623
+ uint256 uintParameter,
624
+ address addressParameter,
625
+ string calldata stringParameter
626
+ )
627
+ internal
628
+ onlyAllowedUserOperation("op_div", uintParameter, addressParameter, stringParameter)
629
+ returns (gtUint32)
630
+ {
631
+ return MpcCore.div(a, b);
632
+ }
633
+
634
+ function rem(
635
+ gtUint32 a,
636
+ gtUint32 b,
637
+ uint256 uintParameter,
638
+ address addressParameter,
639
+ string calldata stringParameter
640
+ )
641
+ internal
642
+ onlyAllowedUserOperation("op_rem", uintParameter, addressParameter, stringParameter)
643
+ returns (gtUint32)
644
+ {
645
+ return MpcCore.rem(a, b);
646
+ }
647
+
648
+ function and(
649
+ gtUint32 a,
650
+ gtUint32 b,
651
+ uint256 uintParameter,
652
+ address addressParameter,
653
+ string calldata stringParameter
654
+ )
655
+ internal
656
+ onlyAllowedUserOperation("op_and", uintParameter, addressParameter, stringParameter)
657
+ returns (gtUint32)
658
+ {
659
+ return MpcCore.and(a, b);
660
+ }
661
+
662
+ function or(
663
+ gtUint32 a,
664
+ gtUint32 b,
665
+ uint256 uintParameter,
666
+ address addressParameter,
667
+ string calldata stringParameter
668
+ )
669
+ internal
670
+ onlyAllowedUserOperation("op_or", uintParameter, addressParameter, stringParameter)
671
+ returns (gtUint32)
672
+ {
673
+ return MpcCore.or(a, b);
674
+ }
675
+
676
+ function xor(
677
+ gtUint32 a,
678
+ gtUint32 b,
679
+ uint256 uintParameter,
680
+ address addressParameter,
681
+ string calldata stringParameter
682
+ )
683
+ internal
684
+ onlyAllowedUserOperation("op_xor", uintParameter, addressParameter, stringParameter)
685
+ returns (gtUint32)
686
+ {
687
+ return MpcCore.xor(a, b);
688
+ }
689
+
690
+ function shl(
691
+ gtUint32 a,
692
+ gtUint32 b,
693
+ uint256 uintParameter,
694
+ address addressParameter,
695
+ string calldata stringParameter
696
+ )
697
+ internal
698
+ onlyAllowedUserOperation("op_shl", uintParameter, addressParameter, stringParameter)
699
+ returns (gtUint32)
700
+ {
701
+ return MpcCore.shl(a, b);
702
+ }
703
+
704
+ function shr(
705
+ gtUint32 a,
706
+ gtUint32 b,
707
+ uint256 uintParameter,
708
+ address addressParameter,
709
+ string calldata stringParameter
710
+ )
711
+ internal
712
+ onlyAllowedUserOperation("op_shr", uintParameter, addressParameter, stringParameter)
713
+ returns (gtUint32)
714
+ {
715
+ return MpcCore.shr(a, b);
716
+ }
717
+
718
+ function eq(
719
+ gtUint32 a,
720
+ gtUint32 b,
721
+ uint256 uintParameter,
722
+ address addressParameter,
723
+ string calldata stringParameter
724
+ )
725
+ internal
726
+ onlyAllowedUserOperation("op_eq", uintParameter, addressParameter, stringParameter)
727
+ returns (gtBool)
728
+ {
729
+ return MpcCore.eq(a, b);
730
+ }
731
+
732
+ function ne(
733
+ gtUint32 a,
734
+ gtUint32 b,
735
+ uint256 uintParameter,
736
+ address addressParameter,
737
+ string calldata stringParameter
738
+ )
739
+ internal
740
+ onlyAllowedUserOperation("op_ne", uintParameter, addressParameter, stringParameter)
741
+ returns (gtBool)
742
+ {
743
+ return MpcCore.ne(a, b);
744
+ }
745
+
746
+ function ge(
747
+ gtUint32 a,
748
+ gtUint32 b,
749
+ uint256 uintParameter,
750
+ address addressParameter,
751
+ string calldata stringParameter
752
+ )
753
+ internal
754
+ onlyAllowedUserOperation("op_ge", uintParameter, addressParameter, stringParameter)
755
+ returns (gtBool)
756
+ {
757
+ return MpcCore.ge(a, b);
758
+ }
759
+
760
+ function gt(
761
+ gtUint32 a,
762
+ gtUint32 b,
763
+ uint256 uintParameter,
764
+ address addressParameter,
765
+ string calldata stringParameter
766
+ )
767
+ internal
768
+ onlyAllowedUserOperation("op_gt", uintParameter, addressParameter, stringParameter)
769
+ returns (gtBool)
770
+ {
771
+ return MpcCore.gt(a, b);
772
+ }
773
+
774
+ function le(
775
+ gtUint32 a,
776
+ gtUint32 b,
777
+ uint256 uintParameter,
778
+ address addressParameter,
779
+ string calldata stringParameter
780
+ )
781
+ internal
782
+ onlyAllowedUserOperation("op_le", uintParameter, addressParameter, stringParameter)
783
+ returns (gtBool)
784
+ {
785
+ return MpcCore.le(a, b);
786
+ }
787
+
788
+ function lt(
789
+ gtUint32 a,
790
+ gtUint32 b,
791
+ uint256 uintParameter,
792
+ address addressParameter,
793
+ string calldata stringParameter
794
+ )
795
+ internal
796
+ onlyAllowedUserOperation("op_lt", uintParameter, addressParameter, stringParameter)
797
+ returns (gtBool)
798
+ {
799
+ return MpcCore.lt(a, b);
800
+ }
801
+
802
+ function min(
803
+ gtUint32 a,
804
+ gtUint32 b,
805
+ uint256 uintParameter,
806
+ address addressParameter,
807
+ string calldata stringParameter
808
+ )
809
+ internal
810
+ onlyAllowedUserOperation("op_min", uintParameter, addressParameter, stringParameter)
811
+ returns (gtUint32)
812
+ {
813
+ return MpcCore.min(a, b);
814
+ }
815
+
816
+ function max(
817
+ gtUint32 a,
818
+ gtUint32 b,
819
+ uint256 uintParameter,
820
+ address addressParameter,
821
+ string calldata stringParameter
822
+ )
823
+ internal
824
+ onlyAllowedUserOperation("op_max", uintParameter, addressParameter, stringParameter)
825
+ returns (gtUint32)
826
+ {
827
+ return MpcCore.max(a, b);
828
+ }
829
+
830
+ function decrypt(
831
+ gtUint32 a,
832
+ uint256 uintParameter,
833
+ address addressParameter,
834
+ string calldata stringParameter
835
+ )
836
+ internal
837
+ onlyAllowedUserOperation("op_decrypt", uintParameter, addressParameter, stringParameter)
838
+ returns (uint32)
839
+ {
840
+ return MpcCore.decrypt(a);
841
+ }
842
+
843
+ function mux(
844
+ gtBool bit,
845
+ gtUint32 a,
846
+ gtUint32 b,
847
+ uint256 uintParameter,
848
+ address addressParameter,
849
+ string calldata stringParameter
850
+ )
851
+ internal
852
+ onlyAllowedUserOperation("op_mux", uintParameter, addressParameter, stringParameter)
853
+ returns (gtUint32)
854
+ {
855
+ return MpcCore.mux(bit, a, b);
856
+ }
857
+
858
+ // 64-bit operations
859
+
860
+ function add(
861
+ gtUint64 a,
862
+ gtUint64 b,
863
+ uint256 uintParameter,
864
+ address addressParameter,
865
+ string calldata stringParameter
866
+ )
867
+ internal
868
+ onlyAllowedUserOperation("op_add", uintParameter, addressParameter, stringParameter)
869
+ returns (gtUint64)
870
+ {
871
+ return MpcCore.add(a, b);
872
+ }
873
+
874
+ function sub(
875
+ gtUint64 a,
876
+ gtUint64 b,
877
+ uint256 uintParameter,
878
+ address addressParameter,
879
+ string calldata stringParameter
880
+ )
881
+ internal
882
+ onlyAllowedUserOperation("op_sub", uintParameter, addressParameter, stringParameter)
883
+ returns (gtUint64)
884
+ {
885
+ return MpcCore.sub(a, b);
886
+ }
887
+
888
+ function mul(
889
+ gtUint64 a,
890
+ gtUint64 b,
891
+ uint256 uintParameter,
892
+ address addressParameter,
893
+ string calldata stringParameter
894
+ )
895
+ internal
896
+ onlyAllowedUserOperation("op_mul", uintParameter, addressParameter, stringParameter)
897
+ returns (gtUint64)
898
+ {
899
+ return MpcCore.mul(a, b);
900
+ }
901
+
902
+ function div(
903
+ gtUint64 a,
904
+ gtUint64 b,
905
+ uint256 uintParameter,
906
+ address addressParameter,
907
+ string calldata stringParameter
908
+ )
909
+ internal
910
+ onlyAllowedUserOperation("op_div", uintParameter, addressParameter, stringParameter)
911
+ returns (gtUint64)
912
+ {
913
+ return MpcCore.div(a, b);
914
+ }
915
+
916
+ function rem(
917
+ gtUint64 a,
918
+ gtUint64 b,
919
+ uint256 uintParameter,
920
+ address addressParameter,
921
+ string calldata stringParameter
922
+ )
923
+ internal
924
+ onlyAllowedUserOperation("op_rem", uintParameter, addressParameter, stringParameter)
925
+ returns (gtUint64)
926
+ {
927
+ return MpcCore.rem(a, b);
928
+ }
929
+
930
+ function and(
931
+ gtUint64 a,
932
+ gtUint64 b,
933
+ uint256 uintParameter,
934
+ address addressParameter,
935
+ string calldata stringParameter
936
+ )
937
+ internal
938
+ onlyAllowedUserOperation("op_and", uintParameter, addressParameter, stringParameter)
939
+ returns (gtUint64)
940
+ {
941
+ return MpcCore.and(a, b);
942
+ }
943
+
944
+ function or(
945
+ gtUint64 a,
946
+ gtUint64 b,
947
+ uint256 uintParameter,
948
+ address addressParameter,
949
+ string calldata stringParameter
950
+ )
951
+ internal
952
+ onlyAllowedUserOperation("op_or", uintParameter, addressParameter, stringParameter)
953
+ returns (gtUint64)
954
+ {
955
+ return MpcCore.or(a, b);
956
+ }
957
+
958
+ function xor(
959
+ gtUint64 a,
960
+ gtUint64 b,
961
+ uint256 uintParameter,
962
+ address addressParameter,
963
+ string calldata stringParameter
964
+ )
965
+ internal
966
+ onlyAllowedUserOperation("op_xor", uintParameter, addressParameter, stringParameter)
967
+ returns (gtUint64)
968
+ {
969
+ return MpcCore.xor(a, b);
970
+ }
971
+
972
+ function shl(
973
+ gtUint64 a,
974
+ gtUint64 b,
975
+ uint256 uintParameter,
976
+ address addressParameter,
977
+ string calldata stringParameter
978
+ )
979
+ internal
980
+ onlyAllowedUserOperation("op_shl", uintParameter, addressParameter, stringParameter)
981
+ returns (gtUint64)
982
+ {
983
+ return MpcCore.shl(a, b);
984
+ }
985
+
986
+ function shr(
987
+ gtUint64 a,
988
+ gtUint64 b,
989
+ uint256 uintParameter,
990
+ address addressParameter,
991
+ string calldata stringParameter
992
+ )
993
+ internal
994
+ onlyAllowedUserOperation("op_shr", uintParameter, addressParameter, stringParameter)
995
+ returns (gtUint64)
996
+ {
997
+ return MpcCore.shr(a, b);
998
+ }
999
+
1000
+ function eq(
1001
+ gtUint64 a,
1002
+ gtUint64 b,
1003
+ uint256 uintParameter,
1004
+ address addressParameter,
1005
+ string calldata stringParameter
1006
+ )
1007
+ internal
1008
+ onlyAllowedUserOperation("op_eq", uintParameter, addressParameter, stringParameter)
1009
+ returns (gtBool)
1010
+ {
1011
+ return MpcCore.eq(a, b);
1012
+ }
1013
+
1014
+ function ne(
1015
+ gtUint64 a,
1016
+ gtUint64 b,
1017
+ uint256 uintParameter,
1018
+ address addressParameter,
1019
+ string calldata stringParameter
1020
+ )
1021
+ internal
1022
+ onlyAllowedUserOperation("op_ne", uintParameter, addressParameter, stringParameter)
1023
+ returns (gtBool)
1024
+ {
1025
+ return MpcCore.ne(a, b);
1026
+ }
1027
+
1028
+ function ge(
1029
+ gtUint64 a,
1030
+ gtUint64 b,
1031
+ uint256 uintParameter,
1032
+ address addressParameter,
1033
+ string calldata stringParameter
1034
+ )
1035
+ internal
1036
+ onlyAllowedUserOperation("op_ge", uintParameter, addressParameter, stringParameter)
1037
+ returns (gtBool)
1038
+ {
1039
+ return MpcCore.ge(a, b);
1040
+ }
1041
+
1042
+ function gt(
1043
+ gtUint64 a,
1044
+ gtUint64 b,
1045
+ uint256 uintParameter,
1046
+ address addressParameter,
1047
+ string calldata stringParameter
1048
+ )
1049
+ internal
1050
+ onlyAllowedUserOperation("op_gt", uintParameter, addressParameter, stringParameter)
1051
+ returns (gtBool)
1052
+ {
1053
+ return MpcCore.gt(a, b);
1054
+ }
1055
+
1056
+ function le(
1057
+ gtUint64 a,
1058
+ gtUint64 b,
1059
+ uint256 uintParameter,
1060
+ address addressParameter,
1061
+ string calldata stringParameter
1062
+ )
1063
+ internal
1064
+ onlyAllowedUserOperation("op_le", uintParameter, addressParameter, stringParameter)
1065
+ returns (gtBool)
1066
+ {
1067
+ return MpcCore.le(a, b);
1068
+ }
1069
+
1070
+ function lt(
1071
+ gtUint64 a,
1072
+ gtUint64 b,
1073
+ uint256 uintParameter,
1074
+ address addressParameter,
1075
+ string calldata stringParameter
1076
+ )
1077
+ internal
1078
+ onlyAllowedUserOperation("op_lt", uintParameter, addressParameter, stringParameter)
1079
+ returns (gtBool)
1080
+ {
1081
+ return MpcCore.lt(a, b);
1082
+ }
1083
+
1084
+ function min(
1085
+ gtUint64 a,
1086
+ gtUint64 b,
1087
+ uint256 uintParameter,
1088
+ address addressParameter,
1089
+ string calldata stringParameter
1090
+ )
1091
+ internal
1092
+ onlyAllowedUserOperation("op_min", uintParameter, addressParameter, stringParameter)
1093
+ returns (gtUint64)
1094
+ {
1095
+ return MpcCore.min(a, b);
1096
+ }
1097
+
1098
+ function max(
1099
+ gtUint64 a,
1100
+ gtUint64 b,
1101
+ uint256 uintParameter,
1102
+ address addressParameter,
1103
+ string calldata stringParameter
1104
+ )
1105
+ internal
1106
+ onlyAllowedUserOperation("op_max", uintParameter, addressParameter, stringParameter)
1107
+ returns (gtUint64)
1108
+ {
1109
+ return MpcCore.max(a, b);
1110
+ }
1111
+
1112
+ function decrypt(
1113
+ gtUint64 a,
1114
+ uint256 uintParameter,
1115
+ address addressParameter,
1116
+ string calldata stringParameter
1117
+ )
1118
+ internal
1119
+ onlyAllowedUserOperation("op_decrypt", uintParameter, addressParameter, stringParameter)
1120
+ returns (uint64)
1121
+ {
1122
+ return MpcCore.decrypt(a);
1123
+ }
1124
+
1125
+ function mux(
1126
+ gtBool bit,
1127
+ gtUint64 a,
1128
+ gtUint64 b,
1129
+ uint256 uintParameter,
1130
+ address addressParameter,
1131
+ string calldata stringParameter
1132
+ )
1133
+ internal
1134
+ onlyAllowedUserOperation("op_mux", uintParameter, addressParameter, stringParameter)
1135
+ returns (gtUint64)
1136
+ {
1137
+ return MpcCore.mux(bit, a, b);
1138
+ }
1139
+ }