@coti-io/coti-contracts 1.0.9 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/.github/workflows/npm-publish.yml +18 -14
  2. package/README.md +3 -1
  3. package/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.sol +452 -0
  4. package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.sol +490 -0
  5. package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +432 -0
  6. package/contracts/disperse/disperseToken/MintDisperser.sol +120 -0
  7. package/contracts/disperse/disperseToken/TokenDisperser.sol +139 -0
  8. package/contracts/mocks/token/ERC20Mock.sol +19 -0
  9. package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +18 -0
  10. package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +13 -0
  11. package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +44 -0
  12. package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +23 -0
  13. package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +29 -0
  14. package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +9 -4
  15. package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +39 -0
  16. package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +29 -0
  17. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +18 -0
  18. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +12 -0
  19. package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +123 -0
  20. package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +122 -0
  21. package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +65 -0
  22. package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +65 -0
  23. package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +64 -0
  24. package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +64 -0
  25. package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +98 -0
  26. package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +98 -0
  27. package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +44 -0
  28. package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +44 -0
  29. package/contracts/mocks/utils/mpc/MinimalImplementation.sol +55 -0
  30. package/contracts/mocks/utils/mpc/MinimalProxy.sol +27 -0
  31. package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +267 -0
  32. package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +334 -0
  33. package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +24 -0
  34. package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +24 -0
  35. package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +93 -0
  36. package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +116 -0
  37. package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +157 -0
  38. package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +133 -0
  39. package/contracts/mocks/utils/mpc/PrivacyProxy.sol +137 -0
  40. package/contracts/mocks/utils/mpc/Random128TestsContract.sol +32 -0
  41. package/contracts/mocks/utils/mpc/Random256TestsContract.sol +32 -0
  42. package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +36 -0
  43. package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +36 -0
  44. package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +29 -0
  45. package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +29 -0
  46. package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +32 -0
  47. package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +32 -0
  48. package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +59 -0
  49. package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +63 -0
  50. package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +99 -0
  51. package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +7 -6
  52. package/contracts/node/CotiNodeRewards.sol +199 -0
  53. package/contracts/node/SoulboundNodeNFT.sol +519 -0
  54. package/contracts/privacyBridge/PrivacyBridge.sol +318 -0
  55. package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +268 -0
  56. package/contracts/privacyBridge/PrivacyBridgeERC20.sol +251 -0
  57. package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +16 -0
  58. package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +17 -0
  59. package/contracts/privacyBridge/PrivacyBridgeWADA.sol +17 -0
  60. package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +17 -0
  61. package/contracts/privacyBridge/PrivacyBridgeWETH.sol +17 -0
  62. package/contracts/privacyBridge/PrivacyBridgegCoti.sol +17 -0
  63. package/contracts/token/PrivateERC20/IPrivateERC20.sol +273 -40
  64. package/contracts/token/PrivateERC20/ITokenReceiver.sol +17 -0
  65. package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +20 -0
  66. package/contracts/token/PrivateERC20/PrivateERC20.sol +861 -152
  67. package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +17 -0
  68. package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +13 -0
  69. package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +17 -0
  70. package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +17 -0
  71. package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +17 -0
  72. package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +17 -0
  73. package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +13 -0
  74. package/contracts/utils/mpc/MpcCore.sol +10891 -2449
  75. package/contracts/utils/mpc/MpcInterface.sol +7 -2
  76. package/hardhat/gasPriceBump.ts +60 -0
  77. package/hardhat.config.ts +60 -12
  78. package/package.json +21 -3
  79. package/scripts/deploySoulboundNodeNFT.ts +57 -0
  80. package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +327 -0
  81. package/test/token/PrivateERC20/PrivateERC20.test.ts +1109 -268
  82. package/test/utils/mpc/Bitwise128.test.ts +92 -0
  83. package/test/utils/mpc/Bitwise256.test.ts +101 -0
  84. package/test/utils/mpc/BuildInputText128.test.ts +398 -0
  85. package/test/utils/mpc/CheckedArithmetic128.test.ts +45 -0
  86. package/test/utils/mpc/CheckedArithmetic256.test.ts +45 -0
  87. package/test/utils/mpc/Comparison128.test.ts +48 -0
  88. package/test/utils/mpc/Comparison256.test.ts +48 -0
  89. package/test/utils/mpc/InvalidCiphertext.test.ts +179 -0
  90. package/test/utils/mpc/InvalidCiphertext128.test.ts +179 -0
  91. package/test/utils/mpc/InvalidCiphertext256.test.ts +201 -0
  92. package/test/utils/mpc/InvalidTransfer128.test.ts +166 -0
  93. package/test/utils/mpc/InvalidTransfer256.test.ts +158 -0
  94. package/test/utils/mpc/MinMax128.test.ts +44 -0
  95. package/test/utils/mpc/MinMax256.test.ts +44 -0
  96. package/test/utils/mpc/MinimalProxyDemo.test.ts +280 -0
  97. package/test/utils/mpc/MpcOperations.test.ts +589 -0
  98. package/test/utils/mpc/MpcOperations128.test.ts +632 -0
  99. package/test/utils/mpc/Mux128.test.ts +41 -0
  100. package/test/utils/mpc/Mux256.test.ts +41 -0
  101. package/test/utils/mpc/NegativeCases.test.ts +478 -0
  102. package/test/utils/mpc/NegativeCases128.test.ts +237 -0
  103. package/test/utils/mpc/NegativeCases256.test.ts +236 -0
  104. package/test/utils/mpc/OnBoard128.test.ts +90 -0
  105. package/test/utils/mpc/OnBoard256.test.ts +114 -0
  106. package/test/utils/mpc/Precompile128.test.ts +51 -0
  107. package/test/utils/mpc/Precompile256.test.ts +115 -0
  108. package/test/utils/mpc/ProxyValidation.test.ts +199 -0
  109. package/test/utils/mpc/Random128.test.ts +47 -0
  110. package/test/utils/mpc/Random256.test.ts +47 -0
  111. package/test/utils/mpc/Shift128.test.ts +41 -0
  112. package/test/utils/mpc/Shift256.test.ts +41 -0
  113. package/test/utils/mpc/Transfer128.test.ts +46 -0
  114. package/test/utils/mpc/Transfer256.test.ts +46 -0
  115. package/test/utils/mpc/TransferWithAllowance128.test.ts +48 -0
  116. package/test/utils/mpc/TransferWithAllowance256.test.ts +48 -0
  117. package/test/utils/mpc/UpgradeablePrivacyProxy.test.ts +307 -0
  118. package/test/utils/mpc/ValidateCiphertext.test.ts +221 -0
  119. package/test/utils/mpc/ValidateCiphertext256.test.ts +161 -0
  120. package/test/utils/mpc/ValidateCiphertext256Decryption.test.ts +383 -0
  121. package/test/utils/mpc/WalletEncryptionFailures.test.ts +494 -0
  122. package/test/utils/privateErc20Helpers.ts +97 -0
  123. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
  124. package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
  125. package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
  126. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +262 -0
  127. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.ts +143 -0
  128. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  129. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
  130. package/typechain-types/@openzeppelin/contracts/token/index.ts +2 -0
  131. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.ts +679 -0
  132. package/typechain-types/contracts/disperse/coinByRatio/index.ts +4 -0
  133. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20.ts +97 -0
  134. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +206 -0
  135. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
  136. package/typechain-types/contracts/disperse/disperseToken/TokenDisperser.ts +191 -0
  137. package/typechain-types/contracts/disperse/disperseToken/index.ts +6 -0
  138. package/typechain-types/contracts/disperse/index.ts +7 -0
  139. package/typechain-types/contracts/index.ts +2 -0
  140. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +77 -60
  141. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +341 -0
  142. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128TestsContract.ts +311 -0
  143. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +347 -0
  144. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256TestsContract.ts +311 -0
  145. package/typechain-types/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.ts +186 -0
  146. package/typechain-types/contracts/mocks/utils/mpc/Bitwise128TestsContract.ts +179 -0
  147. package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +186 -0
  148. package/typechain-types/contracts/mocks/utils/mpc/Bitwise256TestsContract.ts +179 -0
  149. package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.ts +206 -0
  150. package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.ts +206 -0
  151. package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +260 -0
  152. package/typechain-types/contracts/mocks/utils/mpc/Comparison128TestsContract.ts +278 -0
  153. package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +260 -0
  154. package/typechain-types/contracts/mocks/utils/mpc/Comparison256TestsContract.ts +278 -0
  155. package/typechain-types/contracts/mocks/utils/mpc/MinMax128TestsContract.ts +142 -0
  156. package/typechain-types/contracts/mocks/utils/mpc/MinMax256TestsContract.ts +142 -0
  157. package/typechain-types/contracts/mocks/utils/mpc/MinimalImplementation.ts +259 -0
  158. package/typechain-types/contracts/mocks/utils/mpc/MinimalProxy.ts +90 -0
  159. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +302 -0
  160. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +322 -0
  161. package/typechain-types/contracts/mocks/utils/mpc/MpcOperations128TestContract.ts +388 -0
  162. package/typechain-types/contracts/mocks/utils/mpc/MpcOperationsTestContract.ts +455 -0
  163. package/typechain-types/contracts/mocks/utils/mpc/Mux128TestsContract.ts +109 -0
  164. package/typechain-types/contracts/mocks/utils/mpc/Mux256TestsContract.ts +109 -0
  165. package/typechain-types/contracts/mocks/utils/mpc/OnBoard128TestsContract.ts +166 -0
  166. package/typechain-types/contracts/mocks/utils/mpc/OnBoard256TestsContract.ts +194 -0
  167. package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV1.ts +385 -0
  168. package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV2.ts +441 -0
  169. package/typechain-types/contracts/mocks/utils/mpc/PrivacyProxy.ts +201 -0
  170. package/typechain-types/contracts/mocks/utils/mpc/Random128TestsContract.ts +131 -0
  171. package/typechain-types/contracts/mocks/utils/mpc/Random256TestsContract.ts +131 -0
  172. package/typechain-types/contracts/mocks/utils/mpc/Shift128TestsContract.ts +142 -0
  173. package/typechain-types/contracts/mocks/utils/mpc/Shift256TestsContract.ts +142 -0
  174. package/typechain-types/contracts/mocks/utils/mpc/Transfer128TestsContract.ts +109 -0
  175. package/typechain-types/contracts/mocks/utils/mpc/Transfer256TestsContract.ts +109 -0
  176. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.ts +128 -0
  177. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.ts +128 -0
  178. package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.ts +198 -0
  179. package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.ts +182 -0
  180. package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.ts +257 -0
  181. package/typechain-types/contracts/mocks/utils/mpc/index.ts +32 -0
  182. package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +77 -60
  183. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +77 -60
  184. package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +111 -10
  185. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +74 -0
  186. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
  187. package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
  188. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +205 -0
  189. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit__factory.ts +100 -0
  190. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  191. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +5 -0
  192. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +1 -0
  193. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +759 -0
  194. package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +4 -0
  195. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20__factory.ts +43 -0
  196. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +185 -0
  197. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
  198. package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +198 -0
  199. package/typechain-types/factories/contracts/disperse/disperseToken/index.ts +5 -0
  200. package/typechain-types/factories/contracts/disperse/index.ts +5 -0
  201. package/typechain-types/factories/contracts/index.ts +1 -0
  202. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
  203. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +179 -47
  204. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +349 -0
  205. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +330 -0
  206. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +364 -0
  207. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +330 -0
  208. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  209. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +182 -0
  210. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +184 -0
  211. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +182 -0
  212. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +184 -0
  213. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  214. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +203 -0
  215. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +203 -0
  216. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
  217. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +255 -0
  218. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +295 -0
  219. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  220. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +255 -0
  221. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +295 -0
  222. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  223. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +147 -0
  224. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +147 -0
  225. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  226. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +263 -0
  227. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +104 -0
  228. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +332 -0
  229. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  230. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +380 -0
  231. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  232. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +723 -0
  233. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1410 -0
  234. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +115 -0
  235. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +115 -0
  236. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  237. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +175 -0
  238. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +205 -0
  239. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +521 -0
  240. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +648 -0
  241. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +179 -0
  242. package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +131 -0
  243. package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +131 -0
  244. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +147 -0
  245. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +147 -0
  246. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  247. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  248. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +135 -0
  249. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +135 -0
  250. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  251. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  252. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +154 -0
  253. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +154 -0
  254. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  255. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  256. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  257. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  258. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  259. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  260. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +190 -0
  261. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +210 -0
  262. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +260 -0
  263. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +32 -0
  264. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +7 -7
  265. package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +174 -42
  266. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +174 -42
  267. package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +126 -0
  268. package/typechain-types/hardhat.d.ts +702 -0
  269. package/typechain-types/index.ts +78 -0
  270. package/contracts/mocks/utils/mpc/README.md +0 -486
  271. package/contracts/package.json +0 -11
