@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
@@ -2,21 +2,53 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
  export * as checkedArithmeticWIthOverflowBitTestsContractSol from "./CheckedArithmeticWIthOverflowBitTestsContract.sol";
5
+ export { Arithmetic128TestsContract__factory } from "./Arithmetic128TestsContract__factory";
6
+ export { Arithmetic256TestsContract__factory } from "./Arithmetic256TestsContract__factory";
5
7
  export { ArithmeticTestsContract__factory } from "./ArithmeticTestsContract__factory";
8
+ export { Bitwise128TestsContract__factory } from "./Bitwise128TestsContract__factory";
9
+ export { Bitwise256TestsContract__factory } from "./Bitwise256TestsContract__factory";
6
10
  export { BitwiseTestsContract__factory } from "./BitwiseTestsContract__factory";
11
+ export { CheckedArithmetic128WithOverflowBitTestsContract__factory } from "./CheckedArithmetic128WithOverflowBitTestsContract__factory";
12
+ export { CheckedArithmetic256WithOverflowBitTestsContract__factory } from "./CheckedArithmetic256WithOverflowBitTestsContract__factory";
13
+ export { Comparison128TestsContract__factory } from "./Comparison128TestsContract__factory";
7
14
  export { Comparison1TestsContract__factory } from "./Comparison1TestsContract__factory";
15
+ export { Comparison256TestsContract__factory } from "./Comparison256TestsContract__factory";
8
16
  export { Comparison2TestsContract__factory } from "./Comparison2TestsContract__factory";
17
+ export { MinMax128TestsContract__factory } from "./MinMax128TestsContract__factory";
18
+ export { MinMax256TestsContract__factory } from "./MinMax256TestsContract__factory";
9
19
  export { MinMaxTestsContract__factory } from "./MinMaxTestsContract__factory";
20
+ export { MinimalImplementation__factory } from "./MinimalImplementation__factory";
21
+ export { MinimalProxy__factory } from "./MinimalProxy__factory";
10
22
  export { Miscellaneous1TestsContract__factory } from "./Miscellaneous1TestsContract__factory";
11
23
  export { MiscellaneousTestsContract__factory } from "./MiscellaneousTestsContract__factory";
24
+ export { MpcOperations128TestContract__factory } from "./MpcOperations128TestContract__factory";
25
+ export { MpcOperationsTestContract__factory } from "./MpcOperationsTestContract__factory";
26
+ export { Mux128TestsContract__factory } from "./Mux128TestsContract__factory";
27
+ export { Mux256TestsContract__factory } from "./Mux256TestsContract__factory";
12
28
  export { OffboardToUserKeyTestContract__factory } from "./OffboardToUserKeyTestContract__factory";
29
+ export { OnBoard128TestsContract__factory } from "./OnBoard128TestsContract__factory";
30
+ export { OnBoard256TestsContract__factory } from "./OnBoard256TestsContract__factory";
31
+ export { PrivacyImplementationV1__factory } from "./PrivacyImplementationV1__factory";
32
+ export { PrivacyImplementationV2__factory } from "./PrivacyImplementationV2__factory";
33
+ export { PrivacyProxy__factory } from "./PrivacyProxy__factory";
34
+ export { Random128TestsContract__factory } from "./Random128TestsContract__factory";
35
+ export { Random256TestsContract__factory } from "./Random256TestsContract__factory";
36
+ export { Shift128TestsContract__factory } from "./Shift128TestsContract__factory";
37
+ export { Shift256TestsContract__factory } from "./Shift256TestsContract__factory";
13
38
  export { ShiftTestsContract__factory } from "./ShiftTestsContract__factory";
14
39
  export { StringTestsContract__factory } from "./StringTestsContract__factory";
40
+ export { Transfer128TestsContract__factory } from "./Transfer128TestsContract__factory";
41
+ export { Transfer256TestsContract__factory } from "./Transfer256TestsContract__factory";
15
42
  export { TransferScalarTestsContract__factory } from "./TransferScalarTestsContract__factory";
