@coti-io/coti-contracts 1.1.0 → 1.3.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 (433) hide show
  1. package/.github/workflows/npm-publish.yml +19 -15
  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/messaging/PrivateMessaging.sol +456 -0
  9. package/contracts/mocks/messaging/PrivateMessagingHarness.sol +54 -0
  10. package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +31 -0
  11. package/contracts/mocks/token/ERC20DecimalsMock.sol +21 -0
  12. package/contracts/mocks/token/ERC20Mock.sol +19 -0
  13. package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +18 -0
  14. package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +18 -0
  15. package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +44 -0
  16. package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +23 -0
  17. package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +29 -0
  18. package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +9 -4
  19. package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +39 -0
  20. package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +29 -0
  21. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +18 -0
  22. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +12 -0
  23. package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +123 -0
  24. package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +122 -0
  25. package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +65 -0
  26. package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +65 -0
  27. package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +64 -0
  28. package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +64 -0
  29. package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +98 -0
  30. package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +98 -0
  31. package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +44 -0
  32. package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +44 -0
  33. package/contracts/mocks/utils/mpc/MinimalImplementation.sol +55 -0
  34. package/contracts/mocks/utils/mpc/MinimalProxy.sol +27 -0
  35. package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +267 -0
  36. package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +334 -0
  37. package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +24 -0
  38. package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +24 -0
  39. package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +93 -0
  40. package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +116 -0
  41. package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +157 -0
  42. package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +133 -0
  43. package/contracts/mocks/utils/mpc/PrivacyProxy.sol +137 -0
  44. package/contracts/mocks/utils/mpc/Random128TestsContract.sol +32 -0
  45. package/contracts/mocks/utils/mpc/Random256TestsContract.sol +32 -0
  46. package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +36 -0
  47. package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +36 -0
  48. package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +29 -0
  49. package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +29 -0
  50. package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +32 -0
  51. package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +32 -0
  52. package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +59 -0
  53. package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +63 -0
  54. package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +99 -0
  55. package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +7 -6
  56. package/contracts/node/CotiNodeRewards.sol +199 -0
  57. package/contracts/node/SoulboundNodeNFT.sol +519 -0
  58. package/contracts/oracle/CotiPriceConsumer.sol +103 -0
  59. package/contracts/oracle/ICotiPriceConsumer.sol +15 -0
  60. package/contracts/oracle/IStdReference.sol +26 -0
  61. package/contracts/privacyBridge/PrivacyBridge.sol +600 -0
  62. package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +316 -0
  63. package/contracts/privacyBridge/PrivacyBridgeERC20.sol +333 -0
  64. package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +22 -0
  65. package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +23 -0
  66. package/contracts/privacyBridge/PrivacyBridgeWADA.sol +23 -0
  67. package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +23 -0
  68. package/contracts/privacyBridge/PrivacyBridgeWETH.sol +23 -0
  69. package/contracts/privacyBridge/PrivacyBridgegCoti.sol +23 -0
  70. package/contracts/token/PrivateERC20/IPrivateERC20.sol +273 -40
  71. package/contracts/token/PrivateERC20/ITokenReceiver.sol +17 -0
  72. package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +20 -0
  73. package/contracts/token/PrivateERC20/PrivateERC20.sol +861 -152
  74. package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +17 -0
  75. package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +13 -0
  76. package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +17 -0
  77. package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +17 -0
  78. package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +17 -0
  79. package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +17 -0
  80. package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +13 -0
  81. package/contracts/utils/mpc/MpcCore.sol +10780 -4962
  82. package/contracts/utils/mpc/MpcInterface.sol +7 -2
  83. package/hardhat/gasPriceBump.ts +60 -0
  84. package/hardhat.config.ts +63 -12
  85. package/package.json +22 -4
  86. package/scripts/add-bridge-operators.cjs +87 -0
  87. package/scripts/deploy-coti-price-consumer-mainnet.cjs +49 -0
  88. package/scripts/deployCotiNodeRewards.ts +51 -0
  89. package/scripts/deploySoulboundNodeNFT.ts +57 -0
  90. package/scripts/redeploy-private-and-bridges.cjs +201 -0
  91. package/scripts/set-bridge-limits-mainnet.cjs +177 -0
  92. package/scripts/verify-mainnet-private-bridges.cjs +289 -0
  93. package/sonar-project.properties +11 -0
  94. package/test/messaging/PrivateMessaging.test.ts +158 -0
  95. package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +1663 -0
  96. package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +250 -0
  97. package/test/token/PrivateERC20/PrivateERC20.test.ts +1109 -268
  98. package/test/utils/mpc/Bitwise128.test.ts +92 -0
  99. package/test/utils/mpc/Bitwise256.test.ts +101 -0
  100. package/test/utils/mpc/BuildInputText128.test.ts +398 -0
  101. package/test/utils/mpc/CheckedArithmetic128.test.ts +45 -0
  102. package/test/utils/mpc/CheckedArithmetic256.test.ts +45 -0
  103. package/test/utils/mpc/Comparison128.test.ts +48 -0
  104. package/test/utils/mpc/Comparison256.test.ts +48 -0
  105. package/test/utils/mpc/InvalidCiphertext.test.ts +179 -0
  106. package/test/utils/mpc/InvalidCiphertext128.test.ts +179 -0
  107. package/test/utils/mpc/InvalidCiphertext256.test.ts +201 -0
  108. package/test/utils/mpc/InvalidTransfer128.test.ts +166 -0
  109. package/test/utils/mpc/InvalidTransfer256.test.ts +158 -0
  110. package/test/utils/mpc/MinMax128.test.ts +44 -0
  111. package/test/utils/mpc/MinMax256.test.ts +44 -0
  112. package/test/utils/mpc/MinimalProxyDemo.test.ts +280 -0
  113. package/test/utils/mpc/MpcOperations.test.ts +589 -0
  114. package/test/utils/mpc/MpcOperations128.test.ts +632 -0
  115. package/test/utils/mpc/Mux128.test.ts +41 -0
  116. package/test/utils/mpc/Mux256.test.ts +41 -0
  117. package/test/utils/mpc/NegativeCases.test.ts +478 -0
  118. package/test/utils/mpc/NegativeCases128.test.ts +237 -0
  119. package/test/utils/mpc/NegativeCases256.test.ts +236 -0
  120. package/test/utils/mpc/OnBoard128.test.ts +90 -0
  121. package/test/utils/mpc/OnBoard256.test.ts +114 -0
  122. package/test/utils/mpc/Precompile128.test.ts +51 -0
  123. package/test/utils/mpc/Precompile256.test.ts +115 -0
  124. package/test/utils/mpc/ProxyValidation.test.ts +199 -0
  125. package/test/utils/mpc/Random128.test.ts +47 -0
  126. package/test/utils/mpc/Random256.test.ts +47 -0
  127. package/test/utils/mpc/Shift128.test.ts +41 -0
  128. package/test/utils/mpc/Shift256.test.ts +41 -0
  129. package/test/utils/mpc/Transfer128.test.ts +46 -0
  130. package/test/utils/mpc/Transfer256.test.ts +46 -0
  131. package/test/utils/mpc/TransferWithAllowance128.test.ts +48 -0
  132. package/test/utils/mpc/TransferWithAllowance256.test.ts +48 -0
  133. package/test/utils/mpc/UpgradeablePrivacyProxy.test.ts +307 -0
  134. package/test/utils/mpc/ValidateCiphertext.test.ts +221 -0
  135. package/test/utils/mpc/ValidateCiphertext256.test.ts +161 -0
  136. package/test/utils/mpc/ValidateCiphertext256Decryption.test.ts +383 -0
  137. package/test/utils/mpc/WalletEncryptionFailures.test.ts +494 -0
  138. package/test/utils/privateErc20Helpers.ts +97 -0
  139. package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +324 -0
  140. package/typechain-types/@openzeppelin/contracts/access/AccessControlEnumerable.ts +361 -0
  141. package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +292 -0
  142. package/typechain-types/@openzeppelin/contracts/access/IAccessControlEnumerable.ts +329 -0
  143. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
  144. package/typechain-types/@openzeppelin/contracts/access/index.ts +8 -0
  145. package/typechain-types/@openzeppelin/contracts/index.ts +4 -0
  146. package/typechain-types/@openzeppelin/contracts/security/Pausable.ts +150 -0
  147. package/typechain-types/@openzeppelin/contracts/security/index.ts +4 -0
  148. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +330 -0
  149. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +262 -0
  150. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +286 -0
  151. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.ts +143 -0
  152. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  153. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +7 -0
  154. package/typechain-types/@openzeppelin/contracts/token/ERC721/ERC721.ts +420 -0
  155. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +420 -0
  156. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  157. package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +3 -0
  158. package/typechain-types/@openzeppelin/contracts/token/index.ts +2 -0
  159. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.ts +679 -0
  160. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.ts +735 -0
  161. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.ts +734 -0
  162. package/typechain-types/contracts/disperse/coinByRatio/index.ts +6 -0
  163. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20.ts +97 -0
  164. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable.ts +95 -0
  165. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +228 -0
  166. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +6 -0
  167. package/typechain-types/contracts/disperse/disperseToken/TokenDisperser.ts +191 -0
  168. package/typechain-types/contracts/disperse/disperseToken/index.ts +6 -0
  169. package/typechain-types/contracts/disperse/index.ts +7 -0
  170. package/typechain-types/contracts/index.ts +10 -0
  171. package/typechain-types/contracts/messaging/PrivateMessaging.ts +871 -0
  172. package/typechain-types/contracts/messaging/index.ts +4 -0
  173. package/typechain-types/contracts/mocks/index.ts +4 -0
  174. package/typechain-types/contracts/mocks/messaging/PrivateMessagingHarness.ts +951 -0
  175. package/typechain-types/contracts/mocks/messaging/index.ts +4 -0
  176. package/typechain-types/contracts/mocks/oracle/CotiPriceConsumerMock.ts +163 -0
  177. package/typechain-types/contracts/mocks/oracle/index.ts +4 -0
  178. package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +349 -0
  179. package/typechain-types/contracts/mocks/token/ERC20Mock.ts +368 -0
  180. package/typechain-types/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.ts +108 -0
  181. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +1892 -0
  182. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +1296 -0
  183. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +1270 -0
  184. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.ts +166 -0
  185. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +827 -78
  186. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted.ts +102 -0
  187. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock.ts +154 -0
  188. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  189. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.ts +155 -0
  190. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.ts +107 -0
  191. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.ts +100 -0
  192. package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +10 -0
  193. package/typechain-types/contracts/mocks/token/index.ts +2 -0
  194. package/typechain-types/contracts/mocks/utils/mpc/{Arithmetic128BitTestsContract.ts → Arithmetic128TestsContract.ts} +96 -126
  195. package/typechain-types/contracts/mocks/utils/mpc/{Arithmetic256BitTestsContract.ts → Arithmetic256TestsContract.ts} +97 -133
  196. package/typechain-types/contracts/mocks/utils/mpc/{Bitwise128BitTestsContract.ts → Bitwise128TestsContract.ts} +52 -59
  197. package/typechain-types/contracts/mocks/utils/mpc/{Bitwise256BitTestsContract.ts → Bitwise256TestsContract.ts} +52 -59
  198. package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.ts +206 -0
  199. package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.ts +206 -0
  200. package/typechain-types/contracts/mocks/utils/mpc/{Comparison128BitTestsContract.ts → Comparison128TestsContract.ts} +115 -97
  201. package/typechain-types/contracts/mocks/utils/mpc/{Comparison256BitTestsContract.ts → Comparison256TestsContract.ts} +115 -97
  202. package/typechain-types/contracts/mocks/utils/mpc/MinMax128TestsContract.ts +142 -0
  203. package/typechain-types/contracts/mocks/utils/mpc/MinMax256TestsContract.ts +142 -0
  204. package/typechain-types/contracts/mocks/utils/mpc/MinimalImplementation.ts +259 -0
  205. package/typechain-types/contracts/mocks/utils/mpc/MinimalProxy.ts +90 -0
  206. package/typechain-types/contracts/mocks/utils/mpc/MpcOperations128TestContract.ts +388 -0
  207. package/typechain-types/contracts/mocks/utils/mpc/MpcOperationsTestContract.ts +455 -0
  208. package/typechain-types/contracts/mocks/utils/mpc/Mux128TestsContract.ts +109 -0
  209. package/typechain-types/contracts/mocks/utils/mpc/Mux256TestsContract.ts +109 -0
  210. package/typechain-types/contracts/mocks/utils/mpc/OnBoard128TestsContract.ts +166 -0
  211. package/typechain-types/contracts/mocks/utils/mpc/OnBoard256TestsContract.ts +194 -0
  212. package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV1.ts +385 -0
  213. package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV2.ts +441 -0
  214. package/typechain-types/contracts/mocks/utils/mpc/PrivacyProxy.ts +201 -0
  215. package/typechain-types/contracts/mocks/utils/mpc/Random128TestsContract.ts +131 -0
  216. package/typechain-types/contracts/mocks/utils/mpc/Random256TestsContract.ts +131 -0
  217. package/typechain-types/contracts/mocks/utils/mpc/Shift128TestsContract.ts +142 -0
  218. package/typechain-types/contracts/mocks/utils/mpc/Shift256TestsContract.ts +142 -0
  219. package/typechain-types/contracts/mocks/utils/mpc/Transfer128TestsContract.ts +109 -0
  220. package/typechain-types/contracts/mocks/utils/mpc/Transfer256TestsContract.ts +109 -0
  221. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.ts +128 -0
  222. package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.ts +128 -0
  223. package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.ts +198 -0
  224. package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.ts +182 -0
  225. package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.ts +257 -0
  226. package/typechain-types/contracts/mocks/utils/mpc/index.ts +32 -8
  227. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +6 -6
  228. package/typechain-types/contracts/node/CotiNodeRewards.ts +566 -0
  229. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/IERC5192.ts +123 -0
  230. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT.ts +975 -0
  231. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  232. package/typechain-types/contracts/node/index.ts +6 -0
  233. package/typechain-types/contracts/oracle/CotiPriceConsumer.ts +256 -0
  234. package/typechain-types/contracts/oracle/ICotiPriceConsumer.ts +119 -0
  235. package/typechain-types/contracts/oracle/IStdReference.ts +136 -0
  236. package/typechain-types/contracts/oracle/index.ts +6 -0
  237. package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +1628 -0
  238. package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +1870 -0
  239. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals.ts +84 -0
  240. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +1892 -0
  241. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  242. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +1892 -0
  243. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +1892 -0
  244. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +1892 -0
  245. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +1892 -0
  246. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +1892 -0
  247. package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +1892 -0
  248. package/typechain-types/contracts/privacyBridge/index.ts +13 -0
  249. package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +507 -70
  250. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiver.ts +100 -0
  251. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiverEncrypted.ts +99 -0
  252. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +833 -68
  253. package/typechain-types/contracts/token/PrivateERC20/index.ts +4 -0
  254. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +1270 -0
  255. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +1270 -0
  256. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +1270 -0
  257. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +1270 -0
  258. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +1270 -0
  259. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +1270 -0
  260. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +1270 -0
  261. package/typechain-types/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  262. package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +111 -10
  263. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControlEnumerable__factory.ts +276 -0
  264. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +229 -0
  265. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControlEnumerable__factory.ts +244 -0
  266. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +197 -0
  267. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +74 -0
  268. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +8 -0
  269. package/typechain-types/factories/@openzeppelin/contracts/index.ts +2 -0
  270. package/typechain-types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +61 -0
  271. package/typechain-types/factories/@openzeppelin/contracts/security/index.ts +4 -0
  272. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +356 -0
  273. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +205 -0
  274. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +247 -0
  275. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit__factory.ts +100 -0
  276. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  277. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
  278. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +416 -0
  279. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +355 -0
  280. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  281. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +2 -0
  282. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +1 -0
  283. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +791 -0
  284. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +711 -0
  285. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +759 -0
  286. package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +6 -0
  287. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20__factory.ts +43 -0
  288. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable__factory.ts +35 -0
  289. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +203 -0
  290. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +6 -0
  291. package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +198 -0
  292. package/typechain-types/factories/contracts/disperse/disperseToken/index.ts +5 -0
  293. package/typechain-types/factories/contracts/disperse/index.ts +5 -0
  294. package/typechain-types/factories/contracts/index.ts +5 -0
  295. package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1035 -0
  296. package/typechain-types/factories/contracts/messaging/index.ts +4 -0
  297. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
  298. package/typechain-types/factories/contracts/mocks/index.ts +2 -0
  299. package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1161 -0
  300. package/typechain-types/factories/contracts/mocks/messaging/index.ts +4 -0
  301. package/typechain-types/factories/contracts/mocks/oracle/CotiPriceConsumerMock__factory.ts +159 -0
  302. package/typechain-types/factories/contracts/mocks/oracle/index.ts +4 -0
  303. package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +394 -0
  304. package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +392 -0
  305. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock__factory.ts +125 -0
  306. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +1797 -0
  307. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +1514 -0
  308. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +1466 -0
  309. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +165 -0
  310. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +975 -127
  311. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted__factory.ts +54 -0
  312. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock__factory.ts +159 -0
  313. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  314. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock__factory.ts +164 -0
  315. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock__factory.ts +130 -0
  316. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock__factory.ts +102 -0
  317. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +9 -0
  318. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  319. package/typechain-types/factories/contracts/mocks/token/index.ts +2 -0
  320. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +330 -0
  321. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +330 -0
  322. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  323. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +184 -0
  324. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +184 -0
  325. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  326. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +203 -0
  327. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +203 -0
  328. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
  329. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +295 -0
  330. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  331. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +295 -0
  332. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  333. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +147 -0
  334. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +147 -0
  335. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  336. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +263 -0
  337. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +104 -0
  338. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  339. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  340. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +723 -0
  341. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1410 -0
  342. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +115 -0
  343. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +115 -0
  344. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  345. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +175 -0
  346. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +205 -0
  347. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +521 -0
  348. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +648 -0
  349. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +179 -0
  350. package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +131 -0
  351. package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +131 -0
  352. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +147 -0
  353. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +147 -0
  354. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  355. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  356. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +135 -0
  357. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +135 -0
  358. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  359. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  360. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +154 -0
  361. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +154 -0
  362. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  363. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  364. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  365. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  366. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  367. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  368. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +190 -0
  369. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +210 -0
  370. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +260 -0
  371. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +32 -8
  372. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +10 -28
  373. package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +549 -0
  374. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/IERC5192__factory.ts +54 -0
  375. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +947 -0
  376. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  377. package/typechain-types/factories/contracts/node/index.ts +5 -0
  378. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  379. package/typechain-types/factories/contracts/oracle/CotiPriceConsumer__factory.ts +295 -0
  380. package/typechain-types/factories/contracts/oracle/ICotiPriceConsumer__factory.ts +73 -0
  381. package/typechain-types/factories/contracts/oracle/IStdReference__factory.ts +107 -0
  382. package/typechain-types/factories/contracts/oracle/index.ts +6 -0
  383. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +1676 -0
  384. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals__factory.ts +38 -0
  385. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +1678 -0
  386. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  387. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +1782 -0
  388. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +1782 -0
  389. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +1782 -0
  390. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +1782 -0
  391. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +1782 -0
  392. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +1367 -0
  393. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +1782 -0
  394. package/typechain-types/factories/contracts/privacyBridge/index.ts +12 -0
  395. package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +639 -61
  396. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiverEncrypted__factory.ts +53 -0
  397. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiver__factory.ts +54 -0
  398. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +986 -120
  399. package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +3 -0
  400. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +1445 -0
  401. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +1451 -0
  402. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +1442 -0
  403. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +1445 -0
  404. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +1445 -0
  405. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +1445 -0
  406. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +1451 -0
  407. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  408. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  409. package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +126 -0
  410. package/typechain-types/hardhat.d.ts +1772 -278
  411. package/typechain-types/index.ts +182 -16
  412. package/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.sol +0 -260
  413. package/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.sol +0 -264
  414. package/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.sol +0 -91
  415. package/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.sol +0 -91
  416. package/contracts/mocks/utils/mpc/Comparison128BitTestsContract.sol +0 -158
  417. package/contracts/mocks/utils/mpc/Comparison256BitTestsContract.sol +0 -158
  418. package/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.sol +0 -185
  419. package/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.sol +0 -190
  420. package/contracts/mocks/utils/mpc/README.md +0 -486
  421. package/test/utils/mpc/Unsigned128BitIntegers.test.ts +0 -945
  422. package/test/utils/mpc/Unsigned256BitIntegers.test.ts +0 -1124
  423. package/test/utils/mpc/helpers.ts +0 -77
  424. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +0 -302
  425. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +0 -322
  426. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +0 -349
  427. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +0 -364
  428. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +0 -182
  429. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +0 -182
  430. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +0 -255
  431. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +0 -255
  432. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +0 -332
  433. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +0 -380