@@ -23,28 +23,41 @@ import type {
23
23
  TypedContractMethod,
24
24
  } from "../../../../common";
25
25
 
26
- export type ItUint64Struct = { ciphertext: BigNumberish; signature: BytesLike };
26
+ export type CtUint256Struct = {
27
+ ciphertextHigh: BigNumberish;
28
+ ciphertextLow: BigNumberish;
29
+ };
30
+
31
+ export type CtUint256StructOutput = [
32
+ ciphertextHigh: bigint,
33
+ ciphertextLow: bigint
34
+ ] & { ciphertextHigh: bigint; ciphertextLow: bigint };
27
35
 
28
- export type ItUint64StructOutput = [ciphertext: bigint, signature: string] & {
29
- ciphertext: bigint;
30
- signature: string;
36
+ export type ItUint256Struct = {
37
+ ciphertext: CtUint256Struct;
38
+ signature: BytesLike;
31
39
  };
32
40
 
41
+ export type ItUint256StructOutput = [
42
+ ciphertext: CtUint256StructOutput,
43
+ signature: string
44
+ ] & { ciphertext: CtUint256StructOutput; signature: string };
45
+
33
46
  export declare namespace IPrivateERC20 {
34
47
  export type AllowanceStruct = {
35
- ciphertext: BigNumberish;
36
- ownerCiphertext: BigNumberish;
37
- spenderCiphertext: BigNumberish;
48
+ ciphertext: CtUint256Struct;
49
+ ownerCiphertext: CtUint256Struct;
50
+ spenderCiphertext: CtUint256Struct;
38
51
  };
39
52
 
40
53
  export type AllowanceStructOutput = [
41
- ciphertext: bigint,
42
- ownerCiphertext: bigint,
43
- spenderCiphertext: bigint
54
+ ciphertext: CtUint256StructOutput,
55
+ ownerCiphertext: CtUint256StructOutput,
56
+ spenderCiphertext: CtUint256StructOutput
44
57
  ] & {
45
- ciphertext: bigint;
46
- ownerCiphertext: bigint;
47
- spenderCiphertext: bigint;
58
+ ciphertext: CtUint256StructOutput;
59
+ ownerCiphertext: CtUint256StructOutput;
60
+ spenderCiphertext: CtUint256StructOutput;
48
61
  };
49
62
  }
50
63
 
@@ -55,7 +68,7 @@ export interface PrivateERC20MockInterface extends Interface {
55
68
  | "allowance(address,bool)"
56
69
  | "allowance(address,address)"
57
70
  | "approve(address,uint256)"
58
- | "approve(address,(uint256,bytes))"
71
+ | "approve(address,((uint256,uint256),bytes))"
59
72
  | "balanceOf(address)"
60
73
  | "balanceOf()"
61
74
  | "burn"
@@ -66,10 +79,10 @@ export interface PrivateERC20MockInterface extends Interface {
66
79
  | "setAccountEncryptionAddress"
67
80
  | "symbol"
68
81
  | "totalSupply"
69
- | "transfer(address,(uint256,bytes))"
82
+ | "transfer(address,((uint256,uint256),bytes))"
70
83
  | "transfer(address,uint256)"
71
- | "transferFrom(address,address,(uint256,bytes))"
72
84
  | "transferFrom(address,address,uint256)"
85
+ | "transferFrom(address,address,((uint256,uint256),bytes))"
73
86
  ): FunctionFragment;
74
87
 
75
88
  getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment;
@@ -91,8 +104,8 @@ export interface PrivateERC20MockInterface extends Interface {
91
104
  values: [AddressLike, BigNumberish]
92
105
  ): string;
93
106
  encodeFunctionData(
94
- functionFragment: "approve(address,(uint256,bytes))",
95
- values: [AddressLike, ItUint64Struct]
107
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
108
+ values: [AddressLike, ItUint256Struct]
96
109
  ): string;
97
110
  encodeFunctionData(
98
111
  functionFragment: "balanceOf(address)",
@@ -126,21 +139,21 @@ export interface PrivateERC20MockInterface extends Interface {
126
139
  values?: undefined
127
140
  ): string;
128
141
  encodeFunctionData(
129
- functionFragment: "transfer(address,(uint256,bytes))",
130
- values: [AddressLike, ItUint64Struct]
142
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
143
+ values: [AddressLike, ItUint256Struct]
131
144
  ): string;
132
145
  encodeFunctionData(
133
146
  functionFragment: "transfer(address,uint256)",
134
147
  values: [AddressLike, BigNumberish]
135
148
  ): string;
136
- encodeFunctionData(
137
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
138
- values: [AddressLike, AddressLike, ItUint64Struct]
139
- ): string;
140
149
  encodeFunctionData(
141
150
  functionFragment: "transferFrom(address,address,uint256)",
142
151
  values: [AddressLike, AddressLike, BigNumberish]
143
152
  ): string;
153
+ encodeFunctionData(
154
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
155
+ values: [AddressLike, AddressLike, ItUint256Struct]
156
+ ): string;
144
157
 
145
158
  decodeFunctionResult(
146
159
  functionFragment: "accountEncryptionAddress",
@@ -159,7 +172,7 @@ export interface PrivateERC20MockInterface extends Interface {
159
172
  data: BytesLike
160
173
  ): Result;
161
174
  decodeFunctionResult(
162
- functionFragment: "approve(address,(uint256,bytes))",
175
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
163
176
  data: BytesLike
164
177
  ): Result;
165
178
  decodeFunctionResult(
@@ -188,7 +201,7 @@ export interface PrivateERC20MockInterface extends Interface {
188
201
  data: BytesLike
189
202
  ): Result;
190
203
  decodeFunctionResult(
191
- functionFragment: "transfer(address,(uint256,bytes))",
204
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
192
205
  data: BytesLike
193
206
  ): Result;
194
207
  decodeFunctionResult(
@@ -196,11 +209,11 @@ export interface PrivateERC20MockInterface extends Interface {
196
209
  data: BytesLike
197
210
  ): Result;
198
211
  decodeFunctionResult(
199
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
212
+ functionFragment: "transferFrom(address,address,uint256)",
200
213
  data: BytesLike
201
214
  ): Result;
202
215
  decodeFunctionResult(
203
- functionFragment: "transferFrom(address,address,uint256)",
216
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
204
217
  data: BytesLike
205
218
  ): Result;
206
219
  }
@@ -209,20 +222,20 @@ export namespace ApprovalEvent {
209
222
  export type InputTuple = [
210
223
  owner: AddressLike,
211
224
  spender: AddressLike,
212
- ownerValue: BigNumberish,
213
- spenderValue: BigNumberish
225
+ ownerValue: CtUint256Struct,
226
+ spenderValue: CtUint256Struct
214
227
  ];
215
228
  export type OutputTuple = [
216
229
  owner: string,
217
230
  spender: string,
218
- ownerValue: bigint,
219
- spenderValue: bigint
231
+ ownerValue: CtUint256StructOutput,
232
+ spenderValue: CtUint256StructOutput
220
233
  ];
221
234
  export interface OutputObject {
222
235
  owner: string;
223
236
  spender: string;
224
- ownerValue: bigint;
225
- spenderValue: bigint;
237
+ ownerValue: CtUint256StructOutput;
238
+ spenderValue: CtUint256StructOutput;
226
239
  }
227
240
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
228
241
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -234,20 +247,20 @@ export namespace TransferEvent {
234
247
  export type InputTuple = [
235
248
  from: AddressLike,
236
249
  to: AddressLike,
237
- senderValue: BigNumberish,
238
- receiverValue: BigNumberish
250
+ senderValue: CtUint256Struct,
251
+ receiverValue: CtUint256Struct
239
252
  ];
240
253
  export type OutputTuple = [
241
254
  from: string,
242
255
  to: string,
243
- senderValue: bigint,
244
- receiverValue: bigint
256
+ senderValue: CtUint256StructOutput,
257
+ receiverValue: CtUint256StructOutput
245
258
  ];
246
259
  export interface OutputObject {
247
260
  from: string;
248
261
  to: string;
249
- senderValue: bigint;
250
- receiverValue: bigint;
262
+ senderValue: CtUint256StructOutput;
263
+ receiverValue: CtUint256StructOutput;
251
264
  }
252
265
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
253
266
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -322,15 +335,15 @@ export interface PrivateERC20Mock extends BaseContract {
322
335
  "nonpayable"
323
336
  >;
324
337
 
325
- "approve(address,(uint256,bytes))": TypedContractMethod<
326
- [spender: AddressLike, value: ItUint64Struct],
338
+ "approve(address,((uint256,uint256),bytes))": TypedContractMethod<
339
+ [spender: AddressLike, value: ItUint256Struct],
327
340
  [boolean],
328
341
  "nonpayable"
329
342
  >;
330
343
 
331
344
  "balanceOf(address)": TypedContractMethod<
332
345
  [account: AddressLike],
333
- [bigint],
346
+ [CtUint256StructOutput],
334
347
  "view"
335
348
  >;
336
349
 
@@ -368,8 +381,8 @@ export interface PrivateERC20Mock extends BaseContract {
368
381
 
369
382
  totalSupply: TypedContractMethod<[], [bigint], "view">;
370
383
 
371
- "transfer(address,(uint256,bytes))": TypedContractMethod<
372
- [to: AddressLike, value: ItUint64Struct],
384
+ "transfer(address,((uint256,uint256),bytes))": TypedContractMethod<
385
+ [to: AddressLike, value: ItUint256Struct],
373
386
  [bigint],
374
387
  "nonpayable"
375
388
  >;
@@ -380,14 +393,14 @@ export interface PrivateERC20Mock extends BaseContract {
380
393
  "nonpayable"
381
394
  >;
382
395
 
383
- "transferFrom(address,address,(uint256,bytes))": TypedContractMethod<
384
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
396
+ "transferFrom(address,address,uint256)": TypedContractMethod<
397
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
385
398
  [bigint],
386
399
  "nonpayable"
387
400
  >;
388
401
 
389
- "transferFrom(address,address,uint256)": TypedContractMethod<
390
- [from: AddressLike, to: AddressLike, value: BigNumberish],
402
+ "transferFrom(address,address,((uint256,uint256),bytes))": TypedContractMethod<
403
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
391
404
  [bigint],
392
405
  "nonpayable"
393
406
  >;
@@ -421,15 +434,19 @@ export interface PrivateERC20Mock extends BaseContract {
421
434
  "nonpayable"
422
435
  >;
423
436
  getFunction(
424
- nameOrSignature: "approve(address,(uint256,bytes))"
437
+ nameOrSignature: "approve(address,((uint256,uint256),bytes))"
425
438
  ): TypedContractMethod<
426
- [spender: AddressLike, value: ItUint64Struct],
439
+ [spender: AddressLike, value: ItUint256Struct],
427
440
  [boolean],
428
441
  "nonpayable"
429
442
  >;
430
443
  getFunction(
431
444
  nameOrSignature: "balanceOf(address)"
432
- ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
445
+ ): TypedContractMethod<
446
+ [account: AddressLike],
447
+ [CtUint256StructOutput],
448
+ "view"
449
+ >;
433
450
  getFunction(
434
451
  nameOrSignature: "balanceOf()"
435
452
  ): TypedContractMethod<[], [bigint], "nonpayable">;
@@ -474,9 +491,9 @@ export interface PrivateERC20Mock extends BaseContract {
474
491
  nameOrSignature: "totalSupply"
475
492
  ): TypedContractMethod<[], [bigint], "view">;
476
493
  getFunction(
477
- nameOrSignature: "transfer(address,(uint256,bytes))"
494
+ nameOrSignature: "transfer(address,((uint256,uint256),bytes))"
478
495
  ): TypedContractMethod<
479
- [to: AddressLike, value: ItUint64Struct],
496
+ [to: AddressLike, value: ItUint256Struct],
480
497
  [bigint],
481
498
  "nonpayable"
482
499
  >;
@@ -488,16 +505,16 @@ export interface PrivateERC20Mock extends BaseContract {
488
505
  "nonpayable"
489
506
  >;
490
507
  getFunction(
491
- nameOrSignature: "transferFrom(address,address,(uint256,bytes))"
508
+ nameOrSignature: "transferFrom(address,address,uint256)"
492
509
  ): TypedContractMethod<
493
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
510
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
494
511
  [bigint],
495
512
  "nonpayable"
496
513
  >;
497
514
  getFunction(
498
- nameOrSignature: "transferFrom(address,address,uint256)"
515
+ nameOrSignature: "transferFrom(address,address,((uint256,uint256),bytes))"
499
516
  ): TypedContractMethod<
500
- [from: AddressLike, to: AddressLike, value: BigNumberish],
517
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
501
518
  [bigint],
502
519
  "nonpayable"
503
520
  >;
@@ -518,7 +535,7 @@ export interface PrivateERC20Mock extends BaseContract {
518
535
  >;
519
536
 
520
537
  filters: {
521
- "Approval(address,address,uint256,uint256)": TypedContractEvent<
538
+ "Approval(address,address,tuple,tuple)": TypedContractEvent<
522
539
  ApprovalEvent.InputTuple,
523
540
  ApprovalEvent.OutputTuple,
524
541
  ApprovalEvent.OutputObject
@@ -529,7 +546,7 @@ export interface PrivateERC20Mock extends BaseContract {
529
546
  ApprovalEvent.OutputObject
530
547
  >;
531
548
 
532
- "Transfer(address,address,uint256,uint256)": TypedContractEvent<
549
+ "Transfer(address,address,tuple,tuple)": TypedContractEvent<
533
550
  TransferEvent.InputTuple,
534
551
  TransferEvent.OutputTuple,
535
552
  TransferEvent.OutputObject
@@ -0,0 +1,341 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumberish,
7
+ BytesLike,
8
+ FunctionFragment,
9
+ Result,
10
+ Interface,
11
+ ContractRunner,
12
+ ContractMethod,
13
+ Listener,
14
+ } from "ethers";
15
+ import type {
16
+ TypedContractEvent,
17
+ TypedDeferredTopicFilter,
18
+ TypedEventLog,
19
+ TypedListener,
20
+ TypedContractMethod,
21
+ } from "../../../../common";
22
+
23
+ export interface Arithmetic128BitTestsContractInterface extends Interface {
24
+ getFunction(
25
+ nameOrSignature:
26
+ | "addTest"
27
+ | "checkedAddTest"
28
+ | "checkedAddWithOverflowBitTest"
29
+ | "checkedMulTest"
30
+ | "checkedMulWithOverflowBitTest"
31
+ | "checkedSubTest"
32
+ | "checkedSubWithOverflowBitTest"
33
+ | "mulTest"
34
+ | "numbers"
35
+ | "numbersLHS"
36
+ | "numbersRHS"
37
+ | "overflows"
38
+ | "overflowsLHS"
39
+ | "overflowsRHS"
40
+ | "subTest"
41
+ ): FunctionFragment;
42
+
43
+ encodeFunctionData(
44
+ functionFragment: "addTest",
45
+ values: [BigNumberish[], BigNumberish[]]
46
+ ): string;
47
+ encodeFunctionData(
48
+ functionFragment: "checkedAddTest",
49
+ values: [BigNumberish, BigNumberish]
50
+ ): string;
51
+ encodeFunctionData(
52
+ functionFragment: "checkedAddWithOverflowBitTest",
53
+ values: [BigNumberish[], BigNumberish[]]
54
+ ): string;
55
+ encodeFunctionData(
56
+ functionFragment: "checkedMulTest",
57
+ values: [BigNumberish, BigNumberish]
58
+ ): string;
59
+ encodeFunctionData(
60
+ functionFragment: "checkedMulWithOverflowBitTest",
61
+ values: [BigNumberish[], BigNumberish[]]
62
+ ): string;
63
+ encodeFunctionData(
64
+ functionFragment: "checkedSubTest",
65
+ values: [BigNumberish, BigNumberish]
66
+ ): string;
67
+ encodeFunctionData(
68
+ functionFragment: "checkedSubWithOverflowBitTest",
69
+ values: [BigNumberish[], BigNumberish[]]
70
+ ): string;
71
+ encodeFunctionData(
72
+ functionFragment: "mulTest",
73
+ values: [BigNumberish[], BigNumberish[]]
74
+ ): string;
75
+ encodeFunctionData(
76
+ functionFragment: "numbers",
77
+ values: [BigNumberish]
78
+ ): string;
79
+ encodeFunctionData(
80
+ functionFragment: "numbersLHS",
81
+ values: [BigNumberish]
82
+ ): string;
83
+ encodeFunctionData(
84
+ functionFragment: "numbersRHS",
85
+ values: [BigNumberish]
86
+ ): string;
87
+ encodeFunctionData(
88
+ functionFragment: "overflows",
89
+ values: [BigNumberish]
90
+ ): string;
91
+ encodeFunctionData(
92
+ functionFragment: "overflowsLHS",
93
+ values: [BigNumberish]
94
+ ): string;
95
+ encodeFunctionData(
96
+ functionFragment: "overflowsRHS",
97
+ values: [BigNumberish]
98
+ ): string;
99
+ encodeFunctionData(
100
+ functionFragment: "subTest",
101
+ values: [BigNumberish[], BigNumberish[]]
102
+ ): string;
103
+
104
+ decodeFunctionResult(functionFragment: "addTest", data: BytesLike): Result;
105
+ decodeFunctionResult(
106
+ functionFragment: "checkedAddTest",
107
+ data: BytesLike
108
+ ): Result;
109
+ decodeFunctionResult(
110
+ functionFragment: "checkedAddWithOverflowBitTest",
111
+ data: BytesLike
112
+ ): Result;
113
+ decodeFunctionResult(
114
+ functionFragment: "checkedMulTest",
115
+ data: BytesLike
116
+ ): Result;
117
+ decodeFunctionResult(
118
+ functionFragment: "checkedMulWithOverflowBitTest",
119
+ data: BytesLike
120
+ ): Result;
121
+ decodeFunctionResult(
122
+ functionFragment: "checkedSubTest",
123
+ data: BytesLike
124
+ ): Result;
125
+ decodeFunctionResult(
126
+ functionFragment: "checkedSubWithOverflowBitTest",
127
+ data: BytesLike
128
+ ): Result;
129
+ decodeFunctionResult(functionFragment: "mulTest", data: BytesLike): Result;
130
+ decodeFunctionResult(functionFragment: "numbers", data: BytesLike): Result;
131
+ decodeFunctionResult(functionFragment: "numbersLHS", data: BytesLike): Result;
132
+ decodeFunctionResult(functionFragment: "numbersRHS", data: BytesLike): Result;
133
+ decodeFunctionResult(functionFragment: "overflows", data: BytesLike): Result;
134
+ decodeFunctionResult(
135
+ functionFragment: "overflowsLHS",
136
+ data: BytesLike
137
+ ): Result;
138
+ decodeFunctionResult(
139
+ functionFragment: "overflowsRHS",
140
+ data: BytesLike
141
+ ): Result;
142
+ decodeFunctionResult(functionFragment: "subTest", data: BytesLike): Result;
143
+ }
144
+
145
+ export interface Arithmetic128BitTestsContract extends BaseContract {
146
+ connect(runner?: ContractRunner | null): Arithmetic128BitTestsContract;
147
+ waitForDeployment(): Promise<this>;
148
+
149
+ interface: Arithmetic128BitTestsContractInterface;
150
+
151
+ queryFilter<TCEvent extends TypedContractEvent>(
152
+ event: TCEvent,
153
+ fromBlockOrBlockhash?: string | number | undefined,
154
+ toBlock?: string | number | undefined
155
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
156
+ queryFilter<TCEvent extends TypedContractEvent>(
157
+ filter: TypedDeferredTopicFilter<TCEvent>,
158
+ fromBlockOrBlockhash?: string | number | undefined,
159
+ toBlock?: string | number | undefined
160
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
161
+
162
+ on<TCEvent extends TypedContractEvent>(
163
+ event: TCEvent,
164
+ listener: TypedListener<TCEvent>
165
+ ): Promise<this>;
166
+ on<TCEvent extends TypedContractEvent>(
167
+ filter: TypedDeferredTopicFilter<TCEvent>,
168
+ listener: TypedListener<TCEvent>
169
+ ): Promise<this>;
170
+
171
+ once<TCEvent extends TypedContractEvent>(
172
+ event: TCEvent,
173
+ listener: TypedListener<TCEvent>
174
+ ): Promise<this>;
175
+ once<TCEvent extends TypedContractEvent>(
176
+ filter: TypedDeferredTopicFilter<TCEvent>,
177
+ listener: TypedListener<TCEvent>
178
+ ): Promise<this>;
179
+
180
+ listeners<TCEvent extends TypedContractEvent>(
181
+ event: TCEvent
182
+ ): Promise<Array<TypedListener<TCEvent>>>;
183
+ listeners(eventName?: string): Promise<Array<Listener>>;
184
+ removeAllListeners<TCEvent extends TypedContractEvent>(
185
+ event?: TCEvent
186
+ ): Promise<this>;
187
+
188
+ addTest: TypedContractMethod<
189
+ [a: BigNumberish[], b: BigNumberish[]],
190
+ [void],
191
+ "nonpayable"
192
+ >;
193
+
194
+ checkedAddTest: TypedContractMethod<
195
+ [a: BigNumberish, b: BigNumberish],
196
+ [void],
197
+ "nonpayable"
198
+ >;
199
+
200
+ checkedAddWithOverflowBitTest: TypedContractMethod<
201
+ [a: BigNumberish[], b: BigNumberish[]],
202
+ [void],
203
+ "nonpayable"
204
+ >;
205
+
206
+ checkedMulTest: TypedContractMethod<
207
+ [a: BigNumberish, b: BigNumberish],
208
+ [void],
209
+ "nonpayable"
210
+ >;
211
+
212
+ checkedMulWithOverflowBitTest: TypedContractMethod<
213
+ [a: BigNumberish[], b: BigNumberish[]],
214
+ [void],
215
+ "nonpayable"
216
+ >;
217
+
218
+ checkedSubTest: TypedContractMethod<
219
+ [a: BigNumberish, b: BigNumberish],
220
+ [void],
221
+ "nonpayable"
222
+ >;
223
+
224
+ checkedSubWithOverflowBitTest: TypedContractMethod<
225
+ [a: BigNumberish[], b: BigNumberish[]],
226
+ [void],
227
+ "nonpayable"
228
+ >;
229
+
230
+ mulTest: TypedContractMethod<
231
+ [a: BigNumberish[], b: BigNumberish[]],
232
+ [void],
233
+ "nonpayable"
234
+ >;
235
+
236
+ numbers: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
237
+
238
+ numbersLHS: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
239
+
240
+ numbersRHS: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
241
+
242
+ overflows: TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
243
+
244
+ overflowsLHS: TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
245
+
246
+ overflowsRHS: TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
247
+
248
+ subTest: TypedContractMethod<
249
+ [a: BigNumberish[], b: BigNumberish[]],
250
+ [void],
251
+ "nonpayable"
252
+ >;
253
+
254
+ getFunction<T extends ContractMethod = ContractMethod>(
255
+ key: string | FunctionFragment
256
+ ): T;
257
+
258
+ getFunction(
259
+ nameOrSignature: "addTest"
260
+ ): TypedContractMethod<
261
+ [a: BigNumberish[], b: BigNumberish[]],
262
+ [void],
263
+ "nonpayable"
264
+ >;
265
+ getFunction(
266
+ nameOrSignature: "checkedAddTest"
267
+ ): TypedContractMethod<
268
+ [a: BigNumberish, b: BigNumberish],
269
+ [void],
270
+ "nonpayable"
271
+ >;
272
+ getFunction(
273
+ nameOrSignature: "checkedAddWithOverflowBitTest"
274
+ ): TypedContractMethod<
275
+ [a: BigNumberish[], b: BigNumberish[]],
276
+ [void],
277
+ "nonpayable"
278
+ >;
279
+ getFunction(
280
+ nameOrSignature: "checkedMulTest"
281
+ ): TypedContractMethod<
282
+ [a: BigNumberish, b: BigNumberish],
283
+ [void],
284
+ "nonpayable"
285
+ >;
286
+ getFunction(
287
+ nameOrSignature: "checkedMulWithOverflowBitTest"
288
+ ): TypedContractMethod<
289
+ [a: BigNumberish[], b: BigNumberish[]],
290
+ [void],
291
+ "nonpayable"
292
+ >;
293
+ getFunction(
294
+ nameOrSignature: "checkedSubTest"
295
+ ): TypedContractMethod<
296
+ [a: BigNumberish, b: BigNumberish],
297
+ [void],
298
+ "nonpayable"
299
+ >;
300
+ getFunction(
301
+ nameOrSignature: "checkedSubWithOverflowBitTest"
302
+ ): TypedContractMethod<
303
+ [a: BigNumberish[], b: BigNumberish[]],
304
+ [void],
305
+ "nonpayable"
306
+ >;
307
+ getFunction(
308
+ nameOrSignature: "mulTest"
309
+ ): TypedContractMethod<
310
+ [a: BigNumberish[], b: BigNumberish[]],
311
+ [void],
312
+ "nonpayable"
313
+ >;
314
+ getFunction(
315
+ nameOrSignature: "numbers"
316
+ ): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
317
+ getFunction(
318
+ nameOrSignature: "numbersLHS"
319
+ ): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
320
+ getFunction(
321
+ nameOrSignature: "numbersRHS"
322
+ ): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
323
+ getFunction(
324
+ nameOrSignature: "overflows"
325
+ ): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
326
+ getFunction(
327
+ nameOrSignature: "overflowsLHS"
328
+ ): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
329
+ getFunction(
330
+ nameOrSignature: "overflowsRHS"
331
+ ): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
332
+ getFunction(
333
+ nameOrSignature: "subTest"
334
+ ): TypedContractMethod<
335
+ [a: BigNumberish[], b: BigNumberish[]],
336
+ [void],
337
+ "nonpayable"
338
+ >;
339
+
340
+ filters: {};
341
+ }