16
43
  export { TransferTestsContract__factory } from "./TransferTestsContract__factory";
44
+ export { TransferWithAllowance128TestsContract__factory } from "./TransferWithAllowance128TestsContract__factory";
45
+ export { TransferWithAllowance256TestsContract__factory } from "./TransferWithAllowance256TestsContract__factory";
17
46
  export { TransferWithAllowance64_16TestsContract__factory } from "./TransferWithAllowance64_16TestsContract__factory";
18
47
  export { TransferWithAllowance64_32TestsContract__factory } from "./TransferWithAllowance64_32TestsContract__factory";
19
48
  export { TransferWithAllowance64_64TestsContract__factory } from "./TransferWithAllowance64_64TestsContract__factory";
20
49
  export { TransferWithAllowance64_8TestsContract__factory } from "./TransferWithAllowance64_8TestsContract__factory";
21
50
  export { TransferWithAllowanceScalarTestsContract__factory } from "./TransferWithAllowanceScalarTestsContract__factory";
22
51
  export { TransferWithAllowanceTestsContract__factory } from "./TransferWithAllowanceTestsContract__factory";
52
+ export { ValidateCiphertext128TestsContract__factory } from "./ValidateCiphertext128TestsContract__factory";
53
+ export { ValidateCiphertext256TestsContract__factory } from "./ValidateCiphertext256TestsContract__factory";
54
+ export { ValidateCiphertextTestsContract__factory } from "./ValidateCiphertextTestsContract__factory";
@@ -33,9 +33,9 @@ const _abi = [
33
33
  type: "address",
34
34
  },
35
35
  {
36
- internalType: "uint64",
36
+ internalType: "uint256",
37
37
  name: "value",
38
- type: "uint64",
38
+ type: "uint256",
39
39
  },
40
40
  ],
41
41
  name: "approve",
@@ -86,9 +86,9 @@ const _abi = [
86
86
  type: "address",
87
87
  },
88
88
  {
89
- internalType: "uint64",
89
+ internalType: "uint256",
90
90
  name: "value",
91
- type: "uint64",
91
+ type: "uint256",
92
92
  },
93
93
  ],
94
94
  name: "transfer",
@@ -120,9 +120,9 @@ const _abi = [
120
120
  type: "address",
121
121
  },
122
122
  {
123
- internalType: "uint64",
123
+ internalType: "uint256",
124
124
  name: "value",
125
- type: "uint64",
125
+ type: "uint256",
126
126
  },
127
127
  ],
128
128
  name: "transferFrom",
@@ -139,7 +139,7 @@ const _abi = [
139
139
  ] as const;
140
140
 
141
141
  const _bytecode =
