@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
 
@@ -54,15 +67,15 @@ export interface IPrivateERC20Interface extends Interface {
54
67
  | "allowance(address,bool)"
55
68
  | "allowance(address,address)"
56
69
  | "approve(address,uint256)"
57
- | "approve(address,(uint256,bytes))"
70
+ | "approve(address,((uint256,uint256),bytes))"
58
71
  | "balanceOf(address)"
59
72
  | "balanceOf()"
60
73
  | "setAccountEncryptionAddress"
61
74
  | "totalSupply"
62
- | "transfer(address,(uint256,bytes))"
75
+ | "transfer(address,((uint256,uint256),bytes))"
63
76
  | "transfer(address,uint256)"
64
- | "transferFrom(address,address,(uint256,bytes))"
65
77
  | "transferFrom(address,address,uint256)"
78
+ | "transferFrom(address,address,((uint256,uint256),bytes))"
66
79
  ): FunctionFragment;
67
80
 
68
81
  getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment;
@@ -80,8 +93,8 @@ export interface IPrivateERC20Interface extends Interface {
80
93
  values: [AddressLike, BigNumberish]
81
94
  ): string;
82
95
  encodeFunctionData(
83
- functionFragment: "approve(address,(uint256,bytes))",
84
- values: [AddressLike, ItUint64Struct]
96
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
97
+ values: [AddressLike, ItUint256Struct]
85
98
  ): string;
