@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.
- package/.github/workflows/npm-publish.yml +52 -0
- package/CODE_OF_CONDUCT.md +44 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +201 -0
- package/README.md +48 -0
- package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +480 -0
- package/contracts/access/DataPrivacyFramework/README.md +68 -0
- package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1139 -0
- package/contracts/mocks/README.md +5 -0
- package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +9 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +17 -0
- package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +34 -0
- package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +431 -0
- package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +361 -0
- package/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol +307 -0
- package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +307 -0
- package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +297 -0
- package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +185 -0
- package/contracts/mocks/utils/mpc/Miscellaneous2TestsContract.sol +448 -0
- package/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol +81 -0
- package/contracts/mocks/utils/mpc/README.md +486 -0
- package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +311 -0
- package/contracts/mocks/utils/mpc/StringTestsContract.sol +59 -0
- package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +271 -0
- package/contracts/mocks/utils/mpc/TransferTestsContract.sol +715 -0
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +25 -0
- package/contracts/onboard/AccountOnboard.sol +21 -0
- package/contracts/onboard/README.md +65 -0
- package/contracts/package.json +11 -0
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +142 -0
- package/contracts/token/PrivateERC20/PrivateERC20.sol +478 -0
- package/contracts/token/PrivateERC20/README.md +104 -0
- package/contracts/token/PrivateERC721/PrivateERC721.sol +458 -0
- package/contracts/token/PrivateERC721/README.md +282 -0
- package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +87 -0
- package/contracts/utils/mpc/MpcCore.sol +3215 -0
- package/contracts/utils/mpc/MpcInterface.sol +41 -0
- package/contracts/utils/mpc/README.md +82 -0
- package/hardhat.config.ts +18 -0
- package/package.json +14 -0
- package/test/access/DataPrivacyFramework/DataPrivacyFramework.test.ts +780 -0
- package/test/onboard/AccountOnboard.test.ts +45 -0
- package/test/token/PrivateERC20/PrivateERC20.test.ts +546 -0
- package/test/token/PrivateERC721/PrivateERC721.test.ts +223 -0
- package/test/utils/accounts.ts +55 -0
- package/test/utils/mpc/Precompile.test.ts +113 -0
- package/test/utils/mpc/String.test.ts +227 -0
- package/tsconfig.json +11 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +9 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC4906.ts +462 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.ts +393 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts +110 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts +94 -0
- package/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts +94 -0
- package/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
- package/typechain-types/@openzeppelin/index.ts +5 -0
- package/typechain-types/common.ts +131 -0
- package/typechain-types/contracts/access/DataPrivacyFramework/DataPrivacyFramework.ts +598 -0
- package/typechain-types/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.ts +598 -0
- package/typechain-types/contracts/access/DataPrivacyFramework/extensions/index.ts +4 -0
- package/typechain-types/contracts/access/DataPrivacyFramework/index.ts +6 -0
- package/typechain-types/contracts/access/index.ts +5 -0
- package/typechain-types/contracts/index.ts +13 -0
- package/typechain-types/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.ts +598 -0
- package/typechain-types/contracts/mocks/access/DataPrivacyFramework/index.ts +4 -0
- package/typechain-types/contracts/mocks/access/index.ts +5 -0
- package/typechain-types/contracts/mocks/index.ts +11 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +543 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +4 -0
- package/typechain-types/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.ts +576 -0
- package/typechain-types/contracts/mocks/token/PrivateERC721/index.ts +4 -0
- package/typechain-types/contracts/mocks/token/index.ts +7 -0
- package/typechain-types/contracts/mocks/utils/index.ts +5 -0
- package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.ts +354 -0
- package/typechain-types/contracts/mocks/utils/mpc/BitwiseTestsContract.ts +340 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/Comparison1TestsContract.ts +340 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/index.ts +4 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison2TestsContract.ts +340 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinMaxTestsContract.ts +321 -0
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.ts +199 -0
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous2TestsContract.ts +384 -0
- package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract.ts +218 -0
- package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/index.ts +4 -0
- package/typechain-types/contracts/mocks/utils/mpc/ShiftTestsContract.ts +339 -0
- package/typechain-types/contracts/mocks/utils/mpc/StringTestsContract.ts +211 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferScalarTestsContract.ts +266 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferTestsContract.ts +288 -0
- package/typechain-types/contracts/mocks/utils/mpc/index.ts +17 -0
- package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +173 -0
- package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/index.ts +4 -0
- package/typechain-types/contracts/mocks/wallet/index.ts +5 -0
- package/typechain-types/contracts/onboard/AccountOnboard.ts +135 -0
- package/typechain-types/contracts/onboard/index.ts +4 -0
- package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +437 -0
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +505 -0
- package/typechain-types/contracts/token/PrivateERC20/index.ts +5 -0
- package/typechain-types/contracts/token/PrivateERC721/PrivateERC721.ts +409 -0
- package/typechain-types/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.ts +501 -0
- package/typechain-types/contracts/token/PrivateERC721/extensions/index.ts +4 -0
- package/typechain-types/contracts/token/PrivateERC721/index.ts +6 -0
- package/typechain-types/contracts/token/index.ts +7 -0
- package/typechain-types/contracts/utils/index.ts +5 -0
- package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +698 -0
- package/typechain-types/contracts/utils/mpc/MpcInterface.sol/index.ts +4 -0
- package/typechain-types/contracts/utils/mpc/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC4906__factory.ts +339 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts +59 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +307 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts +41 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +41 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/index.ts +4 -0
- package/typechain-types/factories/contracts/access/DataPrivacyFramework/DataPrivacyFramework__factory.ts +621 -0
- package/typechain-types/factories/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc__factory.ts +621 -0
- package/typechain-types/factories/contracts/access/DataPrivacyFramework/extensions/index.ts +4 -0
- package/typechain-types/factories/contracts/access/DataPrivacyFramework/index.ts +5 -0
- package/typechain-types/factories/contracts/access/index.ts +4 -0
- package/typechain-types/factories/contracts/index.ts +8 -0
- package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +670 -0
- package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/access/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/index.ts +7 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +615 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +630 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC721/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/token/index.ts +5 -0
- package/typechain-types/factories/contracts/mocks/utils/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +374 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +361 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/Comparison1TestsContract__factory.ts +361 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +361 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +337 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +236 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous2TestsContract__factory.ts +432 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract__factory.ts +245 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +374 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +264 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +360 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +441 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +15 -0
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +194 -0
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/wallet/index.ts +4 -0
- package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +104 -0
- package/typechain-types/factories/contracts/onboard/index.ts +4 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +406 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +532 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +5 -0
- package/typechain-types/factories/contracts/token/PrivateERC721/PrivateERC721__factory.ts +439 -0
- package/typechain-types/factories/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage__factory.ts +512 -0
- package/typechain-types/factories/contracts/token/PrivateERC721/extensions/index.ts +4 -0
- package/typechain-types/factories/contracts/token/PrivateERC721/index.ts +5 -0
- package/typechain-types/factories/contracts/token/index.ts +5 -0
- package/typechain-types/factories/contracts/utils/index.ts +4 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +919 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/index.ts +4 -0
- package/typechain-types/factories/contracts/utils/mpc/index.ts +4 -0
- package/typechain-types/factories/index.ts +5 -0
- package/typechain-types/hardhat.d.ts +621 -0
- 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
|
+
}
|