142
- "0x608060405234801561001057600080fd5b506105b3806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632a308b3a146100515780633ead9adb146100775780634a0092111461008a578063ce4ec16a146100ad575b600080fd5b61006461005f3660046104a1565b6100c0565b6040519081526020015b60405180910390f35b6100646100853660046104e4565b610184565b61009d610098366004610538565b610253565b604051901515815260200161006e565b61009d6100bb3660046104a1565b6102f0565b60008373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb846100e8856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af1158015610158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c919061056b565b949350505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd85856101ad866103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024a919061056b565b95945050505050565b6040517f8269bcc300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015260009190841690638269bcc3906024016020604051808303816000875af11580156102c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e99190610584565b9392505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663095ea7b384610318856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af1158015610388573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c9190610584565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016020604051808303816000875af1158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a919061056b565b92915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461048457600080fd5b919050565b803567ffffffffffffffff8116811461048457600080fd5b6000806000606084860312156104b657600080fd5b6104bf84610460565b92506104cd60208501610460565b91506104db60408501610489565b90509250925092565b600080600080608085870312156104fa57600080fd5b61050385610460565b935061051160208601610460565b925061051f60408601610460565b915061052d60608601610489565b905092959194509250565b6000806040838503121561054b57600080fd5b61055483610460565b915061056260208401610460565b90509250929050565b60006020828403121561057d57600080fd5b5051919050565b60006020828403121561059657600080fd5b815180151581146102e957600080fdfea164736f6c6343000813000a";
142
+ "0x608060405234801561001057600080fd5b50610582806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806315dacbea146100515780634a00921114610077578063beabacc81461009a578063e1f21c67146100ad575b600080fd5b61006461005f366004610480565b6100c0565b6040519081526020015b60405180910390f35b61008a6100853660046104cb565b61018f565b604051901515815260200161006e565b6100646100a83660046104fe565b61022c565b61008a6100bb3660046104fe565b6102f0565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd85856100e9866103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610162573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610186919061053a565b95945050505050565b6040517f8269bcc300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015260009190841690638269bcc3906024016020604051808303816000875af1158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190610553565b9392505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84610254856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af11580156102c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e8919061053a565b949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663095ea7b384610318856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af1158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e89190610553565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526024810182905260009060649063d9b60b60906044016020604051808303816000875af115801561042d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610451919061053a565b92915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461047b57600080fd5b919050565b6000806000806080858703121561049657600080fd5b61049f85610457565b93506104ad60208601610457565b92506104bb60408601610457565b9396929550929360600135925050565b600080604083850312156104de57600080fd5b6104e783610457565b91506104f560208401610457565b90509250929050565b60008060006060848603121561051357600080fd5b61051c84610457565b925061052a60208501610457565b9150604084013590509250925092565b60006020828403121561054c57600080fd5b5051919050565b60006020828403121561056557600080fd5b8151801515811461022557600080fdfea164736f6c6343000813000a";
143
143
 
144
144
  type PrivateERC20WalletMockConstructorParams =
145
145
  | [signer?: Signer]
@@ -25,16 +25,40 @@ const _abi = [
25
25
  type: "address",
26
26
  },
27
27
  {
28
+ components: [
29
+ {
30
+ internalType: "ctUint128",
31
+ name: "ciphertextHigh",
32
+ type: "uint256",
33
+ },
34
+ {
35
+ internalType: "ctUint128",
36
+ name: "ciphertextLow",
37
+ type: "uint256",
38
+ },
39
+ ],
28
40
  indexed: false,
29
- internalType: "ctUint64",
41
+ internalType: "struct ctUint256",
30
42
  name: "ownerValue",
31
- type: "uint256",
43
+ type: "tuple",
32
44
  },
33
45
  {
46
+ components: [
47
+ {
48
+ internalType: "ctUint128",
49
+ name: "ciphertextHigh",
50
+ type: "uint256",
51
+ },
52
+ {
53
+ internalType: "ctUint128",
54
+ name: "ciphertextLow",
55
+ type: "uint256",
56
+ },
57
+ ],
34
58
  indexed: false,
35
- internalType: "ctUint64",
59
+ internalType: "struct ctUint256",
36
60
  name: "spenderValue",
37
- type: "uint256",
61
+ type: "tuple",
38
62
  },
39
63
  ],
40
64
  name: "Approval",
@@ -56,16 +80,40 @@ const _abi = [
56
80
  type: "address",
57
81
  },
58
82
  {
83
+ components: [
84
+ {
85
+ internalType: "ctUint128",
86
+ name: "ciphertextHigh",
87
+ type: "uint256",
88
+ },
89
+ {
90
+ internalType: "ctUint128",
91
+ name: "ciphertextLow",
92
+ type: "uint256",
93
+ },
94
+ ],
59
95
  indexed: false,
60
- internalType: "ctUint64",
96
+ internalType: "struct ctUint256",
61
97
  name: "senderValue",
62
- type: "uint256",
98
+ type: "tuple",
63
99
  },