@@ -23,55 +23,114 @@ 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
 
51
64
  export interface PrivateERC20Interface extends Interface {
52
65
  getFunction(
53
66
  nameOrSignature:
67
+ | "DEFAULT_ADMIN_ROLE"
68
+ | "MINTER_ROLE"
54
69
  | "accountEncryptionAddress"
55
70
  | "allowance(address,bool)"
56
71
  | "allowance(address,address)"
57
72
  | "approve(address,uint256)"
58
- | "approve(address,(uint256,bytes))"
73
+ | "approve(address,((uint256,uint256),bytes))"
74
+ | "approveGT"
59
75
  | "balanceOf(address)"
60
76
  | "balanceOf()"
77
+ | "burn(uint256)"
78
+ | "burn(((uint256,uint256),bytes))"
79
+ | "burnGt"
61
80
  | "decimals"
81
+ | "decreaseAllowance(address,uint256)"
82
+ | "decreaseAllowance(address,((uint256,uint256),bytes))"
83
+ | "decreaseAllowanceGT"
84
+ | "getRoleAdmin"
85
+ | "grantRole"
86
+ | "hasRole"
87
+ | "increaseAllowance(address,uint256)"
88
+ | "increaseAllowance(address,((uint256,uint256),bytes))"
89
+ | "increaseAllowanceGT"
90
+ | "mint(address,uint256)"
91
+ | "mint(address,((uint256,uint256),bytes))"
92
+ | "mintGt"
62
93
  | "name"
94
+ | "publicAmountsEnabled"
63
95
  | "reencryptAllowance"
96
+ | "renounceRole"
97
+ | "revokeRole"
64
98
  | "setAccountEncryptionAddress"
99
+ | "setPublicAmountsEnabled"
100
+ | "supplyCap"
101
+ | "supportsInterface"
65
102
  | "symbol"
66
103
  | "totalSupply"
67
- | "transfer(address,(uint256,bytes))"
104
+ | "transfer(address,((uint256,uint256),bytes))"
68
105
  | "transfer(address,uint256)"
69
- | "transferFrom(address,address,(uint256,bytes))"
106
+ | "transferAndCall(address,((uint256,uint256),bytes),bytes)"
107
+ | "transferAndCall(address,uint256,bytes)"
70
108
  | "transferFrom(address,address,uint256)"
109
+ | "transferFrom(address,address,((uint256,uint256),bytes))"
110
+ | "transferFromGT"
111
+ | "transferGT"
71
112
  ): FunctionFragment;
72
113
 
73
- getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment;
114
+ getEvent(
115
+ nameOrSignatureOrTopic:
116
+ | "AccountEncryptionAddressSet"
117
+ | "AllowanceReencrypted"
118
+ | "Approval"
119
+ | "PublicAmountsEnabledSet"
120
+ | "RoleAdminChanged"
121
+ | "RoleGranted"
122
+ | "RoleRevoked"
123
+ | "Transfer"
124
+ ): EventFragment;
74
125
 
126
+ encodeFunctionData(
127
+ functionFragment: "DEFAULT_ADMIN_ROLE",
128
+ values?: undefined
129
+ ): string;
130
+ encodeFunctionData(
131
+ functionFragment: "MINTER_ROLE",
132
+ values?: undefined
133
+ ): string;
75
134
  encodeFunctionData(
76
135
  functionFragment: "accountEncryptionAddress",
77
136
  values: [AddressLike]
@@ -89,8 +148,12 @@ export interface PrivateERC20Interface extends Interface {
89
148
  values: [AddressLike, BigNumberish]
90
149
  ): string;
91
150
  encodeFunctionData(
92
- functionFragment: "approve(address,(uint256,bytes))",
93
- values: [AddressLike, ItUint64Struct]
151
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
152
+ values: [AddressLike, ItUint256Struct]
153
+ ): string;
154
+ encodeFunctionData(
155
+ functionFragment: "approveGT",
156
+ values: [AddressLike, BigNumberish]
94
157
  ): string;
95
158
  encodeFunctionData(
96
159
  functionFragment: "balanceOf(address)",
@@ -100,38 +163,143 @@ export interface PrivateERC20Interface extends Interface {
100
163
  functionFragment: "balanceOf()",
101
164
  values?: undefined
102
165
  ): string;
166
+ encodeFunctionData(
167
+ functionFragment: "burn(uint256)",
168
+ values: [BigNumberish]
169
+ ): string;
170
+ encodeFunctionData(
171
+ functionFragment: "burn(((uint256,uint256),bytes))",
172
+ values: [ItUint256Struct]
173
+ ): string;
174
+ encodeFunctionData(
175
+ functionFragment: "burnGt",
176
+ values: [BigNumberish]
177
+ ): string;
103
178
  encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
179
+ encodeFunctionData(
180
+ functionFragment: "decreaseAllowance(address,uint256)",
181
+ values: [AddressLike, BigNumberish]
182
+ ): string;
183
+ encodeFunctionData(
184
+ functionFragment: "decreaseAllowance(address,((uint256,uint256),bytes))",
185
+ values: [AddressLike, ItUint256Struct]
186
+ ): string;
187
+ encodeFunctionData(
188
+ functionFragment: "decreaseAllowanceGT",
189
+ values: [AddressLike, BigNumberish]
190
+ ): string;
191
+ encodeFunctionData(
192
+ functionFragment: "getRoleAdmin",
193
+ values: [BytesLike]
194
+ ): string;
195
+ encodeFunctionData(
196
+ functionFragment: "grantRole",
197
+ values: [BytesLike, AddressLike]
198
+ ): string;
199
+ encodeFunctionData(
200
+ functionFragment: "hasRole",
201
+ values: [BytesLike, AddressLike]
202
+ ): string;
203
+ encodeFunctionData(
204
+ functionFragment: "increaseAllowance(address,uint256)",
205
+ values: [AddressLike, BigNumberish]
206
+ ): string;
207
+ encodeFunctionData(
208
+ functionFragment: "increaseAllowance(address,((uint256,uint256),bytes))",
209
+ values: [AddressLike, ItUint256Struct]
210
+ ): string;
211
+ encodeFunctionData(
212
+ functionFragment: "increaseAllowanceGT",
213
+ values: [AddressLike, BigNumberish]
214
+ ): string;
215
+ encodeFunctionData(
216
+ functionFragment: "mint(address,uint256)",
217
+ values: [AddressLike, BigNumberish]
218
+ ): string;
219
+ encodeFunctionData(
220
+ functionFragment: "mint(address,((uint256,uint256),bytes))",
221
+ values: [AddressLike, ItUint256Struct]
222
+ ): string;
223
+ encodeFunctionData(
224
+ functionFragment: "mintGt",
225
+ values: [AddressLike, BigNumberish]
226
+ ): string;
104
227
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
228
+ encodeFunctionData(
229
+ functionFragment: "publicAmountsEnabled",
230
+ values?: undefined
231
+ ): string;
105
232
  encodeFunctionData(
106
233
  functionFragment: "reencryptAllowance",
107
234
  values: [AddressLike, boolean]
108
235
  ): string;
236
+ encodeFunctionData(
237
+ functionFragment: "renounceRole",
238
+ values: [BytesLike, AddressLike]
239
+ ): string;
240
+ encodeFunctionData(
241
+ functionFragment: "revokeRole",
242
+ values: [BytesLike, AddressLike]
243
+ ): string;
109
244
  encodeFunctionData(
110
245
  functionFragment: "setAccountEncryptionAddress",
111
246
  values: [AddressLike]
112
247
  ): string;
248
+ encodeFunctionData(
249
+ functionFragment: "setPublicAmountsEnabled",
250
+ values: [boolean]
251
+ ): string;
252
+ encodeFunctionData(functionFragment: "supplyCap", values?: undefined): string;
253
+ encodeFunctionData(
254
+ functionFragment: "supportsInterface",
255
+ values: [BytesLike]
256
+ ): string;
113
257
  encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
114
258
  encodeFunctionData(
115
259
  functionFragment: "totalSupply",
116
260
  values?: undefined
117
261
  ): string;
118
262
  encodeFunctionData(
119
- functionFragment: "transfer(address,(uint256,bytes))",
120
- values: [AddressLike, ItUint64Struct]
263
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
264
+ values: [AddressLike, ItUint256Struct]
121
265
  ): string;
122
266
  encodeFunctionData(
123
267
  functionFragment: "transfer(address,uint256)",
124
268
  values: [AddressLike, BigNumberish]
125
269
  ): string;
126
270
  encodeFunctionData(
127
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
128
- values: [AddressLike, AddressLike, ItUint64Struct]
271
+ functionFragment: "transferAndCall(address,((uint256,uint256),bytes),bytes)",
272
+ values: [AddressLike, ItUint256Struct, BytesLike]
273
+ ): string;
274
+ encodeFunctionData(
275
+ functionFragment: "transferAndCall(address,uint256,bytes)",
276
+ values: [AddressLike, BigNumberish, BytesLike]
129
277
  ): string;
130
278
  encodeFunctionData(
131
279
  functionFragment: "transferFrom(address,address,uint256)",
132
280
  values: [AddressLike, AddressLike, BigNumberish]
133
281
  ): string;
282
+ encodeFunctionData(
283
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
284
+ values: [AddressLike, AddressLike, ItUint256Struct]
285
+ ): string;
286
+ encodeFunctionData(
287
+ functionFragment: "transferFromGT",
288
+ values: [AddressLike, AddressLike, BigNumberish]
289
+ ): string;
290
+ encodeFunctionData(
291
+ functionFragment: "transferGT",
292
+ values: [AddressLike, BigNumberish]
293
+ ): string;
134
294
 
295
+ decodeFunctionResult(
296
+ functionFragment: "DEFAULT_ADMIN_ROLE",
297
+ data: BytesLike
298
+ ): Result;
299
+ decodeFunctionResult(
300
+ functionFragment: "MINTER_ROLE",
301
+ data: BytesLike
302
+ ): Result;
135
303
  decodeFunctionResult(
136
304
  functionFragment: "accountEncryptionAddress",
137
305
  data: BytesLike
@@ -149,9 +317,10 @@ export interface PrivateERC20Interface extends Interface {
149
317
  data: BytesLike
150
318
  ): Result;
151
319
  decodeFunctionResult(
152
- functionFragment: "approve(address,(uint256,bytes))",
320
+ functionFragment: "approve(address,((uint256,uint256),bytes))",
153
321
  data: BytesLike
154
322
  ): Result;
323
+ decodeFunctionResult(functionFragment: "approveGT", data: BytesLike): Result;
155
324
  decodeFunctionResult(
156
325
  functionFragment: "balanceOf(address)",
157
326
  data: BytesLike
@@ -160,23 +329,89 @@ export interface PrivateERC20Interface extends Interface {
160
329
  functionFragment: "balanceOf()",
161
330
  data: BytesLike
162
331
  ): Result;
332
+ decodeFunctionResult(
333
+ functionFragment: "burn(uint256)",
334
+ data: BytesLike
335
+ ): Result;
336
+ decodeFunctionResult(
337
+ functionFragment: "burn(((uint256,uint256),bytes))",
338
+ data: BytesLike
339
+ ): Result;
340
+ decodeFunctionResult(functionFragment: "burnGt", data: BytesLike): Result;
163
341
  decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
342
+ decodeFunctionResult(
343
+ functionFragment: "decreaseAllowance(address,uint256)",
344
+ data: BytesLike
345
+ ): Result;
346
+ decodeFunctionResult(
347
+ functionFragment: "decreaseAllowance(address,((uint256,uint256),bytes))",
348
+ data: BytesLike
349
+ ): Result;
350
+ decodeFunctionResult(
351
+ functionFragment: "decreaseAllowanceGT",
352
+ data: BytesLike
353
+ ): Result;
354
+ decodeFunctionResult(
355
+ functionFragment: "getRoleAdmin",
356
+ data: BytesLike
357
+ ): Result;
358
+ decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
359
+ decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
360
+ decodeFunctionResult(
361
+ functionFragment: "increaseAllowance(address,uint256)",
362
+ data: BytesLike
363
+ ): Result;
364
+ decodeFunctionResult(
365
+ functionFragment: "increaseAllowance(address,((uint256,uint256),bytes))",
366
+ data: BytesLike
367
+ ): Result;
368
+ decodeFunctionResult(
369
+ functionFragment: "increaseAllowanceGT",
370
+ data: BytesLike
371
+ ): Result;
372
+ decodeFunctionResult(
373
+ functionFragment: "mint(address,uint256)",
374
+ data: BytesLike
375
+ ): Result;
376
+ decodeFunctionResult(
377
+ functionFragment: "mint(address,((uint256,uint256),bytes))",
378
+ data: BytesLike
379
+ ): Result;
380
+ decodeFunctionResult(functionFragment: "mintGt", data: BytesLike): Result;
164
381
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
382
+ decodeFunctionResult(
383
+ functionFragment: "publicAmountsEnabled",
384
+ data: BytesLike
385
+ ): Result;
165
386
  decodeFunctionResult(
166
387
  functionFragment: "reencryptAllowance",
167
388
  data: BytesLike
168
389
  ): Result;
390
+ decodeFunctionResult(
391
+ functionFragment: "renounceRole",
392
+ data: BytesLike
393
+ ): Result;
394
+ decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
169
395
  decodeFunctionResult(
170
396
  functionFragment: "setAccountEncryptionAddress",
171
397
  data: BytesLike
172
398
  ): Result;
399
+ decodeFunctionResult(
400
+ functionFragment: "setPublicAmountsEnabled",
401
+ data: BytesLike
402
+ ): Result;
403
+ decodeFunctionResult(functionFragment: "supplyCap", data: BytesLike): Result;
404
+ decodeFunctionResult(
405
+ functionFragment: "supportsInterface",
406
+ data: BytesLike
407
+ ): Result;
173
408
  decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
174
409
  decodeFunctionResult(
175
410
  functionFragment: "totalSupply",
176
411
  data: BytesLike
177
412
  ): Result;
178
413
  decodeFunctionResult(
179
- functionFragment: "transfer(address,(uint256,bytes))",
414
+ functionFragment: "transfer(address,((uint256,uint256),bytes))",
180
415
  data: BytesLike
181
416
  ): Result;
182
417
  decodeFunctionResult(
@@ -184,33 +419,151 @@ export interface PrivateERC20Interface extends Interface {
184
419
  data: BytesLike
185
420
  ): Result;
186
421
  decodeFunctionResult(
187
- functionFragment: "transferFrom(address,address,(uint256,bytes))",
422
+ functionFragment: "transferAndCall(address,((uint256,uint256),bytes),bytes)",
423
+ data: BytesLike
424
+ ): Result;
425
+ decodeFunctionResult(
426
+ functionFragment: "transferAndCall(address,uint256,bytes)",
188
427
  data: BytesLike
189
428
  ): Result;
190
429
  decodeFunctionResult(
191
430
  functionFragment: "transferFrom(address,address,uint256)",
192
431
  data: BytesLike
193
432
  ): Result;
433
+ decodeFunctionResult(
434
+ functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))",
435
+ data: BytesLike
436
+ ): Result;
437
+ decodeFunctionResult(
438
+ functionFragment: "transferFromGT",
439
+ data: BytesLike
440
+ ): Result;
441
+ decodeFunctionResult(functionFragment: "transferGT", data: BytesLike): Result;
442
+ }
443
+
444
+ export namespace AccountEncryptionAddressSetEvent {
445
+ export type InputTuple = [account: AddressLike, newAddress: AddressLike];
446
+ export type OutputTuple = [account: string, newAddress: string];
447
+ export interface OutputObject {
448
+ account: string;
449
+ newAddress: string;
450
+ }
451
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
452
+ export type Filter = TypedDeferredTopicFilter<Event>;
453
+ export type Log = TypedEventLog<Event>;
454
+ export type LogDescription = TypedLogDescription<Event>;
455
+ }
456
+
457
+ export namespace AllowanceReencryptedEvent {
458
+ export type InputTuple = [
459
+ owner: AddressLike,
460
+ spender: AddressLike,
461
+ isSpender: boolean
462
+ ];
463
+ export type OutputTuple = [
464
+ owner: string,
465
+ spender: string,
466
+ isSpender: boolean
467
+ ];
468
+ export interface OutputObject {
469
+ owner: string;
470
+ spender: string;
471
+ isSpender: boolean;
472
+ }
473
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
474
+ export type Filter = TypedDeferredTopicFilter<Event>;
475
+ export type Log = TypedEventLog<Event>;
476
+ export type LogDescription = TypedLogDescription<Event>;
194
477
  }
195
478
 
196
479
  export namespace ApprovalEvent {
197
480
  export type InputTuple = [
198
481
  owner: AddressLike,
199
482
  spender: AddressLike,
200
- ownerValue: BigNumberish,
201
- spenderValue: BigNumberish
483
+ ownerValue: CtUint256Struct,
484
+ spenderValue: CtUint256Struct
202
485
  ];
203
486
  export type OutputTuple = [
204
487
  owner: string,
205
488
  spender: string,
206
- ownerValue: bigint,
207
- spenderValue: bigint
489
+ ownerValue: CtUint256StructOutput,
490
+ spenderValue: CtUint256StructOutput
208
491
  ];
209
492
  export interface OutputObject {
210
493
  owner: string;
211
494
  spender: string;
212
- ownerValue: bigint;
213
- spenderValue: bigint;
495
+ ownerValue: CtUint256StructOutput;
496
+ spenderValue: CtUint256StructOutput;
497
+ }
498
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
499
+ export type Filter = TypedDeferredTopicFilter<Event>;
500
+ export type Log = TypedEventLog<Event>;
501
+ export type LogDescription = TypedLogDescription<Event>;
502
+ }
503
+
504
+ export namespace PublicAmountsEnabledSetEvent {
505
+ export type InputTuple = [enabled: boolean];
506
+ export type OutputTuple = [enabled: boolean];
507
+ export interface OutputObject {
508
+ enabled: boolean;
509
+ }
510
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
511
+ export type Filter = TypedDeferredTopicFilter<Event>;
512
+ export type Log = TypedEventLog<Event>;
513
+ export type LogDescription = TypedLogDescription<Event>;
514
+ }
515
+
516
+ export namespace RoleAdminChangedEvent {
517
+ export type InputTuple = [
518
+ role: BytesLike,
519
+ previousAdminRole: BytesLike,
520
+ newAdminRole: BytesLike
521
+ ];
522
+ export type OutputTuple = [
523
+ role: string,
524
+ previousAdminRole: string,
525
+ newAdminRole: string
526
+ ];
527
+ export interface OutputObject {
528
+ role: string;
529
+ previousAdminRole: string;
530
+ newAdminRole: string;
531
+ }
532
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
533
+ export type Filter = TypedDeferredTopicFilter<Event>;
534
+ export type Log = TypedEventLog<Event>;
535
+ export type LogDescription = TypedLogDescription<Event>;
536
+ }
537
+
538
+ export namespace RoleGrantedEvent {
539
+ export type InputTuple = [
540
+ role: BytesLike,
541
+ account: AddressLike,
542
+ sender: AddressLike
543
+ ];
544
+ export type OutputTuple = [role: string, account: string, sender: string];
545
+ export interface OutputObject {
546
+ role: string;
547
+ account: string;
548
+ sender: string;
549
+ }
550
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
551
+ export type Filter = TypedDeferredTopicFilter<Event>;
552
+ export type Log = TypedEventLog<Event>;
553
+ export type LogDescription = TypedLogDescription<Event>;
554
+ }
555
+
556
+ export namespace RoleRevokedEvent {
557
+ export type InputTuple = [
558
+ role: BytesLike,
559
+ account: AddressLike,
560
+ sender: AddressLike
561
+ ];
562
+ export type OutputTuple = [role: string, account: string, sender: string];
563
+ export interface OutputObject {
564
+ role: string;
565
+ account: string;
566
+ sender: string;
214
567
  }
215
568
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
216
569
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -222,20 +575,20 @@ export namespace TransferEvent {
222
575
  export type InputTuple = [
223
576
  from: AddressLike,
224
577
  to: AddressLike,
225
- senderValue: BigNumberish,
226
- receiverValue: BigNumberish
578
+ senderValue: CtUint256Struct,
579
+ receiverValue: CtUint256Struct
227
580
  ];
228
581
  export type OutputTuple = [
229
582
  from: string,
230
583
  to: string,
231
- senderValue: bigint,
232
- receiverValue: bigint
584
+ senderValue: CtUint256StructOutput,
585
+ receiverValue: CtUint256StructOutput
233
586
  ];
234
587
  export interface OutputObject {
235
588
  from: string;
236
589
  to: string;
237
- senderValue: bigint;
238
- receiverValue: bigint;
590
+ senderValue: CtUint256StructOutput;
591
+ receiverValue: CtUint256StructOutput;
239
592
  }
240
593
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
241
594
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -286,6 +639,10 @@ export interface PrivateERC20 extends BaseContract {
286
639
  event?: TCEvent
287
640
  ): Promise<this>;
288
641
 
642
+ DEFAULT_ADMIN_ROLE: TypedContractMethod<[], [string], "view">;
643
+
644
+ MINTER_ROLE: TypedContractMethod<[], [string], "view">;
645
+
289
646
  accountEncryptionAddress: TypedContractMethod<
290
647
  [account: AddressLike],
291
648
  [string],
@@ -306,31 +663,133 @@ export interface PrivateERC20 extends BaseContract {
306
663
 
307
664
  "approve(address,uint256)": TypedContractMethod<
308
665
  [spender: AddressLike, value: BigNumberish],
309
- [boolean],
666
+ [void],
310
667
  "nonpayable"
311
668
  >;
312
669
 
313
- "approve(address,(uint256,bytes))": TypedContractMethod<
314
- [spender: AddressLike, value: ItUint64Struct],
315
- [boolean],
670
+ "approve(address,((uint256,uint256),bytes))": TypedContractMethod<
671
+ [spender: AddressLike, value: ItUint256Struct],
672
+ [void],
673
+ "nonpayable"
674
+ >;
675
+
676
+ approveGT: TypedContractMethod<
677
+ [spender: AddressLike, value: BigNumberish],
678
+ [void],
316
679
  "nonpayable"
317
680
  >;
318
681
 
319
682
  "balanceOf(address)": TypedContractMethod<
320
683
  [account: AddressLike],
321
- [bigint],
684
+ [CtUint256StructOutput],
322
685
  "view"
323
686
  >;
324
687
 
325
688
  "balanceOf()": TypedContractMethod<[], [bigint], "nonpayable">;
326
689
 
690
+ "burn(uint256)": TypedContractMethod<
691
+ [amount: BigNumberish],
692
+ [void],
693
+ "nonpayable"
694
+ >;
695
+
696
+ "burn(((uint256,uint256),bytes))": TypedContractMethod<
697
+ [amount: ItUint256Struct],
698
+ [void],
699
+ "nonpayable"
700
+ >;
701
+
702
+ burnGt: TypedContractMethod<[gtAmount: BigNumberish], [void], "nonpayable">;
703
+
327
704
  decimals: TypedContractMethod<[], [bigint], "view">;
328
705
 
706
+ "decreaseAllowance(address,uint256)": TypedContractMethod<
707
+ [spender: AddressLike, subtractedValue: BigNumberish],
708
+ [void],
709
+ "nonpayable"
710
+ >;
711
+
712
+ "decreaseAllowance(address,((uint256,uint256),bytes))": TypedContractMethod<
713
+ [spender: AddressLike, subtractedValue: ItUint256Struct],
714
+ [void],
715
+ "nonpayable"
716
+ >;
717
+
718
+ decreaseAllowanceGT: TypedContractMethod<
719
+ [spender: AddressLike, subtractedValue: BigNumberish],
720
+ [void],
721
+ "nonpayable"
722
+ >;
723
+
724
+ getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">;
725
+
726
+ grantRole: TypedContractMethod<
727
+ [role: BytesLike, account: AddressLike],
728
+ [void],
729
+ "nonpayable"
730
+ >;
731
+
732
+ hasRole: TypedContractMethod<
733
+ [role: BytesLike, account: AddressLike],
734
+ [boolean],
735
+ "view"
736
+ >;
737
+
738
+ "increaseAllowance(address,uint256)": TypedContractMethod<
739
+ [spender: AddressLike, addedValue: BigNumberish],
740
+ [void],
741
+ "nonpayable"
742
+ >;
743
+
744
+ "increaseAllowance(address,((uint256,uint256),bytes))": TypedContractMethod<
745
+ [spender: AddressLike, addedValue: ItUint256Struct],
746
+ [void],
747
+ "nonpayable"
748
+ >;
749
+
750
+ increaseAllowanceGT: TypedContractMethod<
751
+ [spender: AddressLike, addedValue: BigNumberish],
752
+ [void],
753
+ "nonpayable"
754
+ >;
755
+
756
+ "mint(address,uint256)": TypedContractMethod<
757
+ [to: AddressLike, amount: BigNumberish],
758
+ [void],
759
+ "nonpayable"
760
+ >;
761
+
762
+ "mint(address,((uint256,uint256),bytes))": TypedContractMethod<
763
+ [to: AddressLike, amount: ItUint256Struct],
764
+ [void],
765
+ "nonpayable"
766
+ >;
767
+
768
+ mintGt: TypedContractMethod<
769
+ [to: AddressLike, gtAmount: BigNumberish],
770
+ [void],
771
+ "nonpayable"
772
+ >;
773
+
329
774
  name: TypedContractMethod<[], [string], "view">;
330
775
 
776
+ publicAmountsEnabled: TypedContractMethod<[], [boolean], "view">;
777
+
331
778
  reencryptAllowance: TypedContractMethod<
332
779
  [account: AddressLike, isSpender: boolean],
333
- [boolean],
780
+ [void],
781
+ "nonpayable"
782
+ >;
783
+
784
+ renounceRole: TypedContractMethod<
785
+ [role: BytesLike, account: AddressLike],
786
+ [void],
787
+ "nonpayable"
788
+ >;
789
+
790
+ revokeRole: TypedContractMethod<
791
+ [role: BytesLike, account: AddressLike],
792
+ [void],
334
793
  "nonpayable"
335
794
  >;
336
795
 
@@ -340,31 +799,69 @@ export interface PrivateERC20 extends BaseContract {
340
799
  "nonpayable"
341
800
  >;
342
801
 
802
+ setPublicAmountsEnabled: TypedContractMethod<
803
+ [enabled: boolean],
804
+ [void],
805
+ "nonpayable"
806
+ >;
807
+
808
+ supplyCap: TypedContractMethod<[], [bigint], "view">;
809
+
810
+ supportsInterface: TypedContractMethod<
811
+ [interfaceId: BytesLike],
812
+ [boolean],
813
+ "view"
814
+ >;
815
+
343
816
  symbol: TypedContractMethod<[], [string], "view">;
344
817
 
345
818
  totalSupply: TypedContractMethod<[], [bigint], "view">;
346
819
 
347
- "transfer(address,(uint256,bytes))": TypedContractMethod<
348
- [to: AddressLike, value: ItUint64Struct],
349
- [bigint],
820
+ "transfer(address,((uint256,uint256),bytes))": TypedContractMethod<
821
+ [to: AddressLike, value: ItUint256Struct],
822
+ [void],
350
823
  "nonpayable"
351
824
  >;
352
825
 
353
826
  "transfer(address,uint256)": TypedContractMethod<
354
827
  [to: AddressLike, value: BigNumberish],
355
- [bigint],
828
+ [void],
356
829
  "nonpayable"
357
830
  >;
358
831
 
359
- "transferFrom(address,address,(uint256,bytes))": TypedContractMethod<
360
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
361
- [bigint],
832
+ "transferAndCall(address,((uint256,uint256),bytes),bytes)": TypedContractMethod<
833
+ [to: AddressLike, amount: ItUint256Struct, data: BytesLike],
834
+ [void],
835
+ "nonpayable"
836
+ >;
837
+
838
+ "transferAndCall(address,uint256,bytes)": TypedContractMethod<
839
+ [to: AddressLike, amount: BigNumberish, data: BytesLike],
840
+ [void],
362
841
  "nonpayable"
363
842
  >;
364
843
 
365
844
  "transferFrom(address,address,uint256)": TypedContractMethod<
366
845
  [from: AddressLike, to: AddressLike, value: BigNumberish],
367
- [bigint],
846
+ [void],
847
+ "nonpayable"
848
+ >;
849
+
850
+ "transferFrom(address,address,((uint256,uint256),bytes))": TypedContractMethod<
851
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
852
+ [void],
853
+ "nonpayable"
854
+ >;
855
+
856
+ transferFromGT: TypedContractMethod<
857
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
858
+ [void],
859
+ "nonpayable"
860
+ >;
861
+
862
+ transferGT: TypedContractMethod<
863
+ [to: AddressLike, value: BigNumberish],
864
+ [void],
368
865
  "nonpayable"
369
866
  >;
370
867
 
@@ -372,6 +869,12 @@ export interface PrivateERC20 extends BaseContract {
372
869
  key: string | FunctionFragment
373
870
  ): T;
374
871
 
872
+ getFunction(
873
+ nameOrSignature: "DEFAULT_ADMIN_ROLE"
874
+ ): TypedContractMethod<[], [string], "view">;
875
+ getFunction(
876
+ nameOrSignature: "MINTER_ROLE"
877
+ ): TypedContractMethod<[], [string], "view">;
375
878
  getFunction(
376
879
  nameOrSignature: "accountEncryptionAddress"
377
880
  ): TypedContractMethod<[account: AddressLike], [string], "view">;
@@ -393,33 +896,150 @@ export interface PrivateERC20 extends BaseContract {
393
896
  nameOrSignature: "approve(address,uint256)"
394
897
  ): TypedContractMethod<
395
898
  [spender: AddressLike, value: BigNumberish],
396
- [boolean],
899
+ [void],
397
900
  "nonpayable"
398
901
  >;
399
902
  getFunction(
400
- nameOrSignature: "approve(address,(uint256,bytes))"
903
+ nameOrSignature: "approve(address,((uint256,uint256),bytes))"
401
904
  ): TypedContractMethod<
402
- [spender: AddressLike, value: ItUint64Struct],
403
- [boolean],
905
+ [spender: AddressLike, value: ItUint256Struct],
906
+ [void],
907
+ "nonpayable"
908
+ >;
909
+ getFunction(
910
+ nameOrSignature: "approveGT"
911
+ ): TypedContractMethod<
912
+ [spender: AddressLike, value: BigNumberish],
913
+ [void],
404
914
  "nonpayable"
405
915
  >;
406
916
  getFunction(
407
917
  nameOrSignature: "balanceOf(address)"
408
- ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
918
+ ): TypedContractMethod<
919
+ [account: AddressLike],
920
+ [CtUint256StructOutput],
921
+ "view"
922
+ >;
409
923
  getFunction(
410
924
  nameOrSignature: "balanceOf()"
411
925
  ): TypedContractMethod<[], [bigint], "nonpayable">;
926
+ getFunction(
927
+ nameOrSignature: "burn(uint256)"
928
+ ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">;
929
+ getFunction(
930
+ nameOrSignature: "burn(((uint256,uint256),bytes))"
931
+ ): TypedContractMethod<[amount: ItUint256Struct], [void], "nonpayable">;
932
+ getFunction(
933
+ nameOrSignature: "burnGt"
934
+ ): TypedContractMethod<[gtAmount: BigNumberish], [void], "nonpayable">;
412
935
  getFunction(
413
936
  nameOrSignature: "decimals"
414
937
  ): TypedContractMethod<[], [bigint], "view">;
938
+ getFunction(
939
+ nameOrSignature: "decreaseAllowance(address,uint256)"
940
+ ): TypedContractMethod<
941
+ [spender: AddressLike, subtractedValue: BigNumberish],
942
+ [void],
943
+ "nonpayable"
944
+ >;
945
+ getFunction(
946
+ nameOrSignature: "decreaseAllowance(address,((uint256,uint256),bytes))"
947
+ ): TypedContractMethod<
948
+ [spender: AddressLike, subtractedValue: ItUint256Struct],
949
+ [void],
950
+ "nonpayable"
951
+ >;
952
+ getFunction(
953
+ nameOrSignature: "decreaseAllowanceGT"
954
+ ): TypedContractMethod<
955
+ [spender: AddressLike, subtractedValue: BigNumberish],
956
+ [void],
957
+ "nonpayable"
958
+ >;
959
+ getFunction(
960
+ nameOrSignature: "getRoleAdmin"
961
+ ): TypedContractMethod<[role: BytesLike], [string], "view">;
962
+ getFunction(
963
+ nameOrSignature: "grantRole"
964
+ ): TypedContractMethod<
965
+ [role: BytesLike, account: AddressLike],
966
+ [void],
967
+ "nonpayable"
968
+ >;
969
+ getFunction(
970
+ nameOrSignature: "hasRole"
971
+ ): TypedContractMethod<
972
+ [role: BytesLike, account: AddressLike],
973
+ [boolean],
974
+ "view"
975
+ >;
976
+ getFunction(
977
+ nameOrSignature: "increaseAllowance(address,uint256)"
978
+ ): TypedContractMethod<
979
+ [spender: AddressLike, addedValue: BigNumberish],
980
+ [void],
981
+ "nonpayable"
982
+ >;
983
+ getFunction(
984
+ nameOrSignature: "increaseAllowance(address,((uint256,uint256),bytes))"
985
+ ): TypedContractMethod<
986
+ [spender: AddressLike, addedValue: ItUint256Struct],
987
+ [void],
988
+ "nonpayable"
989
+ >;
990
+ getFunction(
991
+ nameOrSignature: "increaseAllowanceGT"
992
+ ): TypedContractMethod<
993
+ [spender: AddressLike, addedValue: BigNumberish],
994
+ [void],
995
+ "nonpayable"
996
+ >;
997
+ getFunction(
998
+ nameOrSignature: "mint(address,uint256)"
999
+ ): TypedContractMethod<
1000
+ [to: AddressLike, amount: BigNumberish],
1001
+ [void],
1002
+ "nonpayable"
1003
+ >;
1004
+ getFunction(
1005
+ nameOrSignature: "mint(address,((uint256,uint256),bytes))"
1006
+ ): TypedContractMethod<
1007
+ [to: AddressLike, amount: ItUint256Struct],
1008
+ [void],
1009
+ "nonpayable"
1010
+ >;
1011
+ getFunction(
1012
+ nameOrSignature: "mintGt"
1013
+ ): TypedContractMethod<
1014
+ [to: AddressLike, gtAmount: BigNumberish],
1015
+ [void],
1016
+ "nonpayable"
1017
+ >;
415
1018
  getFunction(
416
1019
  nameOrSignature: "name"
417
1020
  ): TypedContractMethod<[], [string], "view">;
1021
+ getFunction(
1022
+ nameOrSignature: "publicAmountsEnabled"
1023
+ ): TypedContractMethod<[], [boolean], "view">;
418
1024
  getFunction(
419
1025
  nameOrSignature: "reencryptAllowance"
420
1026
  ): TypedContractMethod<
421
1027
  [account: AddressLike, isSpender: boolean],
422
- [boolean],
1028
+ [void],
1029
+ "nonpayable"
1030
+ >;
1031
+ getFunction(
1032
+ nameOrSignature: "renounceRole"
1033
+ ): TypedContractMethod<
1034
+ [role: BytesLike, account: AddressLike],
1035
+ [void],
1036
+ "nonpayable"
1037
+ >;
1038
+ getFunction(
1039
+ nameOrSignature: "revokeRole"
1040
+ ): TypedContractMethod<
1041
+ [role: BytesLike, account: AddressLike],
1042
+ [void],
423
1043
  "nonpayable"
424
1044
  >;
425
1045
  getFunction(
@@ -429,6 +1049,15 @@ export interface PrivateERC20 extends BaseContract {
429
1049
  [boolean],
430
1050
  "nonpayable"
431
1051
  >;
1052
+ getFunction(
1053
+ nameOrSignature: "setPublicAmountsEnabled"
1054
+ ): TypedContractMethod<[enabled: boolean], [void], "nonpayable">;
1055
+ getFunction(
1056
+ nameOrSignature: "supplyCap"
1057
+ ): TypedContractMethod<[], [bigint], "view">;
1058
+ getFunction(
1059
+ nameOrSignature: "supportsInterface"
1060
+ ): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">;
432
1061
  getFunction(
433
1062
  nameOrSignature: "symbol"
434
1063
  ): TypedContractMethod<[], [string], "view">;
@@ -436,34 +1065,76 @@ export interface PrivateERC20 extends BaseContract {
436
1065
  nameOrSignature: "totalSupply"
437
1066
  ): TypedContractMethod<[], [bigint], "view">;
438
1067
  getFunction(
439
- nameOrSignature: "transfer(address,(uint256,bytes))"
1068
+ nameOrSignature: "transfer(address,((uint256,uint256),bytes))"
440
1069
  ): TypedContractMethod<
441
- [to: AddressLike, value: ItUint64Struct],
442
- [bigint],
1070
+ [to: AddressLike, value: ItUint256Struct],
1071
+ [void],
443
1072
  "nonpayable"
444
1073
  >;
445
1074
  getFunction(
446
1075
  nameOrSignature: "transfer(address,uint256)"
447
1076
  ): TypedContractMethod<
448
1077
  [to: AddressLike, value: BigNumberish],
449
- [bigint],
1078
+ [void],
450
1079
  "nonpayable"
451
1080
  >;
452
1081
  getFunction(
453
- nameOrSignature: "transferFrom(address,address,(uint256,bytes))"
1082
+ nameOrSignature: "transferAndCall(address,((uint256,uint256),bytes),bytes)"
454
1083
  ): TypedContractMethod<
455
- [from: AddressLike, to: AddressLike, value: ItUint64Struct],
456
- [bigint],
1084
+ [to: AddressLike, amount: ItUint256Struct, data: BytesLike],
1085
+ [void],
1086
+ "nonpayable"
1087
+ >;
1088
+ getFunction(
1089
+ nameOrSignature: "transferAndCall(address,uint256,bytes)"
1090
+ ): TypedContractMethod<
1091
+ [to: AddressLike, amount: BigNumberish, data: BytesLike],
1092
+ [void],
457
1093
  "nonpayable"
458
1094
  >;
459
1095
  getFunction(
460
1096
  nameOrSignature: "transferFrom(address,address,uint256)"
461
1097
  ): TypedContractMethod<
462
1098
  [from: AddressLike, to: AddressLike, value: BigNumberish],
463
- [bigint],
1099
+ [void],
1100
+ "nonpayable"
1101
+ >;
1102
+ getFunction(
1103
+ nameOrSignature: "transferFrom(address,address,((uint256,uint256),bytes))"
1104
+ ): TypedContractMethod<
1105
+ [from: AddressLike, to: AddressLike, value: ItUint256Struct],
1106
+ [void],
1107
+ "nonpayable"
1108
+ >;
1109
+ getFunction(
1110
+ nameOrSignature: "transferFromGT"
1111
+ ): TypedContractMethod<
1112
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
1113
+ [void],
1114
+ "nonpayable"
1115
+ >;
1116
+ getFunction(
1117
+ nameOrSignature: "transferGT"
1118
+ ): TypedContractMethod<
1119
+ [to: AddressLike, value: BigNumberish],
1120
+ [void],
464
1121
  "nonpayable"
465
1122
  >;
466
1123
 
1124
+ getEvent(
1125
+ key: "AccountEncryptionAddressSet"
1126
+ ): TypedContractEvent<
1127
+ AccountEncryptionAddressSetEvent.InputTuple,
1128
+ AccountEncryptionAddressSetEvent.OutputTuple,
1129
+ AccountEncryptionAddressSetEvent.OutputObject
1130
+ >;
1131
+ getEvent(
1132
+ key: "AllowanceReencrypted"
1133
+ ): TypedContractEvent<
1134
+ AllowanceReencryptedEvent.InputTuple,
1135
+ AllowanceReencryptedEvent.OutputTuple,
1136
+ AllowanceReencryptedEvent.OutputObject
1137
+ >;
467
1138
  getEvent(
468
1139
  key: "Approval"
469
1140
  ): TypedContractEvent<
@@ -471,6 +1142,34 @@ export interface PrivateERC20 extends BaseContract {
471
1142
  ApprovalEvent.OutputTuple,
472
1143
  ApprovalEvent.OutputObject
473
1144
  >;
1145
+ getEvent(
1146
+ key: "PublicAmountsEnabledSet"
1147
+ ): TypedContractEvent<
1148
+ PublicAmountsEnabledSetEvent.InputTuple,
1149
+ PublicAmountsEnabledSetEvent.OutputTuple,
1150
+ PublicAmountsEnabledSetEvent.OutputObject
1151
+ >;
1152
+ getEvent(
1153
+ key: "RoleAdminChanged"
1154
+ ): TypedContractEvent<
1155
+ RoleAdminChangedEvent.InputTuple,
1156
+ RoleAdminChangedEvent.OutputTuple,
1157
+ RoleAdminChangedEvent.OutputObject
1158
+ >;
1159
+ getEvent(
1160
+ key: "RoleGranted"
1161
+ ): TypedContractEvent<
1162
+ RoleGrantedEvent.InputTuple,
1163
+ RoleGrantedEvent.OutputTuple,
1164
+ RoleGrantedEvent.OutputObject
1165
+ >;
1166
+ getEvent(
1167
+ key: "RoleRevoked"
1168
+ ): TypedContractEvent<
1169
+ RoleRevokedEvent.InputTuple,
1170
+ RoleRevokedEvent.OutputTuple,
1171
+ RoleRevokedEvent.OutputObject
1172
+ >;
474
1173
  getEvent(
475
1174
  key: "Transfer"
476
1175
  ): TypedContractEvent<
@@ -480,7 +1179,29 @@ export interface PrivateERC20 extends BaseContract {
480
1179
  >;
481
1180
 
482
1181
  filters: {
483
- "Approval(address,address,uint256,uint256)": TypedContractEvent<
1182
+ "AccountEncryptionAddressSet(address,address)": TypedContractEvent<
1183
+ AccountEncryptionAddressSetEvent.InputTuple,
1184
+ AccountEncryptionAddressSetEvent.OutputTuple,
1185
+ AccountEncryptionAddressSetEvent.OutputObject
1186
+ >;
1187
+ AccountEncryptionAddressSet: TypedContractEvent<
1188
+ AccountEncryptionAddressSetEvent.InputTuple,
1189
+ AccountEncryptionAddressSetEvent.OutputTuple,
1190
+ AccountEncryptionAddressSetEvent.OutputObject
1191
+ >;
1192
+
1193
+ "AllowanceReencrypted(address,address,bool)": TypedContractEvent<
1194
+ AllowanceReencryptedEvent.InputTuple,
1195
+ AllowanceReencryptedEvent.OutputTuple,
1196
+ AllowanceReencryptedEvent.OutputObject
1197
+ >;
1198
+ AllowanceReencrypted: TypedContractEvent<
1199
+ AllowanceReencryptedEvent.InputTuple,
1200
+ AllowanceReencryptedEvent.OutputTuple,
1201
+ AllowanceReencryptedEvent.OutputObject
1202
+ >;
1203
+
1204
+ "Approval(address,address,tuple,tuple)": TypedContractEvent<
484
1205
  ApprovalEvent.InputTuple,
485
1206
  ApprovalEvent.OutputTuple,
486
1207
  ApprovalEvent.OutputObject
@@ -491,7 +1212,51 @@ export interface PrivateERC20 extends BaseContract {
491
1212
  ApprovalEvent.OutputObject
492
1213
  >;
493
1214
 
494
- "Transfer(address,address,uint256,uint256)": TypedContractEvent<
1215
+ "PublicAmountsEnabledSet(bool)": TypedContractEvent<
1216
+ PublicAmountsEnabledSetEvent.InputTuple,
1217
+ PublicAmountsEnabledSetEvent.OutputTuple,
1218
+ PublicAmountsEnabledSetEvent.OutputObject
1219
+ >;
1220
+ PublicAmountsEnabledSet: TypedContractEvent<
1221
+ PublicAmountsEnabledSetEvent.InputTuple,
1222
+ PublicAmountsEnabledSetEvent.OutputTuple,
1223
+ PublicAmountsEnabledSetEvent.OutputObject
1224
+ >;
1225
+
1226
+ "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent<
1227
+ RoleAdminChangedEvent.InputTuple,
1228
+ RoleAdminChangedEvent.OutputTuple,
1229
+ RoleAdminChangedEvent.OutputObject
1230
+ >;
1231
+ RoleAdminChanged: TypedContractEvent<
1232
+ RoleAdminChangedEvent.InputTuple,
1233
+ RoleAdminChangedEvent.OutputTuple,
1234
+ RoleAdminChangedEvent.OutputObject
1235
+ >;
1236
+
1237
+ "RoleGranted(bytes32,address,address)": TypedContractEvent<
1238
+ RoleGrantedEvent.InputTuple,
1239
+ RoleGrantedEvent.OutputTuple,
1240
+ RoleGrantedEvent.OutputObject
1241
+ >;
1242
+ RoleGranted: TypedContractEvent<
1243
+ RoleGrantedEvent.InputTuple,
1244
+ RoleGrantedEvent.OutputTuple,
1245
+ RoleGrantedEvent.OutputObject
1246
+ >;
1247
+
1248
+ "RoleRevoked(bytes32,address,address)": TypedContractEvent<
1249
+ RoleRevokedEvent.InputTuple,
1250
+ RoleRevokedEvent.OutputTuple,
1251
+ RoleRevokedEvent.OutputObject
1252
+ >;
1253
+ RoleRevoked: TypedContractEvent<
1254
+ RoleRevokedEvent.InputTuple,
1255
+ RoleRevokedEvent.OutputTuple,
1256
+ RoleRevokedEvent.OutputObject
1257
+ >;
1258
+
1259
+ "Transfer(address,address,tuple,tuple)": TypedContractEvent<
495
1260
  TransferEvent.InputTuple,
496
1261
  TransferEvent.OutputTuple,
497
1262
  TransferEvent.OutputObject