@coti-io/coti-contracts 1.2.0 → 1.3.1

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 (481) hide show
  1. package/.github/workflows/npm-publish.yml +1 -1
  2. package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +1 -1
  3. package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1 -1
  4. package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +2 -4
  5. package/contracts/disperse/disperseToken/MintDisperser.sol +1 -3
  6. package/contracts/disperse/disperseToken/TokenDisperser.sol +1 -1
  7. package/contracts/messaging/PrivateMessaging.sol +456 -0
  8. package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +1 -1
  9. package/contracts/mocks/messaging/PrivateMessagingHarness.sol +54 -0
  10. package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +31 -0
  11. package/contracts/mocks/token/ERC20DecimalsMock.sol +21 -0
  12. package/contracts/mocks/token/ERC20Mock.sol +1 -1
  13. package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +1 -1
  14. package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +9 -4
  15. package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +1 -1
  16. package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +1 -1
  17. package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +1 -1
  18. package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +1 -1
  19. package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +1 -1
  20. package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +1 -1
  21. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +1 -1
  22. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +1 -1
  23. package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +1 -1
  24. package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +1 -1
  25. package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +1 -1
  26. package/contracts/mocks/utils/mpc/ArithmeticAddTestsContract.sol +196 -0
  27. package/contracts/mocks/utils/mpc/ArithmeticMulTestsContract.sol +194 -0
  28. package/contracts/mocks/utils/mpc/ArithmeticSigned128TestsContract.sol +63 -0
  29. package/contracts/mocks/utils/mpc/ArithmeticSigned256TestsContract.sol +107 -0
  30. package/contracts/mocks/utils/mpc/ArithmeticSignedNarrowTestsContract.sol +123 -0
  31. package/contracts/mocks/utils/mpc/ArithmeticSubTestsContract.sol +196 -0
  32. package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +1 -1
  33. package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +1 -1
  34. package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +1 -1
  35. package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +1 -1
  36. package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +1 -1
  37. package/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol +1 -1
  38. package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +1 -1
  39. package/contracts/mocks/utils/mpc/Comparison1TestsContract.sol +1 -1
  40. package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +1 -1
  41. package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +1 -1
  42. package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +1 -1
  43. package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +1 -1
  44. package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +1 -1
  45. package/contracts/mocks/utils/mpc/MinimalImplementation.sol +1 -1
  46. package/contracts/mocks/utils/mpc/MinimalProxy.sol +1 -1
  47. package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +1 -1
  48. package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +1 -1
  49. package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +1 -1
  50. package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +4 -4
  51. package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +1 -1
  52. package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +1 -1
  53. package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +1 -1
  54. package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +1 -1
  55. package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +1 -1
  56. package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +1 -1
  57. package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +1 -1
  58. package/contracts/mocks/utils/mpc/PrivacyProxy.sol +1 -1
  59. package/contracts/mocks/utils/mpc/Random128TestsContract.sol +1 -1
  60. package/contracts/mocks/utils/mpc/Random256TestsContract.sol +1 -1
  61. package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +1 -1
  62. package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +1 -1
  63. package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +1 -1
  64. package/contracts/mocks/utils/mpc/StringTestsContract.sol +1 -1
  65. package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +1 -1
  66. package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +1 -1
  67. package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +1 -1
  68. package/contracts/mocks/utils/mpc/TransferTestsContract.sol +1 -1
  69. package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +1 -1
  70. package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +1 -1
  71. package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +1 -1
  72. package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +1 -1
  73. package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +1 -1
  74. package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +1 -1
  75. package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +1 -1
  76. package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +1 -1
  77. package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +1 -1
  78. package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +2 -2
  79. package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +1 -1
  80. package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +1 -1
  81. package/contracts/node/CotiNodeRewards.sol +3 -3
  82. package/contracts/node/SoulboundNodeNFT.sol +23 -24
  83. package/contracts/onboard/AccountOnboard.sol +1 -1
  84. package/contracts/oracle/CotiPriceConsumer.sol +103 -0
  85. package/contracts/oracle/ICotiPriceConsumer.sol +15 -0
  86. package/contracts/oracle/IStdReference.sol +26 -0
  87. package/contracts/pod/IInbox.sol +231 -0
  88. package/contracts/pod/IInboxMiner.sol +53 -0
  89. package/contracts/pod/InboxUser.sol +29 -0
  90. package/contracts/pod/InboxUserCotiTestnet.sol +13 -0
  91. package/contracts/pod/PodNetworkConstants.sol +30 -0
  92. package/contracts/pod/examples/MpcAdder.sol +57 -0
  93. package/contracts/pod/examples/MpcAdderPausable.sol +25 -0
  94. package/contracts/pod/examples/MpcAdderPausable.sol.bak +25 -0
  95. package/contracts/pod/examples/it128/PodAdder128.sol +48 -0
  96. package/contracts/pod/examples/it256/PodAdder256.sol +48 -0
  97. package/contracts/pod/fee/IInboxFeeManager.sol +40 -0
  98. package/contracts/pod/manifest.json +52 -0
  99. package/contracts/pod/mpc/PodLib.sol +10 -0
  100. package/contracts/pod/mpc/PodLib128.sol +361 -0
  101. package/contracts/pod/mpc/PodLib256.sol +361 -0
  102. package/contracts/pod/mpc/PodLib64.sol +385 -0
  103. package/contracts/pod/mpc/PodLibBase.sol +72 -0
  104. package/contracts/pod/mpc/PodUser.sol +58 -0
  105. package/contracts/pod/mpc/PodUserFuji.sol +14 -0
  106. package/contracts/pod/mpc/PodUserSepolia.sol +13 -0
  107. package/contracts/pod/mpc/coti-side/IPodExecutorOps.sol +99 -0
  108. package/contracts/pod/mpccodec/MpcAbiCodec.sol +482 -0
  109. package/contracts/pod/privacy/IPodPriceOracle.sol +20 -0
  110. package/contracts/pod/privacy/IPrivacyPortal.sol +248 -0
  111. package/contracts/pod/privacy/IPrivacyPortalFactory.sol +88 -0
  112. package/contracts/pod/privacy/PortalFeeOracle.sol +51 -0
  113. package/contracts/pod/privacy/PrivacyPortal.sol +871 -0
  114. package/contracts/pod/privacy/PrivacyPortalFactory.sol +492 -0
  115. package/contracts/pod/privacy/PrivacyPortalFeeLib.sol +98 -0
  116. package/contracts/pod/privacy/mocks/CloneHelper.sol +14 -0
  117. package/contracts/pod/privacy/mocks/MockERC20.sol +26 -0
  118. package/contracts/pod/privacy/mocks/MockPodERC20ForPortal.sol +160 -0
  119. package/contracts/pod/privacy/mocks/MockPrivacyPortalFactory.sol +125 -0
  120. package/contracts/pod/privacy/mocks/MockWrappedNative.sol +24 -0
  121. package/contracts/pod/token/erc7984/Erc7984Constants.sol +9 -0
  122. package/contracts/pod/token/erc7984/Erc7984Pointers.sol +29 -0
  123. package/contracts/pod/token/erc7984/IERC7984.sol +69 -0
  124. package/contracts/pod/token/erc7984/IERC7984PortalWrapper.sol +31 -0
  125. package/contracts/pod/token/erc7984/PodErc7984Mixin.sol +125 -0
  126. package/contracts/pod/token/erc7984/README.md +60 -0
  127. package/contracts/pod/token/perc20/IPodERC20.sol +298 -0
  128. package/contracts/pod/token/perc20/PodERC20.sol +1021 -0
  129. package/contracts/pod/token/perc20/PodErc20Mintable.sol +88 -0
  130. package/contracts/pod/token/perc20/PodErc20MintableInitializable.sol +42 -0
  131. package/contracts/pod/token/perc20/cotiside/IPodErc20CotiSide.sol +88 -0
  132. package/contracts/pod/token/perc20/cotiside/PodErc20CotiMother.sol +529 -0
  133. package/contracts/pod/utils/IWrappedNative.sol +11 -0
  134. package/contracts/privacyBridge/PrivacyBridge.sol +376 -94
  135. package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +210 -162
  136. package/contracts/privacyBridge/PrivacyBridgeERC20.sol +242 -160
  137. package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +8 -2
  138. package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +8 -2
  139. package/contracts/privacyBridge/PrivacyBridgeWADA.sol +8 -2
  140. package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +8 -2
  141. package/contracts/privacyBridge/PrivacyBridgeWETH.sol +8 -2
  142. package/contracts/privacyBridge/PrivacyBridgegCoti.sol +8 -2
  143. package/contracts/token/PrivateERC20/IPrivateERC20.sol +1 -1
  144. package/contracts/token/PrivateERC20/ITokenReceiver.sol +1 -1
  145. package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +1 -1
  146. package/contracts/token/PrivateERC20/PrivateERC20.sol +5 -5
  147. package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +1 -1
  148. package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +1 -1
  149. package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +1 -1
  150. package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +1 -1
  151. package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +1 -1
  152. package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +1 -1
  153. package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +1 -1
  154. package/contracts/token/PrivateERC721/IERC721Errors.sol +1 -1
  155. package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
  156. package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +1 -1
  157. package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +1 -1
  158. package/contracts/token/points/CotiTokenPoints004.sol +43 -0
  159. package/contracts/utils/mpc/MpcCore.sol +610 -1
  160. package/contracts/utils/mpc/MpcInterface.sol +1 -1
  161. package/hardhat.config.ts +9 -15
  162. package/package.json +4 -4
  163. package/scripts/add-bridge-operators.cjs +87 -0
  164. package/scripts/deploy-coti-price-consumer-mainnet.cjs +49 -0
  165. package/scripts/deployCotiNodeRewards.ts +51 -0
  166. package/scripts/deployCotiTokenPoints004.ts +61 -0
  167. package/scripts/deployFixedRatioCoinDisperserUnlimitedWindow.ts +68 -0
  168. package/scripts/redeploy-private-and-bridges.cjs +201 -0
  169. package/scripts/set-bridge-limits-mainnet.cjs +177 -0
  170. package/scripts/verify-mainnet-private-bridges.cjs +289 -0
  171. package/scripts/verifyCotiTokenPoints004.ts +123 -0
  172. package/scripts/verifyFixedRatioCoinDisperserUnlimitedWindow.ts +112 -0
  173. package/sonar-project.properties +11 -0
  174. package/test/messaging/PrivateMessaging.test.ts +158 -0
  175. package/test/pod/privacy/PrivacyPortal.access.test.ts +756 -0
  176. package/test/pod/privacy/PrivacyPortal.recovery.test.ts +263 -0
  177. package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +1665 -0
  178. package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +162 -239
  179. package/test/utils/mpc/CheckedSignedArithmetic256.test.ts +163 -0
  180. package/test/utils/mpc/NegativeCases.test.ts +3 -3
  181. package/test/utils/mpc/Precompile.test.ts +6 -6
  182. package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +324 -0
  183. package/typechain-types/@openzeppelin/contracts/access/AccessControlEnumerable.ts +361 -0
  184. package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +292 -0
  185. package/typechain-types/@openzeppelin/contracts/access/IAccessControlEnumerable.ts +329 -0
  186. package/typechain-types/@openzeppelin/contracts/access/extensions/AccessControlEnumerable.ts +375 -0
  187. package/typechain-types/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable.ts +329 -0
  188. package/typechain-types/@openzeppelin/contracts/access/extensions/index.ts +5 -0
  189. package/typechain-types/@openzeppelin/contracts/access/index.ts +6 -0
  190. package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
  191. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.ts +412 -0
  192. package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
  193. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
  194. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
  195. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
  196. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  197. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +4 -0
  198. package/typechain-types/@openzeppelin/contracts/security/Pausable.ts +150 -0
  199. package/typechain-types/@openzeppelin/contracts/security/index.ts +4 -0
  200. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +286 -0
  201. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +6 -6
  202. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +313 -0
  203. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.ts +356 -0
  204. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.ts +423 -0
  205. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +286 -0
  206. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  207. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +3 -0
  208. package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.ts +69 -0
  209. package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
  210. package/typechain-types/@openzeppelin/contracts/token/ERC721/ERC721.ts +420 -0
  211. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +420 -0
  212. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  213. package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +3 -0
  214. package/typechain-types/@openzeppelin/contracts/utils/Nonces.ts +85 -0
  215. package/typechain-types/@openzeppelin/contracts/utils/Pausable.ts +150 -0
  216. package/typechain-types/@openzeppelin/contracts/utils/ReentrancyGuard.ts +69 -0
  217. package/typechain-types/@openzeppelin/contracts/utils/ShortStrings.ts +69 -0
  218. package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
  219. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
  220. package/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.ts +151 -0
  221. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  222. package/typechain-types/@openzeppelin/contracts/utils/index.ts +9 -0
  223. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  224. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  225. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.ts +735 -0
  226. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.ts +734 -0
  227. package/typechain-types/contracts/disperse/coinByRatio/index.ts +2 -0
  228. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable.ts +95 -0
  229. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +22 -0
  230. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
  231. package/typechain-types/contracts/index.ts +8 -0
  232. package/typechain-types/contracts/messaging/PrivateMessaging.ts +871 -0
  233. package/typechain-types/contracts/messaging/index.ts +4 -0
  234. package/typechain-types/contracts/mocks/index.ts +4 -0
  235. package/typechain-types/contracts/mocks/messaging/PrivateMessagingHarness.ts +951 -0
  236. package/typechain-types/contracts/mocks/messaging/index.ts +4 -0
  237. package/typechain-types/contracts/mocks/oracle/CotiPriceConsumerMock.ts +163 -0
  238. package/typechain-types/contracts/mocks/oracle/index.ts +4 -0
  239. package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +305 -0
  240. package/typechain-types/contracts/mocks/token/ERC20Mock.ts +324 -0
  241. package/typechain-types/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.ts +108 -0
  242. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +1906 -0
  243. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +1296 -0
  244. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +1270 -0
  245. package/typechain-types/contracts/mocks/{utils/mpc/Bitwise128BitTestsContract.ts → token/PrivateERC20/PrivateERC20GtCallerMock.ts} +47 -67
  246. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +757 -25
  247. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted.ts +102 -0
  248. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock.ts +154 -0
  249. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  250. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.ts +155 -0
  251. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.ts +107 -0
  252. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.ts +100 -0
  253. package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +10 -0
  254. package/typechain-types/contracts/mocks/token/index.ts +2 -0
  255. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +6 -6
  256. package/typechain-types/contracts/node/CotiNodeRewards.ts +566 -0
  257. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/IERC5192.ts +123 -0
  258. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT.ts +975 -0
  259. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  260. package/typechain-types/contracts/node/index.ts +6 -0
  261. package/typechain-types/contracts/oracle/CotiPriceConsumer.ts +256 -0
  262. package/typechain-types/contracts/oracle/ICotiPriceConsumer.ts +119 -0
  263. package/typechain-types/contracts/oracle/IStdReference.ts +136 -0
  264. package/typechain-types/contracts/oracle/index.ts +6 -0
  265. package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +1642 -0
  266. package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +1884 -0
  267. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals.ts +84 -0
  268. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +1906 -0
  269. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  270. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +1906 -0
  271. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +1906 -0
  272. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +1906 -0
  273. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +1906 -0
  274. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +1906 -0
  275. package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +1906 -0
  276. package/typechain-types/contracts/privacyBridge/index.ts +13 -0
  277. package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +439 -19
  278. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiver.ts +100 -0
  279. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiverEncrypted.ts +99 -0
  280. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +763 -15
  281. package/typechain-types/contracts/token/PrivateERC20/index.ts +4 -0
  282. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +1270 -0
  283. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +1270 -0
  284. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +1270 -0
  285. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +1270 -0
  286. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +1270 -0
  287. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +1270 -0
  288. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +1270 -0
  289. package/typechain-types/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  290. package/typechain-types/contracts/token/index.ts +2 -0
  291. package/typechain-types/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004.ts +826 -0
  292. package/typechain-types/contracts/token/points/CotiTokenPoints004.ts +826 -0
  293. package/typechain-types/contracts/token/points/index.ts +4 -0
  294. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControlEnumerable__factory.ts +276 -0
  295. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +250 -0
  296. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControlEnumerable__factory.ts +244 -0
  297. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +218 -0
  298. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +22 -0
  299. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/AccessControlEnumerable__factory.ts +316 -0
  300. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory.ts +265 -0
  301. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/index.ts +5 -0
  302. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
  303. package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
  304. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.ts +393 -0
  305. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
  306. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
  307. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
  308. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
  309. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  310. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +3 -0
  311. package/typechain-types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +61 -0
  312. package/typechain-types/factories/@openzeppelin/contracts/security/index.ts +4 -0
  313. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +330 -0
  314. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +3 -3
  315. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +364 -0
  316. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory.ts +382 -0
  317. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory.ts +540 -0
  318. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +247 -0
  319. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  320. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +2 -0
  321. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.ts +96 -0
  322. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
  323. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +455 -0
  324. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +355 -0
  325. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  326. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +2 -0
  327. package/typechain-types/factories/@openzeppelin/contracts/utils/Nonces__factory.ts +57 -0
  328. package/typechain-types/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +71 -0
  329. package/typechain-types/factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory.ts +30 -0
  330. package/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.ts +83 -0
  331. package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
  332. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
  333. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.ts +87 -0
  334. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  335. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
  336. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  337. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  338. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +802 -0
  339. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +749 -0
  340. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +12 -1
  341. package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +2 -0
  342. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable__factory.ts +35 -0
  343. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +41 -1
  344. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
  345. package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +12 -1
  346. package/typechain-types/factories/contracts/index.ts +4 -0
  347. package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1035 -0
  348. package/typechain-types/factories/contracts/messaging/index.ts +4 -0
  349. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
  350. package/typechain-types/factories/contracts/mocks/index.ts +2 -0
  351. package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1161 -0
  352. package/typechain-types/factories/contracts/mocks/messaging/index.ts +4 -0
  353. package/typechain-types/factories/contracts/mocks/oracle/CotiPriceConsumerMock__factory.ts +159 -0
  354. package/typechain-types/factories/contracts/mocks/oracle/index.ts +4 -0
  355. package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +432 -0
  356. package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +430 -0
  357. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock__factory.ts +125 -0
  358. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +1885 -0
  359. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +1540 -0
  360. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +1492 -0
  361. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +165 -0
  362. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +794 -52
  363. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted__factory.ts +54 -0
  364. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock__factory.ts +159 -0
  365. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  366. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock__factory.ts +164 -0
  367. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock__factory.ts +130 -0
  368. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock__factory.ts +102 -0
  369. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +9 -0
  370. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  371. package/typechain-types/factories/contracts/mocks/token/index.ts +2 -0
  372. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
  373. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
  374. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  375. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
  376. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
  377. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  378. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
  379. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
  380. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
  381. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +1 -1
  382. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  383. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
  384. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  385. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
  386. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
  387. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  388. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
  389. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +1 -1
  390. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  391. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  392. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +1 -1
  393. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
  394. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
  395. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
  396. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  397. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
  398. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
  399. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
  400. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
  401. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +1 -1
  402. package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
  403. package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
  404. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
  405. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
  406. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  407. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  408. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +1 -1
  409. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
  410. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  411. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  412. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +1 -1
  413. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
  414. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  415. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  416. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  417. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  418. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  419. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  420. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +1 -1
  421. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
  422. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
  423. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +4 -22
  424. package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +576 -0
  425. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/IERC5192__factory.ts +54 -0
  426. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +1072 -0
  427. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  428. package/typechain-types/factories/contracts/node/index.ts +5 -0
  429. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  430. package/typechain-types/factories/contracts/oracle/CotiPriceConsumer__factory.ts +295 -0
  431. package/typechain-types/factories/contracts/oracle/ICotiPriceConsumer__factory.ts +73 -0
  432. package/typechain-types/factories/contracts/oracle/IStdReference__factory.ts +107 -0
  433. package/typechain-types/factories/contracts/oracle/index.ts +6 -0
  434. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +1753 -0
  435. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals__factory.ts +38 -0
  436. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +1766 -0
  437. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  438. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +1870 -0
  439. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +1870 -0
  440. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +1870 -0
  441. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +1870 -0
  442. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +1870 -0
  443. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +1444 -0
  444. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +1870 -0
  445. package/typechain-types/factories/contracts/privacyBridge/index.ts +12 -0
  446. package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +481 -35
  447. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiverEncrypted__factory.ts +53 -0
  448. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiver__factory.ts +54 -0
  449. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +812 -52
  450. package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +3 -0
  451. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +1471 -0
  452. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +1477 -0
  453. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +1468 -0
  454. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +1471 -0
  455. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +1471 -0
  456. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +1471 -0
  457. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +1477 -0
  458. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  459. package/typechain-types/factories/contracts/token/index.ts +1 -0
  460. package/typechain-types/factories/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004__factory.ts +992 -0
  461. package/typechain-types/factories/contracts/token/points/CotiTokenPoints004__factory.ts +992 -0
  462. package/typechain-types/factories/contracts/token/points/index.ts +4 -0
  463. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  464. package/typechain-types/hardhat.d.ts +1414 -118
  465. package/typechain-types/index.ts +138 -2
  466. package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +0 -408
  467. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +0 -341
  468. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +0 -347
  469. package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +0 -186
  470. package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +0 -260
  471. package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +0 -260
  472. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +0 -302
  473. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +0 -322
  474. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +0 -349
  475. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +0 -364
  476. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +0 -182
  477. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +0 -182
  478. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +0 -255
  479. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +0 -255
  480. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +0 -332
  481. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +0 -380