64
100
  {
101
+ components: [
102
+ {
103
+ internalType: "ctUint128",
104
+ name: "ciphertextHigh",
105
+ type: "uint256",
106
+ },
107
+ {
108
+ internalType: "ctUint128",
109
+ name: "ciphertextLow",
110
+ type: "uint256",
111
+ },
112
+ ],
65
113
  indexed: false,
66
- internalType: "ctUint64",
114
+ internalType: "struct ctUint256",
67
115
  name: "receiverValue",
68
- type: "uint256",
116
+ type: "tuple",
69
117
  },
70
118
  ],
71
119
  name: "Transfer",
@@ -87,7 +135,7 @@ const _abi = [
87
135
  name: "allowance",
88
136
  outputs: [
89
137
  {
90
- internalType: "gtUint64",
138
+ internalType: "gtUint256",
91
139
  name: "",
92
140
  type: "uint256",
93
141
  },
@@ -113,19 +161,55 @@ const _abi = [
113
161
  {
114
162
  components: [
115
163
  {
116
- internalType: "ctUint64",
164
+ components: [
165
+ {
166
+ internalType: "ctUint128",
167
+ name: "ciphertextHigh",
168
+ type: "uint256",
169
+ },
170
+ {
171
+ internalType: "ctUint128",
172
+ name: "ciphertextLow",
173
+ type: "uint256",
174
+ },
175
+ ],
176
+ internalType: "struct ctUint256",
117
177
  name: "ciphertext",
118
- type: "uint256",
178
+ type: "tuple",
119
179
  },
120
180
  {
121
- internalType: "ctUint64",
181
+ components: [
182
+ {
183
+ internalType: "ctUint128",
184
+ name: "ciphertextHigh",
185
+ type: "uint256",
186
+ },
187
+ {
188
+ internalType: "ctUint128",
189
+ name: "ciphertextLow",
190
+ type: "uint256",
191
+ },
192
+ ],
193
+ internalType: "struct ctUint256",
122
194
  name: "ownerCiphertext",
123
- type: "uint256",
195
+ type: "tuple",
124
196
  },
125
197
  {
126
- internalType: "ctUint64",
198
+ components: [
199
+ {
200
+ internalType: "ctUint128",
201
+ name: "ciphertextHigh",
202
+ type: "uint256",
203
+ },
204
+ {
205
+ internalType: "ctUint128",
206
+ name: "ciphertextLow",
207
+ type: "uint256",
208
+ },
209
+ ],
210
+ internalType: "struct ctUint256",
127
211
  name: "spenderCiphertext",
128
- type: "uint256",
212
+ type: "tuple",
129
213
  },
130
214
  ],
131
215
  internalType: "struct IPrivateERC20.Allowance",
@@ -144,7 +228,7 @@ const _abi = [
144
228
  type: "address",
145
229
  },
146
230
  {
147
- internalType: "gtUint64",
231
+ internalType: "gtUint256",
148
232
  name: "value",
149
233
  type: "uint256",
150
234
  },
@@ -170,9 +254,21 @@ const _abi = [
170
254
  {
171
255
  components: [
172
256
  {
173
- internalType: "ctUint64",
257
+ components: [
258
+ {
259
+ internalType: "ctUint128",
260
+ name: "ciphertextHigh",
261
+ type: "uint256",
262
+ },
263
+ {
264
+ internalType: "ctUint128",
265
+ name: "ciphertextLow",
266
+ type: "uint256",
267
+ },
268
+ ],
269
+ internalType: "struct ctUint256",
174
270
  name: "ciphertext",
175
- type: "uint256",
271
+ type: "tuple",
176
272
  },
177
273
  {
178
274
  internalType: "bytes",
@@ -180,7 +276,7 @@ const _abi = [
180
276
  type: "bytes",
181
277
  },
182
278
  ],
183
- internalType: "struct itUint64",
279
+ internalType: "struct itUint256",
184
280
  name: "value",
185
281
  type: "tuple",
186
282
  },
@@ -207,9 +303,21 @@ const _abi = [
207
303
  name: "balanceOf",
208
304
  outputs: [
209
305
  {
210
- internalType: "ctUint64",
306
+ components: [
307
+ {
308
+ internalType: "ctUint128",
309
+ name: "ciphertextHigh",
310
+ type: "uint256",
311
+ },
312
+ {
313
+ internalType: "ctUint128",
314
+ name: "ciphertextLow",
315
+ type: "uint256",
316
+ },
317
+ ],
318
+ internalType: "struct ctUint256",
211
319
  name: "",
212
- type: "uint256",
320
+ type: "tuple",
213
321
  },
214
322
  ],
215
323
  stateMutability: "view",
@@ -220,7 +328,7 @@ const _abi = [
220
328
  name: "balanceOf",
221
329
  outputs: [
222
330
  {
223
- internalType: "gtUint64",
331
+ internalType: "gtUint256",
224
332
  name: "",
225
333
  type: "uint256",
226
334
  },
@@ -270,9 +378,21 @@ const _abi = [
270
378
  {
271
379
  components: [
272
380
  {
273
- internalType: "ctUint64",
381
+ components: [
382
+ {
383
+ internalType: "ctUint128",
384
+ name: "ciphertextHigh",
385
+ type: "uint256",
386
+ },
387
+ {
388
+ internalType: "ctUint128",
389
+ name: "ciphertextLow",
390
+ type: "uint256",
391
+ },
392
+ ],
393
+ internalType: "struct ctUint256",
274
394
  name: "ciphertext",
275
- type: "uint256",
395
+ type: "tuple",
276
396
  },
277
397
  {
278
398
  internalType: "bytes",
@@ -280,7 +400,7 @@ const _abi = [
280
400
  type: "bytes",
281
401
  },
282
402
  ],
283
- internalType: "struct itUint64",
403
+ internalType: "struct itUint256",
284
404
  name: "value",
285
405
  type: "tuple",
286
406
  },
@@ -304,7 +424,7 @@ const _abi = [
304
424
  type: "address",
305
425
  },
306
426
  {
307
- internalType: "gtUint64",
427
+ internalType: "gtUint256",
308
428
  name: "value",
309
429
  type: "uint256",
310
430
  },
@@ -333,21 +453,9 @@ const _abi = [
333
453
  type: "address",
334
454
  },
335
455
  {
336
- components: [
337
- {
338
- internalType: "ctUint64",
339
- name: "ciphertext",
340
- type: "uint256",
341
- },
342
- {
343
- internalType: "bytes",
344
- name: "signature",
345
- type: "bytes",
346
- },
347
- ],
348
- internalType: "struct itUint64",
456
+ internalType: "gtUint256",
349
457
  name: "value",
350
- type: "tuple",
458
+ type: "uint256",
351
459
  },
352
460
  ],
353
461
  name: "transferFrom",
@@ -374,9 +482,33 @@ const _abi = [
374
482
  type: "address",
375
483
  },
376
484
  {
377
- internalType: "gtUint64",
485
+ components: [
486
+ {
487
+ components: [
488
+ {
489
+ internalType: "ctUint128",
490
+ name: "ciphertextHigh",
491
+ type: "uint256",
492
+ },
493
+ {
494
+ internalType: "ctUint128",
495
+ name: "ciphertextLow",
496
+ type: "uint256",
497
+ },
498
+ ],
499
+ internalType: "struct ctUint256",
500
+ name: "ciphertext",
501
+ type: "tuple",
502
+ },
503
+ {
504
+ internalType: "bytes",
505
+ name: "signature",
506
+ type: "bytes",
507
+ },
508
+ ],
509
+ internalType: "struct itUint256",
378
510
  name: "value",
379
- type: "uint256",
511
+ type: "tuple",
380
512
  },
381
513
  ],
382
514
  name: "transferFrom",