86
99
  encodeFunctionData(
87
100
  functionFragment: "balanceOf(address)",
@@ -100,21 +113,21 @@ export interface IPrivateERC20Interface extends Interface {
100
113
  values?: undefined
101
114
  ): string;
102
115
  encodeFunctionData(
103
- functionFragment: "transfer(address,(uint256,bytes))",
104
- values: [AddressLike, ItUint64Struct]
116
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
117
+ values: [AddressLike, ItUint256Struct]
105
118
  ): string;
106
119
  encodeFunctionData(
107
120
  functionFragment: "transfer(address,uint256)",
108
121
  values: [AddressLike, BigNumberish]
109
122
  ): string;
110
- encodeFunctionData(
111
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
112
- values: [AddressLike, AddressLike, ItUint64Struct]
113
- ): string;
114
123
  encodeFunctionData(
115
124
  functionFragment: "transferFrom(address,address,uint256)",
116
125
  values: [AddressLike, AddressLike, BigNumberish]
117
126
  ): string;
127
+ encodeFunctionData(
128
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
129
+ values: [AddressLike, AddressLike, ItUint256Struct]
130
+ ): string;
118
131
 
119
132
  decodeFunctionResult(
120
133
  functionFragment: "allowance(address,bool)",
@@ -129,7 +142,7 @@ export interface IPrivateERC20Interface extends Interface {
129
142
  data: BytesLike
130
143
  ): Result;
131
144
  decodeFunctionResult(
132
- functionFragment: "approve(address,(uint256,bytes))",
145
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
133
146
  data: BytesLike
134
147
  ): Result;
135
148
  decodeFunctionResult(
@@ -149,7 +162,7 @@ export interface IPrivateERC20Interface extends Interface {
149
162
  data: BytesLike
150
163
  ): Result;
151
164
  decodeFunctionResult(
152
- functionFragment: "transfer(address,(uint256,bytes))",
165
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
153
166
  data: BytesLike
154
167
  ): Result;
155
168
  decodeFunctionResult(
@@ -157,11 +170,11 @@ export interface IPrivateERC20Interface extends Interface {
157
170
  data: BytesLike
158
171
  ): Result;
159
172
  decodeFunctionResult(
160
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
173
+ functionFragment: "transferFrom(address,address,uint256)",
161
174
  data: BytesLike
162
175
  ): Result;
163
176
  decodeFunctionResult(
164
- functionFragment: "transferFrom(address,address,uint256)",
177
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
165
178
  data: BytesLike
166
179
  ): Result;
167
180
  }
@@ -170,20 +183,20 @@ export namespace ApprovalEvent {
170
183
  export type InputTuple = [
171
184
  owner: AddressLike,
172
185
  spender: AddressLike,
173
- ownerValue: BigNumberish,
174
- spenderValue: BigNumberish
186
+ ownerValue: CtUint256Struct,
187
+ spenderValue: CtUint256Struct
175
188
  ];
176
189
  export type OutputTuple = [
177
190
  owner: string,
178
191
  spender: string,
179
- ownerValue: bigint,
180
- spenderValue: bigint
192
+ ownerValue: CtUint256StructOutput,
193
+ spenderValue: CtUint256StructOutput
181
194
  ];
182
195
  export interface OutputObject {
183
196
  owner: string;
184
197
  spender: string;
185
- ownerValue: bigint;
186
- spenderValue: bigint;
198
+ ownerValue: CtUint256StructOutput;
199
+ spenderValue: CtUint256StructOutput;
187
200
  }
188
201
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
189
202
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -195,20 +208,20 @@ export namespace TransferEvent {
195
208
  export type InputTuple = [
196
209
  from: AddressLike,
197
210
  to: AddressLike,
198
- senderValue: BigNumberish,
199
- receiverValue: BigNumberish
211
+ senderValue: CtUint256Struct,
212
+ receiverValue: CtUint256Struct
200
213
  ];
201
214
  export type OutputTuple = [
202
215
  from: string,
203
216
  to: string,
204
- senderValue: bigint,
205
- receiverValue: bigint
217
+ senderValue: CtUint256StructOutput,
218
+ receiverValue: CtUint256StructOutput
206
219
  ];
207
220
  export interface OutputObject {
208
221
  from: string;
209
222
  to: string;
210
- senderValue: bigint;
211
- receiverValue: bigint;
223
+ senderValue: CtUint256StructOutput;
224
+ receiverValue: CtUint256StructOutput;
212
225
  }
213
226
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
214
227
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -277,15 +290,15 @@ export interface IPrivateERC20 extends BaseContract {
277
290
  "nonpayable"
278
291
  >;
279
292
 
280
- "approve(address,(uint256,bytes))": TypedContractMethod<
281
- [spender: AddressLike, value: ItUint64Struct],
293
+ "approve(address,((uint256,uint256),bytes))": TypedContractMethod<
294
+ [spender: AddressLike, value: ItUint256Struct],
282
295
  [boolean],
283
296
  "nonpayable"
284
297
  >;
285
298
 
286
299
  "balanceOf(address)": TypedContractMethod<
287
300
  [account: AddressLike],
288
- [bigint],
301
+ [CtUint256StructOutput],
289
302
  "view"
290
303
  >;
291
304
 
@@ -299,8 +312,8 @@ export interface IPrivateERC20 extends BaseContract {
299
312
 
300
313
  totalSupply: TypedContractMethod<[], [bigint], "view">;
301
314
 
302
- "transfer(address,(uint256,bytes))": TypedContractMethod<
303
- [to: AddressLike, value: ItUint64Struct],
315
+ "transfer(address,((uint256,uint256),bytes))": TypedContractMethod<
316
+ [to: AddressLike, value: ItUint256Struct],
304
317
  [bigint],
305
318
  "nonpayable"
306
319
  >;
@@ -311,14 +324,14 @@ export interface IPrivateERC20 extends BaseContract {
311
324
  "nonpayable"
312
325
  >;
313
326
 
314
- "transferFrom(address,address,(uint256,bytes))": TypedContractMethod<
315
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
327
+ "transferFrom(address,address,uint256)": TypedContractMethod<
328
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
316
329
  [bigint],
317
330
  "nonpayable"
318
331
  >;
319
332
 
320
- "transferFrom(address,address,uint256)": TypedContractMethod<
321
- [from: AddressLike, to: AddressLike, value: BigNumberish],
333
+ "transferFrom(address,address,((uint256,uint256),bytes))": TypedContractMethod<
334
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
322
335
  [bigint],
323
336
  "nonpayable"
324
337
  >;
@@ -349,15 +362,19 @@ export interface IPrivateERC20 extends BaseContract {
349
362
  "nonpayable"
350
363
  >;
351
364
  getFunction(
352
- nameOrSignature: "approve(address,(uint256,bytes))"
365
+ nameOrSignature: "approve(address,((uint256,uint256),bytes))"
353
366
  ): TypedContractMethod<
354
- [spender: AddressLike, value: ItUint64Struct],
367
+ [spender: AddressLike, value: ItUint256Struct],
355
368
  [boolean],
356
369
  "nonpayable"
357
370
  >;
358
371
  getFunction(
359
372
  nameOrSignature: "balanceOf(address)"
360
- ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
373
+ ): TypedContractMethod<
374
+ [account: AddressLike],
375
+ [CtUint256StructOutput],
376
+ "view"
377
+ >;
361
378
  getFunction(
362
379
  nameOrSignature: "balanceOf()"
363
380
  ): TypedContractMethod<[], [bigint], "nonpayable">;
@@ -368,9 +385,9 @@ export interface IPrivateERC20 extends BaseContract {
368
385
  nameOrSignature: "totalSupply"
369
386
  ): TypedContractMethod<[], [bigint], "view">;
370
387
  getFunction(
371
- nameOrSignature: "transfer(address,(uint256,bytes))"
388
+ nameOrSignature: "transfer(address,((uint256,uint256),bytes))"
372
389
  ): TypedContractMethod<
373
- [to: AddressLike, value: ItUint64Struct],
390
+ [to: AddressLike, value: ItUint256Struct],
374
391
  [bigint],
375
392
  "nonpayable"
376
393
  >;
@@ -382,16 +399,16 @@ export interface IPrivateERC20 extends BaseContract {
382
399
  "nonpayable"
383
400
  >;
384
401
  getFunction(
385
- nameOrSignature: "transferFrom(address,address,(uint256,bytes))"
402
+ nameOrSignature: "transferFrom(address,address,uint256)"
386
403
  ): TypedContractMethod<
387
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
404
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
388
405
  [bigint],
389
406
  "nonpayable"
390
407
  >;
391
408
  getFunction(
392
- nameOrSignature: "transferFrom(address,address,uint256)"
409
+ nameOrSignature: "transferFrom(address,address,((uint256,uint256),bytes))"
393
410
  ): TypedContractMethod<
394
- [from: AddressLike, to: AddressLike, value: BigNumberish],
411
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
395
412
  [bigint],
396
413
  "nonpayable"
397
414
  >;
@@ -412,7 +429,7 @@ export interface IPrivateERC20 extends BaseContract {
412
429
  >;
413
430
 
414
431
  filters: {
415
- "Approval(address,address,uint256,uint256)": TypedContractEvent<
432
+ "Approval(address,address,tuple,tuple)": TypedContractEvent<
416
433
  ApprovalEvent.InputTuple,
417
434
  ApprovalEvent.OutputTuple,
418
435
  ApprovalEvent.OutputObject
@@ -423,7 +440,7 @@ export interface IPrivateERC20 extends BaseContract {
423
440
  ApprovalEvent.OutputObject
424
441
  >;
425
442
 
426
- "Transfer(address,address,uint256,uint256)": TypedContractEvent<
443
+ "Transfer(address,address,tuple,tuple)": TypedContractEvent<
427
444
  TransferEvent.InputTuple,
428
445
  TransferEvent.OutputTuple,
429
446
  TransferEvent.OutputObject
@@ -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 PrivateERC20Interface 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
  | "decimals"
@@ -64,10 +77,10 @@ export interface PrivateERC20Interface extends Interface {
64
77
  | "setAccountEncryptionAddress"
65
78
  | "symbol"
66
79
  | "totalSupply"
67
- | "transfer(address,(uint256,bytes))"
80
+ | "transfer(address,((uint256,uint256),bytes))"
68
81
  | "transfer(address,uint256)"
69
- | "transferFrom(address,address,(uint256,bytes))"
70
82
  | "transferFrom(address,address,uint256)"
83
+ | "transferFrom(address,address,((uint256,uint256),bytes))"
71
84
  ): FunctionFragment;
72
85
 
73
86
  getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment;
@@ -89,8 +102,8 @@ export interface PrivateERC20Interface extends Interface {
89
102
  values: [AddressLike, BigNumberish]
90
103
  ): string;
91
104
  encodeFunctionData(
92
- functionFragment: "approve(address,(uint256,bytes))",
93
- values: [AddressLike, ItUint64Struct]
105
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
106
+ values: [AddressLike, ItUint256Struct]
94
107
  ): string;
95
108
  encodeFunctionData(
96
109
  functionFragment: "balanceOf(address)",
@@ -116,21 +129,21 @@ export interface PrivateERC20Interface extends Interface {
116
129
  values?: undefined
117
130
  ): string;
118
131
  encodeFunctionData(
119
- functionFragment: "transfer(address,(uint256,bytes))",
120
- values: [AddressLike, ItUint64Struct]
132
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
133
+ values: [AddressLike, ItUint256Struct]
121
134
  ): string;
122
135
  encodeFunctionData(
123
136
  functionFragment: "transfer(address,uint256)",
124
137
  values: [AddressLike, BigNumberish]
125
138
  ): string;
126
- encodeFunctionData(
127
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
128
- values: [AddressLike, AddressLike, ItUint64Struct]
129
- ): string;
130
139
  encodeFunctionData(
131
140
  functionFragment: "transferFrom(address,address,uint256)",
132
141
  values: [AddressLike, AddressLike, BigNumberish]
133
142
  ): string;
143
+ encodeFunctionData(
144
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
145
+ values: [AddressLike, AddressLike, ItUint256Struct]
146
+ ): string;
134
147
 
135
148
  decodeFunctionResult(
136
149
  functionFragment: "accountEncryptionAddress",
@@ -149,7 +162,7 @@ export interface PrivateERC20Interface extends Interface {
149
162
  data: BytesLike
150
163
  ): Result;
151
164
  decodeFunctionResult(
152
- functionFragment: "approve(address,(uint256,bytes))",
165
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
153
166
  data: BytesLike
154
167
  ): Result;
155
168
  decodeFunctionResult(
@@ -176,7 +189,7 @@ export interface PrivateERC20Interface extends Interface {
176
189
  data: BytesLike
177
190
  ): Result;
178
191
  decodeFunctionResult(
179
- functionFragment: "transfer(address,(uint256,bytes))",
192
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
180
193
  data: BytesLike
181
194
  ): Result;
182
195
  decodeFunctionResult(
@@ -184,11 +197,11 @@ export interface PrivateERC20Interface extends Interface {
184
197
  data: BytesLike
185
198
  ): Result;
186
199
  decodeFunctionResult(
187
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
200
+ functionFragment: "transferFrom(address,address,uint256)",
188
201
  data: BytesLike
189
202
  ): Result;
190
203
  decodeFunctionResult(
191
- functionFragment: "transferFrom(address,address,uint256)",
204
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
192
205
  data: BytesLike
193
206
  ): Result;
194
207
  }
@@ -197,20 +210,20 @@ export namespace ApprovalEvent {
197
210
  export type InputTuple = [
198
211
  owner: AddressLike,
199
212
  spender: AddressLike,
200
- ownerValue: BigNumberish,
201
- spenderValue: BigNumberish
213
+ ownerValue: CtUint256Struct,
214
+ spenderValue: CtUint256Struct
202
215
  ];
203
216
  export type OutputTuple = [
204
217
  owner: string,
205
218
  spender: string,
206
- ownerValue: bigint,
207
- spenderValue: bigint
219
+ ownerValue: CtUint256StructOutput,
220
+ spenderValue: CtUint256StructOutput
208
221
  ];
209
222
  export interface OutputObject {
210
223
  owner: string;
211
224
  spender: string;
212
- ownerValue: bigint;
213
- spenderValue: bigint;
225
+ ownerValue: CtUint256StructOutput;
226
+ spenderValue: CtUint256StructOutput;
214
227
  }
215
228
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
216
229
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -222,20 +235,20 @@ export namespace TransferEvent {
222
235
  export type InputTuple = [
223
236
  from: AddressLike,
224
237
  to: AddressLike,
225
- senderValue: BigNumberish,
226
- receiverValue: BigNumberish
238
+ senderValue: CtUint256Struct,
239
+ receiverValue: CtUint256Struct
227
240
  ];
228
241
  export type OutputTuple = [
229
242
  from: string,
230
243
  to: string,
231
- senderValue: bigint,
232
- receiverValue: bigint
244
+ senderValue: CtUint256StructOutput,
245
+ receiverValue: CtUint256StructOutput
233
246
  ];
234
247
  export interface OutputObject {
235
248
  from: string;
236
249
  to: string;
237
- senderValue: bigint;
238
- receiverValue: bigint;
250
+ senderValue: CtUint256StructOutput;
251
+ receiverValue: CtUint256StructOutput;
239
252
  }
240
253
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
241
254
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -310,15 +323,15 @@ export interface PrivateERC20 extends BaseContract {
310
323
  "nonpayable"
311
324
  >;
312
325
 
313
- "approve(address,(uint256,bytes))": TypedContractMethod<
314
- [spender: AddressLike, value: ItUint64Struct],
326
+ "approve(address,((uint256,uint256),bytes))": TypedContractMethod<
327
+ [spender: AddressLike, value: ItUint256Struct],
315
328
  [boolean],
316
329
  "nonpayable"
317
330
  >;
318
331
 
319
332
  "balanceOf(address)": TypedContractMethod<
320
333
  [account: AddressLike],
321
- [bigint],
334
+ [CtUint256StructOutput],
322
335
  "view"
323
336
  >;
324
337
 
@@ -344,8 +357,8 @@ export interface PrivateERC20 extends BaseContract {
344
357
 
345
358
  totalSupply: TypedContractMethod<[], [bigint], "view">;
346
359
 
347
- "transfer(address,(uint256,bytes))": TypedContractMethod<
348
- [to: AddressLike, value: ItUint64Struct],
360
+ "transfer(address,((uint256,uint256),bytes))": TypedContractMethod<
361
+ [to: AddressLike, value: ItUint256Struct],
349
362
  [bigint],
350
363
  "nonpayable"
351
364
  >;
@@ -356,14 +369,14 @@ export interface PrivateERC20 extends BaseContract {
356
369
  "nonpayable"
357
370
  >;
358
371
 
359
- "transferFrom(address,address,(uint256,bytes))": TypedContractMethod<
360
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
372
+ "transferFrom(address,address,uint256)": TypedContractMethod<
373
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
361
374
  [bigint],
362
375
  "nonpayable"
363
376
  >;
364
377
 
365
- "transferFrom(address,address,uint256)": TypedContractMethod<
366
- [from: AddressLike, to: AddressLike, value: BigNumberish],
378
+ "transferFrom(address,address,((uint256,uint256),bytes))": TypedContractMethod<
379
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
367
380
  [bigint],
368
381
  "nonpayable"
369
382
  >;
@@ -397,15 +410,19 @@ export interface PrivateERC20 extends BaseContract {
397
410
  "nonpayable"
398
411
  >;
399
412
  getFunction(
400
- nameOrSignature: "approve(address,(uint256,bytes))"
413
+ nameOrSignature: "approve(address,((uint256,uint256),bytes))"
401
414
  ): TypedContractMethod<
402
- [spender: AddressLike, value: ItUint64Struct],
415
+ [spender: AddressLike, value: ItUint256Struct],
403
416
  [boolean],
404
417
  "nonpayable"
405
418
  >;
406
419
  getFunction(
407
420
  nameOrSignature: "balanceOf(address)"
408
- ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
421
+ ): TypedContractMethod<
422
+ [account: AddressLike],
423
+ [CtUint256StructOutput],
424
+ "view"
425
+ >;
409
426
  getFunction(
410
427
  nameOrSignature: "balanceOf()"
411
428
  ): TypedContractMethod<[], [bigint], "nonpayable">;
@@ -436,9 +453,9 @@ export interface PrivateERC20 extends BaseContract {
436
453
  nameOrSignature: "totalSupply"
437
454
  ): TypedContractMethod<[], [bigint], "view">;
438
455
  getFunction(
439
- nameOrSignature: "transfer(address,(uint256,bytes))"
456
+ nameOrSignature: "transfer(address,((uint256,uint256),bytes))"
440
457
  ): TypedContractMethod<
441
- [to: AddressLike, value: ItUint64Struct],
458
+ [to: AddressLike, value: ItUint256Struct],
442
459
  [bigint],
443
460
  "nonpayable"
444
461
  >;
@@ -450,16 +467,16 @@ export interface PrivateERC20 extends BaseContract {
450
467
  "nonpayable"
451
468
  >;
452
469
  getFunction(
453
- nameOrSignature: "transferFrom(address,address,(uint256,bytes))"
470
+ nameOrSignature: "transferFrom(address,address,uint256)"
454
471
  ): TypedContractMethod<
455
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
472
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
456
473
  [bigint],
457
474
  "nonpayable"
458
475
  >;
459
476
  getFunction(
460
- nameOrSignature: "transferFrom(address,address,uint256)"
477
+ nameOrSignature: "transferFrom(address,address,((uint256,uint256),bytes))"
461
478
  ): TypedContractMethod<
462
- [from: AddressLike, to: AddressLike, value: BigNumberish],
479
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
463
480
  [bigint],
464
481
  "nonpayable"
465
482
  >;
@@ -480,7 +497,7 @@ export interface PrivateERC20 extends BaseContract {
480
497
  >;
481
498
 
482
499
  filters: {
483
- "Approval(address,address,uint256,uint256)": TypedContractEvent<
500
+ "Approval(address,address,tuple,tuple)": TypedContractEvent<
484
501
  ApprovalEvent.InputTuple,
485
502
  ApprovalEvent.OutputTuple,
486
503
  ApprovalEvent.OutputObject
@@ -491,7 +508,7 @@ export interface PrivateERC20 extends BaseContract {
491
508
  ApprovalEvent.OutputObject
492
509
  >;
493
510
 
494
- "Transfer(address,address,uint256,uint256)": TypedContractEvent<
511
+ "Transfer(address,address,tuple,tuple)": TypedContractEvent<
495
512
  TransferEvent.InputTuple,
496
513
  TransferEvent.OutputTuple,
497
514
  TransferEvent.OutputObject