@@ -6,38 +6,124 @@ export type { openzeppelin };
6
6
  import type * as contracts from "./contracts";
7
7
  export type { contracts };
8
8
  export * as factories from "./factories";
9
+ export type { AccessControl } from "./@openzeppelin/contracts/access/AccessControl";
10
+ export { AccessControl__factory } from "./factories/@openzeppelin/contracts/access/AccessControl__factory";
11
+ export type { AccessControlEnumerable } from "./@openzeppelin/contracts/access/AccessControlEnumerable";
12
+ export { AccessControlEnumerable__factory } from "./factories/@openzeppelin/contracts/access/AccessControlEnumerable__factory";
13
+ export type { IAccessControlEnumerable } from "./@openzeppelin/contracts/access/extensions/IAccessControlEnumerable";
14
+ export { IAccessControlEnumerable__factory } from "./factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory";
15
+ export type { IAccessControl } from "./@openzeppelin/contracts/access/IAccessControl";
16
+ export { IAccessControl__factory } from "./factories/@openzeppelin/contracts/access/IAccessControl__factory";
9
17
  export type { Ownable } from "./@openzeppelin/contracts/access/Ownable";
10
18
  export { Ownable__factory } from "./factories/@openzeppelin/contracts/access/Ownable__factory";
19
+ export type { IERC1155Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors";
20
+ export { IERC1155Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory";
21
+ export type { IERC20Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors";
22
+ export { IERC20Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory";
23
+ export type { IERC721Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors";
24
+ export { IERC721Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory";
25
+ export type { IERC1363 } from "./@openzeppelin/contracts/interfaces/IERC1363";
26
+ export { IERC1363__factory } from "./factories/@openzeppelin/contracts/interfaces/IERC1363__factory";
11
27
  export type { IERC4906 } from "./@openzeppelin/contracts/interfaces/IERC4906";
12
28
  export { IERC4906__factory } from "./factories/@openzeppelin/contracts/interfaces/IERC4906__factory";
29
+ export type { IERC5267 } from "./@openzeppelin/contracts/interfaces/IERC5267";
30
+ export { IERC5267__factory } from "./factories/@openzeppelin/contracts/interfaces/IERC5267__factory";
31
+ export type { Pausable } from "./@openzeppelin/contracts/security/Pausable";
32
+ export { Pausable__factory } from "./factories/@openzeppelin/contracts/security/Pausable__factory";
33
+ export type { ERC20 } from "./@openzeppelin/contracts/token/ERC20/ERC20";
34
+ export { ERC20__factory } from "./factories/@openzeppelin/contracts/token/ERC20/ERC20__factory";
35
+ export type { ERC20Burnable } from "./@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable";
36
+ export { ERC20Burnable__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory";
37
+ export type { ERC20Pausable } from "./@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable";
38
+ export { ERC20Pausable__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory";
39
+ export type { ERC20Permit } from "./@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit";
40
+ export { ERC20Permit__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory";
41
+ export type { IERC20Metadata } from "./@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata";
42
+ export { IERC20Metadata__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory";
13
43
  export type { IERC20Permit } from "./@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit";
14
44
  export { IERC20Permit__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit__factory";
15
45
  export type { IERC20 } from "./@openzeppelin/contracts/token/ERC20/IERC20";
16
46
  export { IERC20__factory } from "./factories/@openzeppelin/contracts/token/ERC20/IERC20__factory";
47
+ export type { SafeERC20 } from "./@openzeppelin/contracts/token/ERC20/utils/SafeERC20";
48
+ export { SafeERC20__factory } from "./factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory";
49
+ export type { ERC721 } from "./@openzeppelin/contracts/token/ERC721/ERC721";
50
+ export { ERC721__factory } from "./factories/@openzeppelin/contracts/token/ERC721/ERC721__factory";
51
+ export type { IERC721Metadata } from "./@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata";
52
+ export { IERC721Metadata__factory } from "./factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory";
17
53
  export type { IERC721 } from "./@openzeppelin/contracts/token/ERC721/IERC721";
18
54
  export { IERC721__factory } from "./factories/@openzeppelin/contracts/token/ERC721/IERC721__factory";
19
55
  export type { IERC721Receiver } from "./@openzeppelin/contracts/token/ERC721/IERC721Receiver";
20
56
  export { IERC721Receiver__factory } from "./factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory";
57
+ export type { ECDSA } from "./@openzeppelin/contracts/utils/cryptography/ECDSA";
58
+ export { ECDSA__factory } from "./factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory";
59
+ export type { EIP712 } from "./@openzeppelin/contracts/utils/cryptography/EIP712";
60
+ export { EIP712__factory } from "./factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory";
21
61
  export type { ERC165 } from "./@openzeppelin/contracts/utils/introspection/ERC165";
22
62
  export { ERC165__factory } from "./factories/@openzeppelin/contracts/utils/introspection/ERC165__factory";
23
63
  export type { IERC165 } from "./@openzeppelin/contracts/utils/introspection/IERC165";
24
64
  export { IERC165__factory } from "./factories/@openzeppelin/contracts/utils/introspection/IERC165__factory";
65
+ export type { SafeCast } from "./@openzeppelin/contracts/utils/math/SafeCast";
66
+ export { SafeCast__factory } from "./factories/@openzeppelin/contracts/utils/math/SafeCast__factory";
67
+ export type { Nonces } from "./@openzeppelin/contracts/utils/Nonces";
68
+ export { Nonces__factory } from "./factories/@openzeppelin/contracts/utils/Nonces__factory";
69
+ export type { ReentrancyGuard } from "./@openzeppelin/contracts/utils/ReentrancyGuard";
70
+ export { ReentrancyGuard__factory } from "./factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory";
71
+ export type { ShortStrings } from "./@openzeppelin/contracts/utils/ShortStrings";
72
+ export { ShortStrings__factory } from "./factories/@openzeppelin/contracts/utils/ShortStrings__factory";
73
+ export type { Strings } from "./@openzeppelin/contracts/utils/Strings";
74
+ export { Strings__factory } from "./factories/@openzeppelin/contracts/utils/Strings__factory";
25
75
  export type { DataPrivacyFramework } from "./contracts/access/DataPrivacyFramework/DataPrivacyFramework";
26
76
  export { DataPrivacyFramework__factory } from "./factories/contracts/access/DataPrivacyFramework/DataPrivacyFramework__factory";
27
77
  export type { DataPrivacyFrameworkMpc } from "./contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc";
28
78
  export { DataPrivacyFrameworkMpc__factory } from "./factories/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc__factory";
29
79
  export type { FixedRatioCoinDisperser } from "./contracts/disperse/coinByRatio/FixedRatioCoinDisperser";
30
80
  export { FixedRatioCoinDisperser__factory } from "./factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory";
81
+ export type { FixedRatioCoinDisperserLeftoverS1 } from "./contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1";
82
+ export { FixedRatioCoinDisperserLeftoverS1__factory } from "./factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory";
83
+ export type { FixedRatioCoinDisperserUnlimitedWindow } from "./contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow";
84
+ export { FixedRatioCoinDisperserUnlimitedWindow__factory } from "./factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory";
31
85
  export type { IMintableERC20 } from "./contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20";
32
86
  export { IMintableERC20__factory } from "./factories/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20__factory";
87
+ export type { IOwnable } from "./contracts/disperse/disperseToken/MintDisperser.sol/IOwnable";
88
+ export { IOwnable__factory } from "./factories/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable__factory";
33
89
  export type { MintDisperser } from "./contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser";
34
90
  export { MintDisperser__factory } from "./factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory";
35
91
  export type { TokenDisperser } from "./contracts/disperse/disperseToken/TokenDisperser";
36
92
  export { TokenDisperser__factory } from "./factories/contracts/disperse/disperseToken/TokenDisperser__factory";
93
+ export type { PrivateMessaging } from "./contracts/messaging/PrivateMessaging";
94
+ export { PrivateMessaging__factory } from "./factories/contracts/messaging/PrivateMessaging__factory";
37
95
  export type { DataPrivacyFrameworkMock } from "./contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock";
38
96
  export { DataPrivacyFrameworkMock__factory } from "./factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory";
97
+ export type { PrivateMessagingHarness } from "./contracts/mocks/messaging/PrivateMessagingHarness";
98
+ export { PrivateMessagingHarness__factory } from "./factories/contracts/mocks/messaging/PrivateMessagingHarness__factory";
99
+ export type { CotiPriceConsumerMock } from "./contracts/mocks/oracle/CotiPriceConsumerMock";
100
+ export { CotiPriceConsumerMock__factory } from "./factories/contracts/mocks/oracle/CotiPriceConsumerMock__factory";
101
+ export type { ERC20DecimalsMock } from "./contracts/mocks/token/ERC20DecimalsMock";
102
+ export { ERC20DecimalsMock__factory } from "./factories/contracts/mocks/token/ERC20DecimalsMock__factory";
103
+ export type { ERC20Mock } from "./contracts/mocks/token/ERC20Mock";
104
+ export { ERC20Mock__factory } from "./factories/contracts/mocks/token/ERC20Mock__factory";
105
+ export type { EncryptedTokenReceiverMock } from "./contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock";
106
+ export { EncryptedTokenReceiverMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock__factory";
107
+ export type { PrivacyBridgeERC20Mock } from "./contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock";
108
+ export { PrivacyBridgeERC20Mock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory";
109
+ export type { PrivateERC20AuditorSupplyMock } from "./contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock";
110
+ export { PrivateERC20AuditorSupplyMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory";
111
+ export type { PrivateERC20CappedMock } from "./contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock";
112
+ export { PrivateERC20CappedMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory";
113
+ export type { PrivateERC20GtCallerMock } from "./contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock";
114
+ export { PrivateERC20GtCallerMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory";
39
115
  export type { PrivateERC20Mock } from "./contracts/mocks/token/PrivateERC20/PrivateERC20Mock";
40
116
  export { PrivateERC20Mock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory";
117
+ export type { IPrivateERC20TransferAndCallEncrypted } from "./contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted";
118
+ export { IPrivateERC20TransferAndCallEncrypted__factory } from "./factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted__factory";
119
+ export type { PrivateERC20ReentrantReceiverMock } from "./contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock";
120
+ export { PrivateERC20ReentrantReceiverMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock__factory";
121
+ export type { PublicReentrantTokenReceiverMock } from "./contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock";
122
+ export { PublicReentrantTokenReceiverMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock__factory";
123
+ export type { PublicTokenReceiverBoolMock } from "./contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock";
124
+ export { PublicTokenReceiverBoolMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock__factory";
125
+ export type { PublicTokenReceiverMock } from "./contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock";
126
+ export { PublicTokenReceiverMock__factory } from "./factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock__factory";
41
127
  export type { PrivateERC721URIStorageMock } from "./contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock";
42
128
  export { PrivateERC721URIStorageMock__factory } from "./factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory";
43
129
  export type { Arithmetic128TestsContract } from "./contracts/mocks/utils/mpc/Arithmetic128TestsContract";
@@ -144,18 +230,68 @@ export type { ValidateCiphertextTestsContract } from "./contracts/mocks/utils/mp
144
230
  export { ValidateCiphertextTestsContract__factory } from "./factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory";
145
231
  export type { PrivateERC20WalletMock } from "./contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock";
146
232
  export { PrivateERC20WalletMock__factory } from "./factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory";
233
+ export type { CotiNodeRewards } from "./contracts/node/CotiNodeRewards";
234
+ export { CotiNodeRewards__factory } from "./factories/contracts/node/CotiNodeRewards__factory";
235
+ export type { IERC5192 } from "./contracts/node/SoulboundNodeNFT.sol/IERC5192";
236
+ export { IERC5192__factory } from "./factories/contracts/node/SoulboundNodeNFT.sol/IERC5192__factory";
237
+ export type { SoulboundNodeNFT } from "./contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT";
238
+ export { SoulboundNodeNFT__factory } from "./factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory";
147
239
  export type { AccountOnboard } from "./contracts/onboard/AccountOnboard";
148
240
  export { AccountOnboard__factory } from "./factories/contracts/onboard/AccountOnboard__factory";
241
+ export type { CotiPriceConsumer } from "./contracts/oracle/CotiPriceConsumer";
242
+ export { CotiPriceConsumer__factory } from "./factories/contracts/oracle/CotiPriceConsumer__factory";
243
+ export type { ICotiPriceConsumer } from "./contracts/oracle/ICotiPriceConsumer";
244
+ export { ICotiPriceConsumer__factory } from "./factories/contracts/oracle/ICotiPriceConsumer__factory";
245
+ export type { IStdReference } from "./contracts/oracle/IStdReference";
246
+ export { IStdReference__factory } from "./factories/contracts/oracle/IStdReference__factory";
247
+ export type { PrivacyBridge } from "./contracts/privacyBridge/PrivacyBridge";
248
+ export { PrivacyBridge__factory } from "./factories/contracts/privacyBridge/PrivacyBridge__factory";
249
+ export type { PrivacyBridgeCotiNative } from "./contracts/privacyBridge/PrivacyBridgeCotiNative";
250
+ export { PrivacyBridgeCotiNative__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory";
251
+ export type { IHasDecimals } from "./contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals";
252
+ export { IHasDecimals__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals__factory";
253
+ export type { PrivacyBridgeERC20 } from "./contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20";
254
+ export { PrivacyBridgeERC20__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory";
255
+ export type { PrivacyBridgegCoti } from "./contracts/privacyBridge/PrivacyBridgegCoti";
256
+ export { PrivacyBridgegCoti__factory } from "./factories/contracts/privacyBridge/PrivacyBridgegCoti__factory";
257
+ export type { PrivacyBridgeUSDCe } from "./contracts/privacyBridge/PrivacyBridgeUSDCe";
258
+ export { PrivacyBridgeUSDCe__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory";
259
+ export type { PrivacyBridgeUSDT } from "./contracts/privacyBridge/PrivacyBridgeUSDT";
260
+ export { PrivacyBridgeUSDT__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory";
261
+ export type { PrivacyBridgeWADA } from "./contracts/privacyBridge/PrivacyBridgeWADA";
262
+ export { PrivacyBridgeWADA__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeWADA__factory";
263
+ export type { PrivacyBridgeWBTC } from "./contracts/privacyBridge/PrivacyBridgeWBTC";
264
+ export { PrivacyBridgeWBTC__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory";
265
+ export type { PrivacyBridgeWETH } from "./contracts/privacyBridge/PrivacyBridgeWETH";
266
+ export { PrivacyBridgeWETH__factory } from "./factories/contracts/privacyBridge/PrivacyBridgeWETH__factory";
267
+ export type { CotiTokenPoints004 } from "./contracts/token/points/CotiTokenPoints004";
268
+ export { CotiTokenPoints004__factory } from "./factories/contracts/token/points/CotiTokenPoints004__factory";
149
269
  export type { IPrivateERC20 } from "./contracts/token/PrivateERC20/IPrivateERC20";
150
270
  export { IPrivateERC20__factory } from "./factories/contracts/token/PrivateERC20/IPrivateERC20__factory";
271
+ export type { ITokenReceiver } from "./contracts/token/PrivateERC20/ITokenReceiver";
272
+ export { ITokenReceiver__factory } from "./factories/contracts/token/PrivateERC20/ITokenReceiver__factory";
273
+ export type { ITokenReceiverEncrypted } from "./contracts/token/PrivateERC20/ITokenReceiverEncrypted";
274
+ export { ITokenReceiverEncrypted__factory } from "./factories/contracts/token/PrivateERC20/ITokenReceiverEncrypted__factory";
151
275
  export type { PrivateERC20 } from "./contracts/token/PrivateERC20/PrivateERC20";
152
276
  export { PrivateERC20__factory } from "./factories/contracts/token/PrivateERC20/PrivateERC20__factory";
277
+ export type { PrivateBridgedUSDC } from "./contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC";
278
+ export { PrivateBridgedUSDC__factory } from "./factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory";
279
+ export type { PrivateCOTI } from "./contracts/token/PrivateERC20/tokens/PrivateCOTI";
280
+ export { PrivateCOTI__factory } from "./factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory";
281
+ export type { PrivateCOTITreasuryGovernanceToken } from "./contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken";
282
+ export { PrivateCOTITreasuryGovernanceToken__factory } from "./factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory";
283
+ export type { PrivateTetherUSD } from "./contracts/token/PrivateERC20/tokens/PrivateTetherUSD";
284
+ export { PrivateTetherUSD__factory } from "./factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory";
285
+ export type { PrivateWrappedADA } from "./contracts/token/PrivateERC20/tokens/PrivateWrappedADA";
286
+ export { PrivateWrappedADA__factory } from "./factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory";
287
+ export type { PrivateWrappedBTC } from "./contracts/token/PrivateERC20/tokens/PrivateWrappedBTC";
288
+ export { PrivateWrappedBTC__factory } from "./factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory";
289
+ export type { PrivateWrappedEther } from "./contracts/token/PrivateERC20/tokens/PrivateWrappedEther";
290
+ export { PrivateWrappedEther__factory } from "./factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory";
153
291
  export type { IPrivateERC721URIStorage } from "./contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage";
154
292
  export { IPrivateERC721URIStorage__factory } from "./factories/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage__factory";
155
293
  export type { PrivateERC721URIStorage } from "./contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage";
156
294
  export { PrivateERC721URIStorage__factory } from "./factories/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage__factory";
157
- export type { IERC721Errors } from "./contracts/token/PrivateERC721/IERC721Errors";
158
- export { IERC721Errors__factory } from "./factories/contracts/token/PrivateERC721/IERC721Errors__factory";
159
295
  export type { PrivateERC721 } from "./contracts/token/PrivateERC721/PrivateERC721";
160
296
  export { PrivateERC721__factory } from "./factories/contracts/token/PrivateERC721/PrivateERC721__factory";
161
297
  export type { MpcCore } from "./contracts/utils/mpc/MpcCore";
@@ -1,408 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.19;
3
-
4
- import "../../../utils/mpc/MpcCore.sol";
5
-
6
- contract ArithmeticTestsContract {
7
-
8
- struct AllGTCastingValues {
9
- gtUint8 a8_s;
10
- gtUint8 b8_s;
11
- gtUint16 a16_s;
12
- gtUint16 b16_s;
13
- gtUint32 a32_s;
14
- gtUint32 b32_s;
15
- gtUint64 a64_s;
16
- gtUint64 b64_s;
17
- }
18
-
19
- struct Check16 {
20
- gtUint16 res16_16;
21
- gtUint16 res8_16;
22
- gtUint16 res16_8;
23
- }
24
-
25
- struct Check32 {
26
- gtUint32 res32_32;
27
- gtUint32 res8_32;
28
- gtUint32 res32_8;
29
- gtUint32 res16_32;
30
- gtUint32 res32_16;
31
- }
32
-
33
- struct Check64 {
34
- gtUint64 res64_64;
35
- gtUint64 res8_64;
36
- gtUint64 res64_8;
37
- gtUint64 res16_64;
38
- gtUint64 res64_16;
39
- gtUint64 res32_64;
40
- gtUint64 res64_32;
41
- }
42
-
43
- uint8 addResult;
44
- uint8 subResult;
45
- uint8 mulResult;
46
-
47
- function getAddResult() public view returns (uint8) {
48
- return addResult;
49
- }
50
-
51
- function getSubResult() public view returns (uint8) {
52
- return subResult;
53
- }
54
-
55
- function getMulResult() public view returns (uint8) {
56
- return mulResult;
57
- }
58
-
59
- function setPublicValues(AllGTCastingValues memory castingValues, uint8 a, uint8 b) public{
60
- castingValues.a8_s = MpcCore.setPublic8(a);
61
- castingValues.b8_s = MpcCore.setPublic8(b);
62
- castingValues.a16_s = MpcCore.setPublic16(a);
63
- castingValues.b16_s = MpcCore.setPublic16(b);
64
- castingValues.a32_s = MpcCore.setPublic32(a);
65
- castingValues.b32_s = MpcCore.setPublic32(b);
66
- castingValues.a64_s = MpcCore.setPublic64(a);
67
- castingValues.b64_s = MpcCore.setPublic64(b);
68
- }
69
-
70
- function decryptAndCompareResults16(Check16 memory check16) public returns (uint16){
71
-
72
- // Calculate the result
73
- uint16 result = MpcCore.decrypt(check16.res16_16);
74
-
75
- require(result == MpcCore.decrypt(check16.res8_16) && result == MpcCore.decrypt(check16.res16_8),
76
- "decryptAndCompareAllResults: Failed to decrypt and compare all results");
77
- return result;
78
- }
79
-
80
- function decryptAndCompareResults32(Check32 memory check32) public returns (uint32){
81
-
82
- // Calculate the result
83
- uint32 result = MpcCore.decrypt(check32.res32_32);
84
-
85
- require(result == MpcCore.decrypt(check32.res8_32) && result == MpcCore.decrypt(check32.res32_8)
86
- && result == MpcCore.decrypt(check32.res32_16) && result == MpcCore.decrypt(check32.res16_32),
87
- "decryptAndCompareAllResults: Failed to decrypt and compare all results");
88
-
89
- return result;
90
- }
91
-
92
- function decryptAndCompareResults64(Check64 memory check64) public returns (uint64){
93
-
94
- // Calculate the result
95
- uint64 result = MpcCore.decrypt(check64.res64_64);
96
-
97
- require(result == MpcCore.decrypt(check64.res8_64) && result == MpcCore.decrypt(check64.res64_8)
98
- && result == MpcCore.decrypt(check64.res64_16) && result == MpcCore.decrypt(check64.res16_64)
99
- && result == MpcCore.decrypt(check64.res64_32) && result == MpcCore.decrypt(check64.res32_64),
100
- "decryptAndCompareAllResults: Failed to decrypt and compare all results");
101
-
102
- return result;
103
- }
104
-
105
- function addTest(uint8 a, uint8 b) public returns (uint8) {
106
- AllGTCastingValues memory castingValues;
107
- Check16 memory check16;
108
- Check32 memory check32;
109
- Check64 memory check64;
110
- setPublicValues(castingValues, a, b);
111
-
112
- // Calculate the expected result
113
- uint8 result = MpcCore.decrypt(MpcCore.add(castingValues.a8_s, castingValues.b8_s));
114
- addResult = result;
115
-
116
- // Calculate the results with casting to 16
117
- check16.res16_16 = MpcCore.add(castingValues.a16_s, castingValues.b16_s);
118
- check16.res8_16 = MpcCore.add(castingValues.a8_s, castingValues.b16_s);
119
- check16.res16_8 = MpcCore.add(castingValues.a16_s, castingValues.b8_s);
120
- uint16 res16 = decryptAndCompareResults16(check16);
121
- require(res16 == result, "addTest: cast 16 failed");
122
-
123
- // Calculate the result with casting to 32
124
- check32.res32_32 = MpcCore.add(castingValues.a32_s, castingValues.b32_s);
125
- check32.res8_32 = MpcCore.add(castingValues.a8_s, castingValues.b32_s);
126
- check32.res32_8 = MpcCore.add(castingValues.a32_s, castingValues.b8_s);
127
- check32.res16_32 = MpcCore.add(castingValues.a16_s, castingValues.b32_s);
128
- check32.res32_16 = MpcCore.add(castingValues.a32_s, castingValues.b16_s);
129
- uint32 res32 = decryptAndCompareResults32(check32);
130
- require(result == res32, "addTest: cast 32 failed");
131
-
132
- // Calculate the result with casting to 64
133
- check64.res64_64 = MpcCore.add(castingValues.a64_s, castingValues.b64_s);
134
- check64.res8_64 = MpcCore.add(castingValues.a8_s, castingValues.b64_s);
135
- check64.res64_8 = MpcCore.add(castingValues.a64_s, castingValues.b8_s);
136
- check64.res16_64 = MpcCore.add(castingValues.a16_s, castingValues.b64_s);
137
- check64.res64_16 = MpcCore.add(castingValues.a64_s, castingValues.b16_s);
138
- check64.res32_64 = MpcCore.add(castingValues.a32_s, castingValues.b64_s);
139
- check64.res64_32 = MpcCore.add(castingValues.a64_s, castingValues.b32_s);
140
- uint64 res64 = decryptAndCompareResults64(check64);
141
- require(result == res64, "addTest: cast 64 failed");
142
-
143
- // Check the result with scalar
144
- require(result == MpcCore.decrypt(MpcCore.add(a, castingValues.b8_s)) && result == MpcCore.decrypt(MpcCore.add(castingValues.a8_s, b)),
145
- "addTest: test 8 bits with scalar failed");
146
- require(result == MpcCore.decrypt(MpcCore.add(a, castingValues.b16_s)) && result == MpcCore.decrypt(MpcCore.add(castingValues.a16_s, b)),
147
- "addTest: test 16 bits with scalar failed");
148
- require(result == MpcCore.decrypt(MpcCore.add(a, castingValues.b32_s)) && result == MpcCore.decrypt(MpcCore.add(castingValues.a32_s, b)),
149
- "addTest: test 32 bits with scalar failed");
150
- require(result == MpcCore.decrypt(MpcCore.add(a, castingValues.b64_s)) && result == MpcCore.decrypt(MpcCore.add(castingValues.a64_s, b)),
151
- "addTest: test 64 bits with scalar failed");
152
-
153
- return result;
154
- }
155
-
156
- function checkedAddTest(uint8 a, uint8 b) public returns (uint8) {
157
- AllGTCastingValues memory castingValues;
158
- Check16 memory check16;
159
- Check32 memory check32;
160
- Check64 memory check64;
161
- setPublicValues(castingValues, a, b);
162
-
163
- // Calculate the expected result
164
- uint8 result = MpcCore.decrypt(MpcCore.checkedAdd(castingValues.a8_s, castingValues.b8_s));
165
- addResult = result;
166
-
167
- // Calculate the results with casting to 16
168
- check16.res16_16 = MpcCore.checkedAdd(castingValues.a16_s, castingValues.b16_s);
169
- check16.res8_16 = MpcCore.checkedAdd(castingValues.a8_s, castingValues.b16_s);
170
- check16.res16_8 = MpcCore.checkedAdd(castingValues.a16_s, castingValues.b8_s);
171
- uint16 res16 = decryptAndCompareResults16(check16);
172
- require(res16 == result, "addTest: cast 16 failed");
173
-
174
- // Calculate the result with casting to 32
175
- check32.res32_32 = MpcCore.checkedAdd(castingValues.a32_s, castingValues.b32_s);
176
- check32.res8_32 = MpcCore.checkedAdd(castingValues.a8_s, castingValues.b32_s);
177
- check32.res32_8 = MpcCore.checkedAdd(castingValues.a32_s, castingValues.b8_s);
178
- check32.res16_32 = MpcCore.checkedAdd(castingValues.a16_s, castingValues.b32_s);
179
- check32.res32_16 = MpcCore.checkedAdd(castingValues.a32_s, castingValues.b16_s);
180
- uint32 res32 = decryptAndCompareResults32(check32);
181
- require(result == res32, "addTest: cast 32 failed");
182
-
183
- // Calculate the result with casting to 64
184
- check64.res64_64 = MpcCore.checkedAdd(castingValues.a64_s, castingValues.b64_s);
185
- check64.res8_64 = MpcCore.checkedAdd(castingValues.a8_s, castingValues.b64_s);
186
- check64.res64_8 = MpcCore.checkedAdd(castingValues.a64_s, castingValues.b8_s);
187
- check64.res16_64 = MpcCore.checkedAdd(castingValues.a16_s, castingValues.b64_s);
188
- check64.res64_16 = MpcCore.checkedAdd(castingValues.a64_s, castingValues.b16_s);
189
- check64.res32_64 = MpcCore.checkedAdd(castingValues.a32_s, castingValues.b64_s);
190
- check64.res64_32 = MpcCore.checkedAdd(castingValues.a64_s, castingValues.b32_s);
191
- uint64 res64 = decryptAndCompareResults64(check64);
192
- require(result == res64, "addTest: cast 64 failed");
193
-
194
- // Check the result with scalar
195
- require(result == MpcCore.decrypt(MpcCore.checkedAdd(a, castingValues.b8_s)) && result == MpcCore.decrypt(MpcCore.checkedAdd(castingValues.a8_s, b)),
196
- "addTest: test 8 bits with scalar failed");
197
- require(result == MpcCore.decrypt(MpcCore.checkedAdd(a, castingValues.b16_s)) && result == MpcCore.decrypt(MpcCore.checkedAdd(castingValues.a16_s, b)),
198
- "addTest: test 16 bits with scalar failed");
199
- require(result == MpcCore.decrypt(MpcCore.checkedAdd(a, castingValues.b32_s)) && result == MpcCore.decrypt(MpcCore.checkedAdd(castingValues.a32_s, b)),
200
- "addTest: test 32 bits with scalar failed");
201
- require(result == MpcCore.decrypt(MpcCore.checkedAdd(a, castingValues.b64_s)) && result == MpcCore.decrypt(MpcCore.checkedAdd(castingValues.a64_s, b)),
202
- "addTest: test 64 bits with scalar failed");
203
-
204
- return result;
205
- }
206
-
207
- function subTest(uint8 a, uint8 b) public returns (uint8) {
208
- AllGTCastingValues memory castingValues;
209
- Check16 memory check16;
210
- Check32 memory check32;
211
- Check64 memory check64;
212
- setPublicValues(castingValues, a, b);
213
-
214
- // Calculate the expected result
215
- uint8 result = MpcCore.decrypt(MpcCore.sub(castingValues.a8_s, castingValues.b8_s));
216
- subResult = result;
217
-
218
- // Calculate the results with casting to 16
219
- check16.res16_16 = MpcCore.sub(castingValues.a16_s, castingValues.b16_s);
220
- check16.res8_16 = MpcCore.sub(castingValues.a8_s, castingValues.b16_s);
221
- check16.res16_8 = MpcCore.sub(castingValues.a16_s, castingValues.b8_s);
222
- uint16 res16 = decryptAndCompareResults16(check16);
223
- require(res16 == result, "subTest: cast 16 failed");
224
-
225
- // Calculate the result with casting to 32
226
- check32.res32_32 = MpcCore.sub(castingValues.a32_s, castingValues.b32_s);
227
- check32.res8_32 = MpcCore.sub(castingValues.a8_s, castingValues.b32_s);
228
- check32.res32_8 = MpcCore.sub(castingValues.a32_s, castingValues.b8_s);
229
- check32.res16_32 = MpcCore.sub(castingValues.a16_s, castingValues.b32_s);
230
- check32.res32_16 = MpcCore.sub(castingValues.a32_s, castingValues.b16_s);
231
- uint32 res32 = decryptAndCompareResults32(check32);
232
- require(result == res32, "subTest: cast 32 failed");
233
-
234
- // Calculate the result with casting to 64
235
- check64.res64_64 = MpcCore.sub(castingValues.a64_s, castingValues.b64_s);
236
- check64.res8_64 = MpcCore.sub(castingValues.a8_s, castingValues.b64_s);
237
- check64.res64_8 = MpcCore.sub(castingValues.a64_s, castingValues.b8_s);
238
- check64.res16_64 = MpcCore.sub(castingValues.a16_s, castingValues.b64_s);
239
- check64.res64_16 = MpcCore.sub(castingValues.a64_s, castingValues.b16_s);
240
- check64.res32_64 = MpcCore.sub(castingValues.a32_s, castingValues.b64_s);
241
- check64.res64_32 = MpcCore.sub(castingValues.a64_s, castingValues.b32_s);
242
- uint64 res64 = decryptAndCompareResults64(check64);
243
- require(result == res64, "subTest: cast 64 failed");
244
-
245
- // Check the result with scalar
246
- require(result == MpcCore.decrypt(MpcCore.sub(a, castingValues.b8_s)) && result == MpcCore.decrypt(MpcCore.sub(castingValues.a8_s, b)),
247
- "subTest: test 8 bits with scalar failed");
248
- require(result == MpcCore.decrypt(MpcCore.sub(a, castingValues.b16_s)) && result == MpcCore.decrypt(MpcCore.sub(castingValues.a16_s, b)),
249
- "subTest: test 16 bits with scalar failed");
250
- require(result == MpcCore.decrypt(MpcCore.sub(a, castingValues.b32_s)) && result == MpcCore.decrypt(MpcCore.sub(castingValues.a32_s, b)),
251
- "subTest: test 32 bits with scalar failed");
252
- require(result == MpcCore.decrypt(MpcCore.sub(a, castingValues.b64_s)) && result == MpcCore.decrypt(MpcCore.sub(castingValues.a64_s, b)),
253
- "subTest: test 64 bits with scalar failed");
254
-
255
- return result;
256
- }
257
-
258
- function checkedSubTest(uint8 a, uint8 b) public returns (uint8) {
259
- AllGTCastingValues memory castingValues;
260
- Check16 memory check16;
261
- Check32 memory check32;
262
- Check64 memory check64;
263
- setPublicValues(castingValues, a, b);
264
-
265
- // Calculate the expected result
266
- uint8 result = MpcCore.decrypt(MpcCore.checkedSub(castingValues.a8_s, castingValues.b8_s));
267
- subResult = result;
268
-
269
- // Calculate the results with casting to 16
270
- check16.res16_16 = MpcCore.checkedSub(castingValues.a16_s, castingValues.b16_s);
271
- check16.res8_16 = MpcCore.checkedSub(castingValues.a8_s, castingValues.b16_s);
272
- check16.res16_8 = MpcCore.checkedSub(castingValues.a16_s, castingValues.b8_s);
273
- uint16 res16 = decryptAndCompareResults16(check16);
274
- require(res16 == result, "subTest: cast 16 failed");
275
-
276
- // Calculate the result with casting to 32
277
- check32.res32_32 = MpcCore.checkedSub(castingValues.a32_s, castingValues.b32_s);
278
- check32.res8_32 = MpcCore.checkedSub(castingValues.a8_s, castingValues.b32_s);
279
- check32.res32_8 = MpcCore.checkedSub(castingValues.a32_s, castingValues.b8_s);
280
- check32.res16_32 = MpcCore.checkedSub(castingValues.a16_s, castingValues.b32_s);
281
- check32.res32_16 = MpcCore.checkedSub(castingValues.a32_s, castingValues.b16_s);
282
- uint32 res32 = decryptAndCompareResults32(check32);
283
- require(result == res32, "subTest: cast 32 failed");
284
-
285
- // Calculate the result with casting to 64
286
- check64.res64_64 = MpcCore.checkedSub(castingValues.a64_s, castingValues.b64_s);
287
- check64.res8_64 = MpcCore.checkedSub(castingValues.a8_s, castingValues.b64_s);
288
- check64.res64_8 = MpcCore.checkedSub(castingValues.a64_s, castingValues.b8_s);
289
- check64.res16_64 = MpcCore.checkedSub(castingValues.a16_s, castingValues.b64_s);
290
- check64.res64_16 = MpcCore.checkedSub(castingValues.a64_s, castingValues.b16_s);
291
- check64.res32_64 = MpcCore.checkedSub(castingValues.a32_s, castingValues.b64_s);
292
- check64.res64_32 = MpcCore.checkedSub(castingValues.a64_s, castingValues.b32_s);
293
- uint64 res64 = decryptAndCompareResults64(check64);
294
- require(result == res64, "subTest: cast 64 failed");
295
-
296
- // Check the result with scalar
297
- require(result == MpcCore.decrypt(MpcCore.checkedSub(a, castingValues.b8_s)) && result == MpcCore.decrypt(MpcCore.checkedSub(castingValues.a8_s, b)),
298
- "subTest: test 8 bits with scalar failed");
299
- require(result == MpcCore.decrypt(MpcCore.checkedSub(a, castingValues.b16_s)) && result == MpcCore.decrypt(MpcCore.checkedSub(castingValues.a16_s, b)),
300
- "subTest: test 16 bits with scalar failed");
301
- require(result == MpcCore.decrypt(MpcCore.checkedSub(a, castingValues.b32_s)) && result == MpcCore.decrypt(MpcCore.checkedSub(castingValues.a32_s, b)),
302
- "subTest: test 32 bits with scalar failed");
303
- require(result == MpcCore.decrypt(MpcCore.checkedSub(a, castingValues.b64_s)) && result == MpcCore.decrypt(MpcCore.checkedSub(castingValues.a64_s, b)),
304
- "subTest: test 64 bits with scalar failed");
305
-
306
- return result;
307
- }
308
-
309
- function mulTest(uint8 a, uint8 b) public returns (uint8) {
310
- AllGTCastingValues memory castingValues;
311
- Check16 memory check16;
312
- Check32 memory check32;
313
- Check64 memory check64;
314
- setPublicValues(castingValues, a, b);
315
-
316
- // Calculate the expected result
317
- mulResult = MpcCore.decrypt(MpcCore.mul(castingValues.a8_s, castingValues.b8_s));
318
-
319
- // Calculate the result with casting to 16
320
- check16.res16_16 = MpcCore.mul(castingValues.a16_s, castingValues.b16_s);
321
- check16.res8_16 = MpcCore.mul(castingValues.a8_s, castingValues.b16_s);
322
- check16.res16_8 = MpcCore.mul(castingValues.a16_s, castingValues.b8_s);
323
- uint16 res16 = decryptAndCompareResults16(check16);
324
- require(mulResult == res16, "mulTest: cast 16 failed");
325
-
326
- // Calculate the result with casting to 32
327
- check32.res32_32 = MpcCore.mul(castingValues.a32_s, castingValues.b32_s);
328
- check32.res8_32 = MpcCore.mul(castingValues.a8_s, castingValues.b32_s);
329
- check32.res32_8 = MpcCore.mul(castingValues.a32_s, castingValues.b8_s);
330
- check32.res16_32 = MpcCore.mul(castingValues.a16_s, castingValues.b32_s);
331
- check32.res32_16 = MpcCore.mul(castingValues.a32_s, castingValues.b16_s);
332
- uint32 res32 = decryptAndCompareResults32(check32);
333
- require(mulResult == res32, "mulTest: cast 32 failed");
334
-
335
- // Calculate the result with casting to 64
336
- check64.res64_64 = MpcCore.mul(castingValues.a64_s, castingValues.b64_s);
337
- check64.res8_64 = MpcCore.mul(castingValues.a8_s, castingValues.b64_s);
338
- check64.res64_8 = MpcCore.mul(castingValues.a64_s, castingValues.b8_s);
339
- check64.res16_64 = MpcCore.mul(castingValues.a16_s, castingValues.b64_s);
340
- check64.res64_16 = MpcCore.mul(castingValues.a64_s, castingValues.b16_s);
341
- check64.res32_64 = MpcCore.mul(castingValues.a32_s, castingValues.b64_s);
342
- check64.res64_32 = MpcCore.mul(castingValues.a64_s, castingValues.b32_s);
343
- uint64 res64 = decryptAndCompareResults64(check64);
344
- require(mulResult == res64, "mulTest: cast 64 failed");
345
-
346
- // Check the result with scalar
347
- require(mulResult == MpcCore.decrypt(MpcCore.mul(a, castingValues.b8_s)) && mulResult == MpcCore.decrypt(MpcCore.mul(castingValues.a8_s, b)),
348
- "mulTest: test 8 bits with scalar failed");
349
- require(mulResult == MpcCore.decrypt(MpcCore.mul(a, castingValues.b16_s)) && mulResult == MpcCore.decrypt(MpcCore.mul(castingValues.a16_s, b)),
350
- "mulTest: test 16 bits with scalar failed");
351
- require(mulResult == MpcCore.decrypt(MpcCore.mul(a, castingValues.b32_s)) && mulResult == MpcCore.decrypt(MpcCore.mul(castingValues.a32_s, b)),
352
- "mulTest: test 32 bits with scalar failed");
353
- require(mulResult == MpcCore.decrypt(MpcCore.mul(a, castingValues.b64_s)) && mulResult == MpcCore.decrypt(MpcCore.mul(castingValues.a64_s, b)),
354
- "mulTest: test 64 bits with scalar failed");
355
-
356
- return mulResult;
357
- }
358
-
359
- function checkedMulTest(uint8 a, uint8 b) public returns (uint8) {
360
- AllGTCastingValues memory castingValues;
361
- Check16 memory check16;
362
- Check32 memory check32;
363
- Check64 memory check64;
364
- setPublicValues(castingValues, a, b);
365
-
366
- // Calculate the expected result
367
- mulResult = MpcCore.decrypt(MpcCore.checkedMul(castingValues.a8_s, castingValues.b8_s));
368
-
369
- // Calculate the result with casting to 16
370
- check16.res16_16 = MpcCore.checkedMul(castingValues.a16_s, castingValues.b16_s);
371
- check16.res8_16 = MpcCore.checkedMul(castingValues.a8_s, castingValues.b16_s);
372
- check16.res16_8 = MpcCore.checkedMul(castingValues.a16_s, castingValues.b8_s);
373
- uint16 res16 = decryptAndCompareResults16(check16);
374
- require(mulResult == res16, "mulTest: cast 16 failed");
375
-
376
- // Calculate the result with casting to 32
377
- check32.res32_32 = MpcCore.checkedMul(castingValues.a32_s, castingValues.b32_s);
378
- check32.res8_32 = MpcCore.checkedMul(castingValues.a8_s, castingValues.b32_s);
379
- check32.res32_8 = MpcCore.checkedMul(castingValues.a32_s, castingValues.b8_s);
380
- check32.res16_32 = MpcCore.checkedMul(castingValues.a16_s, castingValues.b32_s);
381
- check32.res32_16 = MpcCore.checkedMul(castingValues.a32_s, castingValues.b16_s);
382
- uint32 res32 = decryptAndCompareResults32(check32);
383
- require(mulResult == res32, "mulTest: cast 32 failed");
384
-
385
- // Calculate the result with casting to 64
386
- check64.res64_64 = MpcCore.checkedMul(castingValues.a64_s, castingValues.b64_s);
387
- check64.res8_64 = MpcCore.checkedMul(castingValues.a8_s, castingValues.b64_s);
388
- check64.res64_8 = MpcCore.checkedMul(castingValues.a64_s, castingValues.b8_s);
389
- check64.res16_64 = MpcCore.checkedMul(castingValues.a16_s, castingValues.b64_s);
390
- check64.res64_16 = MpcCore.checkedMul(castingValues.a64_s, castingValues.b16_s);
391
- check64.res32_64 = MpcCore.checkedMul(castingValues.a32_s, castingValues.b64_s);
392
- check64.res64_32 = MpcCore.checkedMul(castingValues.a64_s, castingValues.b32_s);
393
- uint64 res64 = decryptAndCompareResults64(check64);
394
- require(mulResult == res64, "mulTest: cast 64 failed");
395
-
396
- // Check the result with scalar
397
- require(mulResult == MpcCore.decrypt(MpcCore.checkedMul(a, castingValues.b8_s)) && mulResult == MpcCore.decrypt(MpcCore.checkedMul(castingValues.a8_s, b)),
398
- "mulTest: test 8 bits with scalar failed");
399
- require(mulResult == MpcCore.decrypt(MpcCore.checkedMul(a, castingValues.b16_s)) && mulResult == MpcCore.decrypt(MpcCore.checkedMul(castingValues.a16_s, b)),
400
- "mulTest: test 16 bits with scalar failed");
401
- require(mulResult == MpcCore.decrypt(MpcCore.checkedMul(a, castingValues.b32_s)) && mulResult == MpcCore.decrypt(MpcCore.checkedMul(castingValues.a32_s, b)),
402
- "mulTest: test 32 bits with scalar failed");
403
- require(mulResult == MpcCore.decrypt(MpcCore.checkedMul(a, castingValues.b64_s)) && mulResult == MpcCore.decrypt(MpcCore.checkedMul(castingValues.a64_s, b)),
404
- "mulTest: test 64 bits with scalar failed");
405
-
406
- return mulResult;
407
- }
408
- }