@coti-io/coti-contracts 1.2.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 (267) hide show
  1. package/.github/workflows/npm-publish.yml +1 -1
  2. package/contracts/messaging/PrivateMessaging.sol +456 -0
  3. package/contracts/mocks/messaging/PrivateMessagingHarness.sol +54 -0
  4. package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +31 -0
  5. package/contracts/mocks/token/ERC20DecimalsMock.sol +21 -0
  6. package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +8 -3
  7. package/contracts/node/SoulboundNodeNFT.sol +22 -22
  8. package/contracts/oracle/CotiPriceConsumer.sol +103 -0
  9. package/contracts/oracle/ICotiPriceConsumer.sol +15 -0
  10. package/contracts/oracle/IStdReference.sol +26 -0
  11. package/contracts/privacyBridge/PrivacyBridge.sol +373 -91
  12. package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +209 -161
  13. package/contracts/privacyBridge/PrivacyBridgeERC20.sol +241 -159
  14. package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +7 -1
  15. package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +7 -1
  16. package/contracts/privacyBridge/PrivacyBridgeWADA.sol +7 -1
  17. package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +7 -1
  18. package/contracts/privacyBridge/PrivacyBridgeWETH.sol +7 -1
  19. package/contracts/privacyBridge/PrivacyBridgegCoti.sol +7 -1
  20. package/hardhat.config.ts +5 -2
  21. package/package.json +2 -2
  22. package/scripts/add-bridge-operators.cjs +87 -0
  23. package/scripts/deploy-coti-price-consumer-mainnet.cjs +49 -0
  24. package/scripts/deployCotiNodeRewards.ts +51 -0
  25. package/scripts/redeploy-private-and-bridges.cjs +201 -0
  26. package/scripts/set-bridge-limits-mainnet.cjs +177 -0
  27. package/scripts/verify-mainnet-private-bridges.cjs +289 -0
  28. package/sonar-project.properties +11 -0
  29. package/test/messaging/PrivateMessaging.test.ts +158 -0
  30. package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +1663 -0
  31. package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +162 -239
  32. package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +324 -0
  33. package/typechain-types/@openzeppelin/contracts/access/AccessControlEnumerable.ts +361 -0
  34. package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +292 -0
  35. package/typechain-types/@openzeppelin/contracts/access/IAccessControlEnumerable.ts +329 -0
  36. package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
  37. package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
  38. package/typechain-types/@openzeppelin/contracts/security/Pausable.ts +150 -0
  39. package/typechain-types/@openzeppelin/contracts/security/index.ts +4 -0
  40. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +330 -0
  41. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +286 -0
  42. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +1 -0
  43. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +1 -0
  44. package/typechain-types/@openzeppelin/contracts/token/ERC721/ERC721.ts +420 -0
  45. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +420 -0
  46. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  47. package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +3 -0
  48. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.ts +735 -0
  49. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.ts +734 -0
  50. package/typechain-types/contracts/disperse/coinByRatio/index.ts +2 -0
  51. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable.ts +95 -0
  52. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +22 -0
  53. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
  54. package/typechain-types/contracts/index.ts +8 -0
  55. package/typechain-types/contracts/messaging/PrivateMessaging.ts +871 -0
  56. package/typechain-types/contracts/messaging/index.ts +4 -0
  57. package/typechain-types/contracts/mocks/index.ts +4 -0
  58. package/typechain-types/contracts/mocks/messaging/PrivateMessagingHarness.ts +951 -0
  59. package/typechain-types/contracts/mocks/messaging/index.ts +4 -0
  60. package/typechain-types/contracts/mocks/oracle/CotiPriceConsumerMock.ts +163 -0
  61. package/typechain-types/contracts/mocks/oracle/index.ts +4 -0
  62. package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +349 -0
  63. package/typechain-types/contracts/mocks/token/ERC20Mock.ts +368 -0
  64. package/typechain-types/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.ts +108 -0
  65. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +1892 -0
  66. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +1296 -0
  67. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +1270 -0
  68. package/typechain-types/contracts/mocks/{utils/mpc/Bitwise128BitTestsContract.ts → token/PrivateERC20/PrivateERC20GtCallerMock.ts} +47 -67
  69. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +757 -25
  70. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted.ts +102 -0
  71. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock.ts +154 -0
  72. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  73. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.ts +155 -0
  74. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.ts +107 -0
  75. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.ts +100 -0
  76. package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +10 -0
  77. package/typechain-types/contracts/mocks/token/index.ts +2 -0
  78. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +6 -6
  79. package/typechain-types/contracts/node/CotiNodeRewards.ts +566 -0
  80. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/IERC5192.ts +123 -0
  81. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT.ts +975 -0
  82. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  83. package/typechain-types/contracts/node/index.ts +6 -0
  84. package/typechain-types/contracts/oracle/CotiPriceConsumer.ts +256 -0
  85. package/typechain-types/contracts/oracle/ICotiPriceConsumer.ts +119 -0
  86. package/typechain-types/contracts/oracle/IStdReference.ts +136 -0
  87. package/typechain-types/contracts/oracle/index.ts +6 -0
  88. package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +1628 -0
  89. package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +1870 -0
  90. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals.ts +84 -0
  91. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +1892 -0
  92. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  93. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +1892 -0
  94. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +1892 -0
  95. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +1892 -0
  96. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +1892 -0
  97. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +1892 -0
  98. package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +1892 -0
  99. package/typechain-types/contracts/privacyBridge/index.ts +13 -0
  100. package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +439 -19
  101. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiver.ts +100 -0
  102. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiverEncrypted.ts +99 -0
  103. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +763 -15
  104. package/typechain-types/contracts/token/PrivateERC20/index.ts +4 -0
  105. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +1270 -0
  106. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +1270 -0
  107. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +1270 -0
  108. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +1270 -0
  109. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +1270 -0
  110. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +1270 -0
  111. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +1270 -0
  112. package/typechain-types/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  113. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControlEnumerable__factory.ts +276 -0
  114. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +229 -0
  115. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControlEnumerable__factory.ts +244 -0
  116. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +197 -0
  117. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
  118. package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
  119. package/typechain-types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +61 -0
  120. package/typechain-types/factories/@openzeppelin/contracts/security/index.ts +4 -0
  121. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +356 -0
  122. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +247 -0
  123. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +1 -0
  124. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +1 -0
  125. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +416 -0
  126. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +355 -0
  127. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  128. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +2 -0
  129. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +791 -0
  130. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +711 -0
  131. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +1 -1
  132. package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +2 -0
  133. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable__factory.ts +35 -0
  134. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +19 -1
  135. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
  136. package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +1 -1
  137. package/typechain-types/factories/contracts/index.ts +4 -0
  138. package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1035 -0
  139. package/typechain-types/factories/contracts/messaging/index.ts +4 -0
  140. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
  141. package/typechain-types/factories/contracts/mocks/index.ts +2 -0
  142. package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1161 -0
  143. package/typechain-types/factories/contracts/mocks/messaging/index.ts +4 -0
  144. package/typechain-types/factories/contracts/mocks/oracle/CotiPriceConsumerMock__factory.ts +159 -0
  145. package/typechain-types/factories/contracts/mocks/oracle/index.ts +4 -0
  146. package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +394 -0
  147. package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +392 -0
  148. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock__factory.ts +125 -0
  149. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +1797 -0
  150. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +1514 -0
  151. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +1466 -0
  152. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +165 -0
  153. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +771 -55
  154. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted__factory.ts +54 -0
  155. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock__factory.ts +159 -0
  156. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  157. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock__factory.ts +164 -0
  158. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock__factory.ts +130 -0
  159. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock__factory.ts +102 -0
  160. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +9 -0
  161. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  162. package/typechain-types/factories/contracts/mocks/token/index.ts +2 -0
  163. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
  164. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
  165. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  166. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
  167. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
  168. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  169. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
  170. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
  171. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
  172. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +1 -1
  173. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  174. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
  175. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  176. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
  177. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
  178. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  179. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
  180. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +1 -1
  181. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  182. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  183. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +1 -1
  184. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
  185. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
  186. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
  187. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  188. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
  189. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
  190. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
  191. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
  192. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +1 -1
  193. package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
  194. package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
  195. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
  196. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
  197. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  198. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  199. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +1 -1
  200. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
  201. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  202. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  203. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +1 -1
  204. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
  205. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  206. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  207. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  208. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  209. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  210. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  211. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +1 -1
  212. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
  213. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
  214. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +4 -22
  215. package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +549 -0
  216. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/IERC5192__factory.ts +54 -0
  217. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +947 -0
  218. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  219. package/typechain-types/factories/contracts/node/index.ts +5 -0
  220. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  221. package/typechain-types/factories/contracts/oracle/CotiPriceConsumer__factory.ts +295 -0
  222. package/typechain-types/factories/contracts/oracle/ICotiPriceConsumer__factory.ts +73 -0
  223. package/typechain-types/factories/contracts/oracle/IStdReference__factory.ts +107 -0
  224. package/typechain-types/factories/contracts/oracle/index.ts +6 -0
  225. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +1676 -0
  226. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals__factory.ts +38 -0
  227. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +1678 -0
  228. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  229. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +1782 -0
  230. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +1782 -0
  231. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +1782 -0
  232. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +1782 -0
  233. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +1782 -0
  234. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +1367 -0
  235. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +1782 -0
  236. package/typechain-types/factories/contracts/privacyBridge/index.ts +12 -0
  237. package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +481 -35
  238. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiverEncrypted__factory.ts +53 -0
  239. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiver__factory.ts +54 -0
  240. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +793 -59
  241. package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +3 -0
  242. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +1445 -0
  243. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +1451 -0
  244. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +1442 -0
  245. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +1445 -0
  246. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +1445 -0
  247. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +1445 -0
  248. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +1451 -0
  249. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  250. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  251. package/typechain-types/hardhat.d.ts +953 -17
  252. package/typechain-types/index.ts +104 -0
  253. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +0 -341
  254. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +0 -347
  255. package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +0 -186
  256. package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +0 -260
  257. package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +0 -260
  258. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +0 -302
  259. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +0 -322
  260. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +0 -349
  261. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +0 -364
  262. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +0 -182
  263. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +0 -182
  264. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +0 -255
  265. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +0 -255
  266. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +0 -332
  267. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +0 -380
@@ -0,0 +1,1161 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type {
11
+ Signer,
12
+ BigNumberish,
13
+ ContractDeployTransaction,
14
+ ContractRunner,
15
+ } from "ethers";
16
+ import type { NonPayableOverrides } from "../../../../common";
17
+ import type {
18
+ PrivateMessagingHarness,
19
+ PrivateMessagingHarnessInterface,
20
+ } from "../../../../contracts/mocks/messaging/PrivateMessagingHarness";
21
+
22
+ const _abi = [
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "uint64",
27
+ name: "epochDurationSeconds",
28
+ type: "uint64",
29
+ },
30
+ ],
31
+ stateMutability: "nonpayable",
32
+ type: "constructor",
33
+ },
34
+ {
35
+ inputs: [],
36
+ name: "AlreadyClaimed",
37
+ type: "error",
38
+ },
39
+ {
40
+ inputs: [],
41
+ name: "ChunkOutOfBounds",
42
+ type: "error",
43
+ },
44
+ {
45
+ inputs: [],
46
+ name: "ChunkTooLarge",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [],
51
+ name: "EpochStillActive",
52
+ type: "error",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "InvalidChunkCount",
57
+ type: "error",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "InvalidEpochDuration",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [],
66
+ name: "InvalidRecipient",
67
+ type: "error",
68
+ },
69
+ {
70
+ inputs: [],
71
+ name: "MessageNotFound",
72
+ type: "error",
73
+ },
74
+ {
75
+ inputs: [],
76
+ name: "NativeTransferFailed",
77
+ type: "error",
78
+ },
79
+ {
80
+ inputs: [],
81
+ name: "NothingToClaim",
82
+ type: "error",
83
+ },
84
+ {
85
+ inputs: [],
86
+ name: "PastEpochFundingNotAllowed",
87
+ type: "error",
88
+ },
89
+ {
90
+ inputs: [],
91
+ name: "UnauthorizedViewer",
92
+ type: "error",
93
+ },
94
+ {
95
+ inputs: [],
96
+ name: "ZeroValue",
97
+ type: "error",
98
+ },
99
+ {
100
+ anonymous: false,
101
+ inputs: [
102
+ {
103
+ indexed: true,
104
+ internalType: "uint256",
105
+ name: "messageId",
106
+ type: "uint256",
107
+ },
108
+ {
109
+ indexed: true,
110
+ internalType: "address",
111
+ name: "from",
112
+ type: "address",
113
+ },
114
+ {
115
+ indexed: true,
116
+ internalType: "address",
117
+ name: "to",
118
+ type: "address",
119
+ },
120
+ {
121
+ indexed: false,
122
+ internalType: "uint256",
123
+ name: "epoch",
124
+ type: "uint256",
125
+ },
126
+ ],
127
+ name: "MessageSent",
128
+ type: "event",
129
+ },
130
+ {
131
+ anonymous: false,
132
+ inputs: [
133
+ {
134
+ indexed: true,
135
+ internalType: "uint256",
136
+ name: "epoch",
137
+ type: "uint256",
138
+ },
139
+ {
140
+ indexed: true,
141
+ internalType: "address",
142
+ name: "agent",
143
+ type: "address",
144
+ },
145
+ {
146
+ indexed: false,
147
+ internalType: "uint256",
148
+ name: "amount",
149
+ type: "uint256",
150
+ },
151
+ ],
152
+ name: "RewardClaimed",
153
+ type: "event",
154
+ },
155
+ {
156
+ anonymous: false,
157
+ inputs: [
158
+ {
159
+ indexed: true,
160
+ internalType: "uint256",
161
+ name: "epoch",
162
+ type: "uint256",
163
+ },
164
+ {
165
+ indexed: true,
166
+ internalType: "address",
167
+ name: "funder",
168
+ type: "address",
169
+ },
170
+ {
171
+ indexed: false,
172
+ internalType: "uint256",
173
+ name: "amount",
174
+ type: "uint256",
175
+ },
176
+ ],
177
+ name: "RewardFunded",
178
+ type: "event",
179
+ },
180
+ {
181
+ inputs: [],
182
+ name: "MAX_CHUNKS_PER_MESSAGE",
183
+ outputs: [
184
+ {
185
+ internalType: "uint32",
186
+ name: "",
187
+ type: "uint32",
188
+ },
189
+ ],
190
+ stateMutability: "view",
191
+ type: "function",
192
+ },
193
+ {
194
+ inputs: [],
195
+ name: "MAX_CHUNK_CELLS",
196
+ outputs: [
197
+ {
198
+ internalType: "uint8",
199
+ name: "",
200
+ type: "uint8",
201
+ },
202
+ ],
203
+ stateMutability: "view",
204
+ type: "function",
205
+ },
206
+ {
207
+ inputs: [
208
+ {
209
+ internalType: "uint256",
210
+ name: "epoch",
211
+ type: "uint256",
212
+ },
213
+ ],
214
+ name: "claimRewards",
215
+ outputs: [
216
+ {
217
+ internalType: "uint256",
218
+ name: "amount",
219
+ type: "uint256",
220
+ },
221
+ ],
222
+ stateMutability: "nonpayable",
223
+ type: "function",
224
+ },
225
+ {
226
+ inputs: [],
227
+ name: "currentEpoch",
228
+ outputs: [
229
+ {
230
+ internalType: "uint256",
231
+ name: "",
232
+ type: "uint256",
233
+ },
234
+ ],
235
+ stateMutability: "view",
236
+ type: "function",
237
+ },
238
+ {
239
+ inputs: [
240
+ {
241
+ internalType: "uint256",
242
+ name: "",
243
+ type: "uint256",
244
+ },
245
+ ],
246
+ name: "epochClaimedAmount",
247
+ outputs: [
248
+ {
249
+ internalType: "uint256",
250
+ name: "",
251
+ type: "uint256",
252
+ },
253
+ ],
254
+ stateMutability: "view",
255
+ type: "function",
256
+ },
257
+ {
258
+ inputs: [
259
+ {
260
+ internalType: "uint256",
261
+ name: "",
262
+ type: "uint256",
263
+ },
264
+ ],
265
+ name: "epochClaimedUsageUnits",
266
+ outputs: [
267
+ {
268
+ internalType: "uint256",
269
+ name: "",
270
+ type: "uint256",
271
+ },
272
+ ],
273
+ stateMutability: "view",
274
+ type: "function",
275
+ },
276
+ {
277
+ inputs: [],
278
+ name: "epochDuration",
279
+ outputs: [
280
+ {
281
+ internalType: "uint64",
282
+ name: "",
283
+ type: "uint64",
284
+ },
285
+ ],
286
+ stateMutability: "view",
287
+ type: "function",
288
+ },
289
+ {
290
+ inputs: [
291
+ {
292
+ internalType: "uint256",
293
+ name: "timestamp",
294
+ type: "uint256",
295
+ },
296
+ ],
297
+ name: "epochForTimestamp",
298
+ outputs: [
299
+ {
300
+ internalType: "uint256",
301
+ name: "",
302
+ type: "uint256",
303
+ },
304
+ ],
305
+ stateMutability: "view",
306
+ type: "function",
307
+ },
308
+ {
309
+ inputs: [
310
+ {
311
+ internalType: "uint256",
312
+ name: "",
313
+ type: "uint256",
314
+ },
315
+ {
316
+ internalType: "address",
317
+ name: "",
318
+ type: "address",
319
+ },
320
+ ],
321
+ name: "epochHasClaimed",
322
+ outputs: [
323
+ {
324
+ internalType: "bool",
325
+ name: "",
326
+ type: "bool",
327
+ },
328
+ ],
329
+ stateMutability: "view",
330
+ type: "function",
331
+ },
332
+ {
333
+ inputs: [
334
+ {
335
+ internalType: "uint256",
336
+ name: "",
337
+ type: "uint256",
338
+ },
339
+ ],
340
+ name: "epochRewardPool",
341
+ outputs: [
342
+ {
343
+ internalType: "uint256",
344
+ name: "",
345
+ type: "uint256",
346
+ },
347
+ ],
348
+ stateMutability: "view",
349
+ type: "function",
350
+ },
351
+ {
352
+ inputs: [
353
+ {
354
+ internalType: "uint256",
355
+ name: "",
356
+ type: "uint256",
357
+ },
358
+ ],
359
+ name: "epochTotalUsageUnits",
360
+ outputs: [
361
+ {
362
+ internalType: "uint256",
363
+ name: "",
364
+ type: "uint256",
365
+ },
366
+ ],
367
+ stateMutability: "view",
368
+ type: "function",
369
+ },
370
+ {
371
+ inputs: [
372
+ {
373
+ internalType: "uint256",
374
+ name: "",
375
+ type: "uint256",
376
+ },
377
+ {
378
+ internalType: "address",
379
+ name: "",
380
+ type: "address",
381
+ },
382
+ ],
383
+ name: "epochUsageUnits",
384
+ outputs: [
385
+ {
386
+ internalType: "uint256",
387
+ name: "",
388
+ type: "uint256",
389
+ },
390
+ ],
391
+ stateMutability: "view",
392
+ type: "function",
393
+ },
394
+ {
395
+ inputs: [
396
+ {
397
+ internalType: "uint256",
398
+ name: "epoch",
399
+ type: "uint256",
400
+ },
401
+ ],
402
+ name: "fundEpoch",
403
+ outputs: [],
404
+ stateMutability: "payable",
405
+ type: "function",
406
+ },
407
+ {
408
+ inputs: [],
409
+ name: "genesisTimestamp",
410
+ outputs: [
411
+ {
412
+ internalType: "uint64",
413
+ name: "",
414
+ type: "uint64",
415
+ },
416
+ ],
417
+ stateMutability: "view",
418
+ type: "function",
419
+ },
420
+ {
421
+ inputs: [
422
+ {
423
+ internalType: "uint256",
424
+ name: "epoch",
425
+ type: "uint256",
426
+ },
427
+ ],
428
+ name: "getEpochSummary",
429
+ outputs: [
430
+ {
431
+ internalType: "uint256",
432
+ name: "totalUsageUnits",
433
+ type: "uint256",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "rewardPool",
438
+ type: "uint256",
439
+ },
440
+ {
441
+ internalType: "uint256",
442
+ name: "claimedAmount",
443
+ type: "uint256",
444
+ },
445
+ {
446
+ internalType: "uint256",
447
+ name: "claimedUsageUnits",
448
+ type: "uint256",
449
+ },
450
+ ],
451
+ stateMutability: "view",
452
+ type: "function",
453
+ },
454
+ {
455
+ inputs: [
456
+ {
457
+ internalType: "address",
458
+ name: "account",
459
+ type: "address",
460
+ },
461
+ {
462
+ internalType: "uint256",
463
+ name: "offset",
464
+ type: "uint256",
465
+ },
466
+ {
467
+ internalType: "uint256",
468
+ name: "limit",
469
+ type: "uint256",
470
+ },
471
+ ],
472
+ name: "getInboxPage",
473
+ outputs: [
474
+ {
475
+ internalType: "uint256[]",
476
+ name: "messageIds",
477
+ type: "uint256[]",
478
+ },
479
+ ],
480
+ stateMutability: "view",
481
+ type: "function",
482
+ },
483
+ {
484
+ inputs: [
485
+ {
486
+ internalType: "uint256",
487
+ name: "messageId",
488
+ type: "uint256",
489
+ },
490
+ ],
491
+ name: "getMessage",
492
+ outputs: [
493
+ {
494
+ components: [
495
+ {
496
+ internalType: "uint256",
497
+ name: "id",
498
+ type: "uint256",
499
+ },
500
+ {
501
+ internalType: "address",
502
+ name: "from",
503
+ type: "address",
504
+ },
505
+ {
506
+ internalType: "address",
507
+ name: "to",
508
+ type: "address",
509
+ },
510
+ {
511
+ internalType: "uint64",
512
+ name: "timestamp",
513
+ type: "uint64",
514
+ },
515
+ {
516
+ internalType: "uint64",
517
+ name: "epoch",
518
+ type: "uint64",
519
+ },
520
+ {
521
+ internalType: "uint32",
522
+ name: "chunkCount",
523
+ type: "uint32",
524
+ },
525
+ {
526
+ components: [
527
+ {
528
+ internalType: "ctUint64[]",
529
+ name: "value",
530
+ type: "uint256[]",
531
+ },
532
+ ],
533
+ internalType: "struct ctString",
534
+ name: "ciphertext",
535
+ type: "tuple",
536
+ },
537
+ ],
538
+ internalType: "struct PrivateMessaging.MessageView",
539
+ name: "messageView",
540
+ type: "tuple",
541
+ },
542
+ ],
543
+ stateMutability: "view",
544
+ type: "function",
545
+ },
546
+ {
547
+ inputs: [
548
+ {
549
+ internalType: "uint256",
550
+ name: "messageId",
551
+ type: "uint256",
552
+ },
553
+ {
554
+ internalType: "uint256",
555
+ name: "chunkIndex",
556
+ type: "uint256",
557
+ },
558
+ ],
559
+ name: "getMessageChunk",
560
+ outputs: [
561
+ {
562
+ components: [
563
+ {
564
+ internalType: "ctUint64[]",
565
+ name: "value",
566
+ type: "uint256[]",
567
+ },
568
+ ],
569
+ internalType: "struct ctString",
570
+ name: "ciphertext",
571
+ type: "tuple",
572
+ },
573
+ ],
574
+ stateMutability: "view",
575
+ type: "function",
576
+ },
577
+ {
578
+ inputs: [
579
+ {
580
+ internalType: "uint256",
581
+ name: "messageId",
582
+ type: "uint256",
583
+ },
584
+ ],
585
+ name: "getMessageChunkCount",
586
+ outputs: [
587
+ {
588
+ internalType: "uint256",
589
+ name: "chunkCount",
590
+ type: "uint256",
591
+ },
592
+ ],
593
+ stateMutability: "view",
594
+ type: "function",
595
+ },
596
+ {
597
+ inputs: [
598
+ {
599
+ internalType: "uint256",
600
+ name: "messageId",
601
+ type: "uint256",
602
+ },
603
+ ],
604
+ name: "getMessageMetadata",
605
+ outputs: [
606
+ {
607
+ internalType: "address",
608
+ name: "from",
609
+ type: "address",
610
+ },
611
+ {
612
+ internalType: "address",
613
+ name: "to",
614
+ type: "address",
615
+ },
616
+ {
617
+ internalType: "uint64",
618
+ name: "timestamp",
619
+ type: "uint64",
620
+ },
621
+ {
622
+ internalType: "uint64",
623
+ name: "epoch",
624
+ type: "uint64",
625
+ },
626
+ ],
627
+ stateMutability: "view",
628
+ type: "function",
629
+ },
630
+ {
631
+ inputs: [
632
+ {
633
+ internalType: "uint256",
634
+ name: "messageId",
635
+ type: "uint256",
636
+ },
637
+ {
638
+ internalType: "uint256",
639
+ name: "chunkIndex",
640
+ type: "uint256",
641
+ },
642
+ ],
643
+ name: "getNetworkChunkCiphertext",
644
+ outputs: [
645
+ {
646
+ components: [
647
+ {
648
+ internalType: "ctUint64[]",
649
+ name: "value",
650
+ type: "uint256[]",
651
+ },
652
+ ],
653
+ internalType: "struct ctString",
654
+ name: "ciphertext",
655
+ type: "tuple",
656
+ },
657
+ ],
658
+ stateMutability: "view",
659
+ type: "function",
660
+ },
661
+ {
662
+ inputs: [
663
+ {
664
+ internalType: "uint256",
665
+ name: "messageId",
666
+ type: "uint256",
667
+ },
668
+ ],
669
+ name: "getNetworkCiphertext",
670
+ outputs: [
671
+ {
672
+ components: [
673
+ {
674
+ internalType: "ctUint64[]",
675
+ name: "value",
676
+ type: "uint256[]",
677
+ },
678
+ ],
679
+ internalType: "struct ctString",
680
+ name: "ciphertext",
681
+ type: "tuple",
682
+ },
683
+ ],
684
+ stateMutability: "view",
685
+ type: "function",
686
+ },
687
+ {
688
+ inputs: [
689
+ {
690
+ internalType: "uint256",
691
+ name: "messageId",
692
+ type: "uint256",
693
+ },
694
+ {
695
+ internalType: "uint256",
696
+ name: "chunkIndex",
697
+ type: "uint256",
698
+ },
699
+ ],
700
+ name: "getRecipientChunkCiphertext",
701
+ outputs: [
702
+ {
703
+ components: [
704
+ {
705
+ internalType: "ctUint64[]",
706
+ name: "value",
707
+ type: "uint256[]",
708
+ },
709
+ ],
710
+ internalType: "struct ctString",
711
+ name: "ciphertext",
712
+ type: "tuple",
713
+ },
714
+ ],
715
+ stateMutability: "view",
716
+ type: "function",
717
+ },
718
+ {
719
+ inputs: [
720
+ {
721
+ internalType: "uint256",
722
+ name: "messageId",
723
+ type: "uint256",
724
+ },
725
+ ],
726
+ name: "getRecipientCiphertext",
727
+ outputs: [
728
+ {
729
+ components: [
730
+ {
731
+ internalType: "ctUint64[]",
732
+ name: "value",
733
+ type: "uint256[]",
734
+ },
735
+ ],
736
+ internalType: "struct ctString",
737
+ name: "ciphertext",
738
+ type: "tuple",
739
+ },
740
+ ],
741
+ stateMutability: "view",
742
+ type: "function",
743
+ },
744
+ {
745
+ inputs: [
746
+ {
747
+ internalType: "uint256",
748
+ name: "messageId",
749
+ type: "uint256",
750
+ },
751
+ {
752
+ internalType: "uint256",
753
+ name: "chunkIndex",
754
+ type: "uint256",
755
+ },
756
+ ],
757
+ name: "getSenderChunkCiphertext",
758
+ outputs: [
759
+ {
760
+ components: [
761
+ {
762
+ internalType: "ctUint64[]",
763
+ name: "value",
764
+ type: "uint256[]",
765
+ },
766
+ ],
767
+ internalType: "struct ctString",
768
+ name: "ciphertext",
769
+ type: "tuple",
770
+ },
771
+ ],
772
+ stateMutability: "view",
773
+ type: "function",
774
+ },
775
+ {
776
+ inputs: [
777
+ {
778
+ internalType: "uint256",
779
+ name: "messageId",
780
+ type: "uint256",
781
+ },
782
+ ],
783
+ name: "getSenderCiphertext",
784
+ outputs: [
785
+ {
786
+ components: [
787
+ {
788
+ internalType: "ctUint64[]",
789
+ name: "value",
790
+ type: "uint256[]",
791
+ },
792
+ ],
793
+ internalType: "struct ctString",
794
+ name: "ciphertext",
795
+ type: "tuple",
796
+ },
797
+ ],
798
+ stateMutability: "view",
799
+ type: "function",
800
+ },
801
+ {
802
+ inputs: [
803
+ {
804
+ internalType: "address",
805
+ name: "account",
806
+ type: "address",
807
+ },
808
+ {
809
+ internalType: "uint256",
810
+ name: "offset",
811
+ type: "uint256",
812
+ },
813
+ {
814
+ internalType: "uint256",
815
+ name: "limit",
816
+ type: "uint256",
817
+ },
818
+ ],
819
+ name: "getSentPage",
820
+ outputs: [
821
+ {
822
+ internalType: "uint256[]",
823
+ name: "messageIds",
824
+ type: "uint256[]",
825
+ },
826
+ ],
827
+ stateMutability: "view",
828
+ type: "function",
829
+ },
830
+ {
831
+ inputs: [
832
+ {
833
+ internalType: "address",
834
+ name: "account",
835
+ type: "address",
836
+ },
837
+ ],
838
+ name: "inboxCount",
839
+ outputs: [
840
+ {
841
+ internalType: "uint256",
842
+ name: "",
843
+ type: "uint256",
844
+ },
845
+ ],
846
+ stateMutability: "view",
847
+ type: "function",
848
+ },
849
+ {
850
+ inputs: [
851
+ {
852
+ internalType: "uint256",
853
+ name: "epoch",
854
+ type: "uint256",
855
+ },
856
+ {
857
+ internalType: "address",
858
+ name: "agent",
859
+ type: "address",
860
+ },
861
+ ],
862
+ name: "pendingRewards",
863
+ outputs: [
864
+ {
865
+ internalType: "uint256",
866
+ name: "",
867
+ type: "uint256",
868
+ },
869
+ ],
870
+ stateMutability: "view",
871
+ type: "function",
872
+ },
873
+ {
874
+ inputs: [
875
+ {
876
+ internalType: "address",
877
+ name: "from",
878
+ type: "address",
879
+ },
880
+ {
881
+ internalType: "address",
882
+ name: "to",
883
+ type: "address",
884
+ },
885
+ {
886
+ components: [
887
+ {
888
+ internalType: "ctUint64[]",
889
+ name: "value",
890
+ type: "uint256[]",
891
+ },
892
+ ],
893
+ internalType: "struct ctString",
894
+ name: "networkCiphertext",
895
+ type: "tuple",
896
+ },
897
+ {
898
+ components: [
899
+ {
900
+ internalType: "ctUint64[]",
901
+ name: "value",
902
+ type: "uint256[]",
903
+ },
904
+ ],
905
+ internalType: "struct ctString",
906
+ name: "senderCiphertext",
907
+ type: "tuple",
908
+ },
909
+ {
910
+ components: [
911
+ {
912
+ internalType: "ctUint64[]",
913
+ name: "value",
914
+ type: "uint256[]",
915
+ },
916
+ ],
917
+ internalType: "struct ctString",
918
+ name: "recipientCiphertext",
919
+ type: "tuple",
920
+ },
921
+ ],
922
+ name: "recordSyntheticMessage",
923
+ outputs: [
924
+ {
925
+ internalType: "uint256",
926
+ name: "messageId",
927
+ type: "uint256",
928
+ },
929
+ ],
930
+ stateMutability: "nonpayable",
931
+ type: "function",
932
+ },
933
+ {
934
+ inputs: [
935
+ {
936
+ internalType: "address",
937
+ name: "from",
938
+ type: "address",
939
+ },
940
+ {
941
+ internalType: "address",
942
+ name: "to",
943
+ type: "address",
944
+ },
945
+ {
946
+ components: [
947
+ {
948
+ internalType: "ctUint64[]",
949
+ name: "value",
950
+ type: "uint256[]",
951
+ },
952
+ ],
953
+ internalType: "struct ctString[]",
954
+ name: "networkCiphertexts",
955
+ type: "tuple[]",
956
+ },
957
+ {
958
+ components: [
959
+ {
960
+ internalType: "ctUint64[]",
961
+ name: "value",
962
+ type: "uint256[]",
963
+ },
964
+ ],
965
+ internalType: "struct ctString[]",
966
+ name: "senderCiphertexts",
967
+ type: "tuple[]",
968
+ },
969
+ {
970
+ components: [
971
+ {
972
+ internalType: "ctUint64[]",
973
+ name: "value",
974
+ type: "uint256[]",
975
+ },
976
+ ],
977
+ internalType: "struct ctString[]",
978
+ name: "recipientCiphertexts",
979
+ type: "tuple[]",
980
+ },
981
+ ],
982
+ name: "recordSyntheticMultipartMessage",
983
+ outputs: [
984
+ {
985
+ internalType: "uint256",
986
+ name: "messageId",
987
+ type: "uint256",
988
+ },
989
+ ],
990
+ stateMutability: "nonpayable",
991
+ type: "function",
992
+ },
993
+ {
994
+ inputs: [
995
+ {
996
+ internalType: "address",
997
+ name: "to",
998
+ type: "address",
999
+ },
1000
+ {
1001
+ components: [
1002
+ {
1003
+ components: [
1004
+ {
1005
+ internalType: "ctUint64[]",
1006
+ name: "value",
1007
+ type: "uint256[]",
1008
+ },
1009
+ ],
1010
+ internalType: "struct ctString",
1011
+ name: "ciphertext",
1012
+ type: "tuple",
1013
+ },
1014
+ {
1015
+ internalType: "bytes[]",
1016
+ name: "signature",
1017
+ type: "bytes[]",
1018
+ },
1019
+ ],
1020
+ internalType: "struct itString",
1021
+ name: "encryptedMessage",
1022
+ type: "tuple",
1023
+ },
1024
+ ],
1025
+ name: "sendMessage",
1026
+ outputs: [
1027
+ {
1028
+ internalType: "uint256",
1029
+ name: "messageId",
1030
+ type: "uint256",
1031
+ },
1032
+ ],
1033
+ stateMutability: "nonpayable",
1034
+ type: "function",
1035
+ },
1036
+ {
1037
+ inputs: [
1038
+ {
1039
+ internalType: "address",
1040
+ name: "to",
1041
+ type: "address",
1042
+ },
1043
+ {
1044
+ components: [
1045
+ {
1046
+ components: [
1047
+ {
1048
+ internalType: "ctUint64[]",
1049
+ name: "value",
1050
+ type: "uint256[]",
1051
+ },
1052
+ ],
1053
+ internalType: "struct ctString",
1054
+ name: "ciphertext",
1055
+ type: "tuple",
1056
+ },
1057
+ {
1058
+ internalType: "bytes[]",
1059
+ name: "signature",
1060
+ type: "bytes[]",
1061
+ },
1062
+ ],
1063
+ internalType: "struct itString[]",
1064
+ name: "encryptedChunks",
1065
+ type: "tuple[]",
1066
+ },
1067
+ ],
1068
+ name: "sendMultipartMessage",
1069
+ outputs: [
1070
+ {
1071
+ internalType: "uint256",
1072
+ name: "messageId",
1073
+ type: "uint256",
1074
+ },
1075
+ ],
1076
+ stateMutability: "nonpayable",
1077
+ type: "function",
1078
+ },
1079
+ {
1080
+ inputs: [
1081
+ {
1082
+ internalType: "address",
1083
+ name: "account",
1084
+ type: "address",
1085
+ },
1086
+ ],
1087
+ name: "sentCount",
1088
+ outputs: [
1089
+ {
1090
+ internalType: "uint256",
1091
+ name: "",
1092
+ type: "uint256",
1093
+ },
1094
+ ],
1095
+ stateMutability: "view",
1096
+ type: "function",
1097
+ },
1098
+ {
1099
+ stateMutability: "payable",
1100
+ type: "receive",
1101
+ },
1102
+ ] as const;
1103
+
1104
+ const _bytecode =
1105
+ "0x60c034620000a7576001600160401b0390601f62002d9d38819003918201601f191683019184831184841017620000ac57808492602094604052833981010312620000a75751818116808203620000a757156200009557608052421660a052604051612cda9081620000c38239608051818181610e62015261153e015260a0518181816108000152818161151501526115730152f35b6040516368f5f8f160e11b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049081361015610036575b505050361561002057600080fd5b61003461002b611503565b34903390611a37565b005b600092833560e01c90816308062991146112bb5750806308b70ef21461123b5780630962ef79146110635780630d1db2c6146110475780631e6f03e714611007578063261ca8c414610fb75780632be51efe14610f6457806330da5f9c14610f205780633e8e5c7314610eae5780634ef5b36614610e865780634ff0876a14610e4157806352ba6d8f14610d6e578063539aa21f14610ce15780635aa0f53114610bea5780637667180814610bcd5780637885e47414610b3f578063792f54ff14610af657806379c1ef4914610aa857806386f79edb146109755780639631c2d514610955578063a622d5891461092d578063b12cf2cc14610897578063baddc3df1461084c578063bbd8ecd014610824578063cacf66ab146107df578063cc04292714610572578063cddd640714610556578063d18df53c14610527578063d6d8a23a146104df578063da8d9bed14610452578063db5163bb1461042a578063e768797e14610294578063e8738d031461025f5763f354830a03610012573461025b57602091826003193601126102575735606082516101d6816115b0565b526101e0816127a0565b508352600282528083208380528252808320928151936101ff856115b0565b825191828583549182815201928252858220915b8682821061024357889061023f888861022e818a0382611633565b845251928284938452830190611368565b0390f35b835485529093019260019283019201610213565b8380fd5b8280fd5b508234610291576020600319360112610291575063ffffffff6002610286602094356127a0565b01548251921c168152f35b80fd5b503461025b578060031936011261025b576102ad6113c8565b9267ffffffffffffffff60243581811161025b576102ce903690860161145d565b909473ffffffffffffffffffffffffffffffffffffffff87168015908115610420575b506103f957811580156103f0575b6103c957508295835b82811061039d575061031b828233611ca1565b95845b83811061034a57602088886103448c8a8a85825260018752600285339320015416611e23565b51908152f35b6103989061039361036d61036836610363858a89611878565b611750565b61283a565b61037681612a94565b9061038b876103853384612b9e565b92612b9e565b91848d6120d8565b61184b565b61031e565b966103be6103c4916103b86103b38b878c611878565b612610565b906118e7565b9761184b565b610308565b84517f0c1c00a4000000000000000000000000000000000000000000000000000000008152fd5b508482116102ff565b84517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b90503314386102f1565b50903461025b57602060031936011261025b576020928291358152600b845220549051908152f35b503461025b576020918260031936011261025757803560608351610475816115b0565b5261047f816127a0565b508452825280832083805282528083209281519361049c856115b0565b825191828583549182815201928252858220915b868282106104cb57889061023f888861022e818a0382611633565b8354855290930192600192830192016104b0565b838234610523576020600319360112610523578060209273ffffffffffffffffffffffffffffffffffffffff6105136113c8565b1681526006845220549051908152f35b5080fd5b5082346102915781600319360112610291575061054f6020926105486113a5565b90356118f4565b9051908152f35b8382346105235781600319360112610523576020905160038152f35b503461025b5760a060031936011261025b5761058c6113c8565b6105946113a5565b67ffffffffffffffff6044358181116107db576105b4903690870161145d565b9590926064358381116107d7576105ce903690840161145d565b90936084359081116107d3576105e7903690850161145d565b929093891561077657828a0361071957838a036106bc57508861061191889a97969594939a611ca1565b9789955b8087106106325760208a8a6103448e8c61062d611503565b611e23565b909192939495996106448b8389612823565b8061064e916125bc565b9050610659916118e7565b99898161066781858b612823565b61067282878b612823565b61067d83898b612823565b91366106889161168c565b90366106939161168c565b913661069e9161168c565b926106a8946120d8565b6106b19061184b565b959493929190610615565b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601060248201527f726563697069656e74206c656e677468000000000000000000000000000000006044820152fd5b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600d60248201527f73656e646572206c656e677468000000000000000000000000000000000000006044820152fd5b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600b60248201527f6368756e6b20636f756e740000000000000000000000000000000000000000006044820152fd5b8980fd5b8880fd5b8680fd5b8382346105235781600319360112610523576020905167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50903461025b57602060031936011261025b5760209282913581526008845220549051908152f35b8382346105235761088c61023f9273ffffffffffffffffffffffffffffffffffffffff83610879366113eb565b94919390931681526006602052206126f5565b905191829182611422565b838234610523576108a73661134d565b9190606082516108b6816115b0565b526108c9836108c4836127a0565b6127e4565b8352602091600283528184209084528252808320928151936108ea856115b0565b825191828583549182815201928252858220915b8682821061091957889061023f888861022e818a0382611633565b8354855290930192600192830192016108fe565b50903461025b57602060031936011261025b5760209282913581526009845220549051908152f35b508234610291576020600319360112610291575061054f60209235611567565b509190346105235760206003193601126105235760209161023f91359084519061099e826115fb565b8082528085830152808683015280606083015280608083015260a082015260c08551916109ca836115b0565b6060835201526109d9816127a0565b6109e43382846122b0565b9173ffffffffffffffffffffffffffffffffffffffff9586835460081c1660026001850154940154938251988994610a1b866115fb565b8552888501928352838501908083168252606086019167ffffffffffffffff9586809560a01c168452826080890196868b16885260c060a08b019a63ffffffff809d861c168c52019b8c5282519e8f9e8f91818352519101525116908c0152511660608a015251166080880152511660a0860152511660c08401525160e080840152610100830190611368565b50903461025b578160031936011261025b576020928291610ac76113a5565b903582526007855273ffffffffffffffffffffffffffffffffffffffff83832091168252845220549051908152f35b8382346105235761023f90610b2c610b0d3661134d565b9060608451610b1b816115b0565b52610b25816127a0565b3391612435565b9051918291602083526020830190611368565b503461025b5760209182600319360112610257573560608251610b61816115b0565b52610b6b816127a0565b50835260038252808320838052825280832092815193610b8a856115b0565b825191828583549182815201928252858220915b86828210610bb957889061023f888861022e818a0382611633565b835485529093019260019283019201610b9e565b83823461052357816003193601126105235760209061054f611503565b503461025b5760031992818436011261029157610c056113c8565b936024359367ffffffffffffffff91828611610257578490868301963603011261025b5773ffffffffffffffffffffffffffffffffffffffff86168015908115610cd7575b50610cb057509361034491602095610c9b610c6487612610565b93610c7d610368610c758333611b35565b993690611750565b610c94610c8982612a94565b926103853384612b9e565b9189611e78565b85825260018752600285339320015416611e23565b83517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b9050331438610c4a565b503461025b57610cf03661134d565b9060608351610cfe816115b0565b52610d0c826108c4836127a0565b84526020928352818420908452825280832092815193610d2b856115b0565b825191828583549182815201928252858220915b86828210610d5a57889061023f888861022e818a0382611633565b835485529093019260019283019201610d3f565b503461025b576003199260a08436011261029157610d8a6113c8565b92610d936113a5565b6044359067ffffffffffffffff938483116102915760208884860194360301126102915760643597858911610523576020818a3603011261052357608435958611610523576020908636030112610291575060209692610e31610e276103449694610e20610e04610e3a968c611b35565b9a610e0d611503565b90610e1884806125bc565b929050611e23565b369061168c565b943690830161168c565b9236910161168c565b9185611e78565b8382346105235781600319360112610523576020905167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50903461025b57602060031936011261025b576020928291358152600a845220549051908152f35b5082346102915760206003193601126102915750610ece608092356127a0565b9073ffffffffffffffffffffffffffffffffffffffff90600282845460081c169360018101549067ffffffffffffffff9283910154169383519586528116602086015260a01c16908301526060820152f35b838234610523576020600319360112610523578060209273ffffffffffffffffffffffffffffffffffffffff610f546113c8565b1681526005845220549051908152f35b50903461025b578160031936011261025b578160209360ff92610f856113a5565b90358252600c865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50903461025b576020908160031936011261025757926080933581526008825282812054926009835280822054600a8452818084205493600b865220549382519586528501528301526060820152f35b8382346105235761088c61023f9273ffffffffffffffffffffffffffffffffffffffff83611034366113eb565b94919390931681526005602052206126f5565b8382346105235781600319360112610523578060209151908152f35b50829034610523576020928360031936011261025b57803590611084611503565b82101561121457818452600c8552828420338552855260ff83852054166111ed576110af33836118f4565b9384156111c55782815260078652838120338252865283812054838252600c8752848220338352875284822060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055838252600b87526111198583209182546118e7565b9055828152600a86528381206111308682546118e7565b90558080808088335af1903d156111bf573d9061114c82611716565b9161115987519384611633565b8252873d92013e5b1561119857508151908382527f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7853393a351908152f35b82517ff4b3b1bc000000000000000000000000000000000000000000000000000000008152fd5b50611161565b5082517f969bf728000000000000000000000000000000000000000000000000000000008152fd5b82517f646cf558000000000000000000000000000000000000000000000000000000008152fd5b82517ff074b153000000000000000000000000000000000000000000000000000000008152fd5b5090602060031936011261025b5780359134156112955761125a611503565b831061126f578361126c343386611a37565b80f35b517f9096d3da000000000000000000000000000000000000000000000000000000008152fd5b517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b9250503461025b576060916112cf3661134d565b9390916112db816115b0565b526112e9836108c4836127a0565b83526020916003835281842090845282528083209281519361130a856115b0565b825191828583549182815201928252858220915b8682821061133957889061023f888861022e818a0382611633565b83548552909301926001928301920161131e565b6003196040910112611363576004359060243590565b600080fd5b60209081604081850192519482815285518094520193019160005b828110611391575050505090565b835185529381019392810192600101611383565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361136357565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361136357565b60031960609101126113635760043573ffffffffffffffffffffffffffffffffffffffff8116810361136357906024359060443590565b6020908160408183019282815285518094520193019160005b828110611449575050505090565b83518552938101939281019260010161143b565b9181601f840112156113635782359167ffffffffffffffff8311611363576020808501948460051b01011161136357565b9190820391821161149b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81156114d4570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61156467ffffffffffffffff61153b817f0000000000000000000000000000000000000000000000000000000000000000164261148e565b907f000000000000000000000000000000000000000000000000000000000000000016906114ca565b90565b67ffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016918281106115a8576115649261153b9161148e565b505050600090565b6020810190811067ffffffffffffffff8211176115cc57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176115cc57604052565b6040810190811067ffffffffffffffff8211176115cc57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176115cc57604052565b67ffffffffffffffff81116115cc5760051b60200190565b91906020808483031261136357604051906116a6826115b0565b819480359067ffffffffffffffff821161136357019280601f850112156113635783356116d281611674565b946116e06040519687611633565b818652838087019260051b820101928311611363578301905b828210611707575050505052565b813581529083019083016116f9565b67ffffffffffffffff81116115cc57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b919091604090818185031261136357815161176a81611617565b809482359367ffffffffffffffff94858111611363578261178c91860161168c565b8352602093848101359086821161136357019180601f84011215611363578235906117b682611674565b966117c384519889611633565b828852868089019360051b8601019482861161136357878101935b8685106117f057505050505050500152565b843583811161136357820184603f8201121561136357898101359161181483611716565b61182089519182611633565b838152868985850101116113635760008c8581968c83970183860137830101528152019401936117de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461149b5760010190565b91908110156118b85760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc181360301821215611363570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190820180921161149b57565b91906118fe611503565b83108015906119fd575b6119f65760009280845260206007815260409273ffffffffffffffffffffffffffffffffffffffff84872091168652815282852054918552600881528285205490600981528386205493831580156119ee575b80156119e6575b6119df578161198491600b61198a959452600a818a205492528820549261148e565b9361148e565b8282146119d9578181029181830414901517156119ac576115649293506114ca565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b93505050565b5050505050565b508415611962565b50821561195b565b5060009150565b5082600052600c602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff60406000205416611908565b908215611a9c57602073ffffffffffffffffffffffffffffffffffffffff7f0d974655de5c0c4519288c05bb8c1a014366e199206efc12b550ca5b684af6689284600052600983526040600020611a8f8782546118e7565b90556040519586521693a3565b60046040517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b80548210156118b85760005260206000200190600090565b8054680100000000000000008110156115cc57611b0091600182018155611ac6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829392549160031b92831b921b1916179055565b9190611b3f611503565b926000937f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b6020865492611b728461184b565b8855611c98846040819a8281526001865260028282208a600182547fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff8095169f60081b16911617178255600182019c169b80548d7fffffffff000000000000000000000000000000000000000000000000000000007bffffffffffffffff00000000000000000000000000000000000000004260a01b16921617179055016801000000000000000067ffffffffffffffff87167fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008354161717905588815260068652611c8b83838320611ade565b8981526005865220611ade565b604051908152a4565b929192611cac611503565b60009081548092611cbc8261184b565b81558197828252600160205260408220805473ffffffffffffffffffffffffffffffffffffffff908189169860081b74ffffffffffffffffffffffffffffffffffffffff0016907fffffffffffffffffffffff00000000000000000000000000000000000000000016176001178255600182019816978054894260a01b7bffffffffffffffff000000000000000000000000000000000000000016917fffffffff0000000000000000000000000000000000000000000000000000000016171790556002019081549060401b6bffffffff0000000000000000169067ffffffffffffffff8616907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016171790558481526006602052816040822090611de091611ade565b85815260056020526040902090611df691611ade565b60405190815260207f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b91a4565b611e7491604091600091818352600760205273ffffffffffffffffffffffffffffffffffffffff84842091168352602052828220611e628682546118e7565b905581526008602052209182546118e7565b9055565b92919092600091818352602091600283526040908185208580528452818520965192835167ffffffffffffffff988982116120445768010000000000000000958683116120ab5787908254848455808510612083575b5001908852868820885b838110612071575050505081865260038552828620868052855282862090519081519189831161204457858311612044578690825484845580851061201c575b5001908752858720875b83811061200a5750505050845260048352808420848052835283209351908151958611611fdd578511611fb05781908454868655808710611f88575b5001928252808220915b848110611f76575050505050565b83518382015592810192600101611f68565b8585528683862091820191015b818110611fa25750611f5e565b858155849350600101611f95565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b82518282015591870191600101611f22565b838a5284838b2091820191015b8181106120365750611f18565b8a8155899350600101612029565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b82518282015591880191600101611ed8565b838b5284838c2091820191015b81811061209d5750611ece565b8b81558a9350600101612090565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b919392600092808452602092600284526040918286208287528552828620975193845167ffffffffffffffff998a82116120ab576801000000000000000096878311612283578890825484845580851061225b575b5001908952878920895b83811061224957505050508187526003865283872083885286528387209051908151918a83116120ab578683116120ab5787908254848455808510612221575b5001908852868820885b83811061220f5750505050855260048452818520908552835283209351908151958611611fdd578511611fb057819084548686558087106121e7575b5001928252808220915b8481106121d5575050505050565b835183820155928101926001016121c7565b8585528683862091820191015b81811061220157506121bd565b8581558493506001016121f4565b82518282015591880191600101612181565b838b5284838c2091820191015b81811061223b5750612177565b8b81558a935060010161222e565b82518282015591890191600101612137565b838c5284838d2091820191015b818110612275575061212d565b8c81558b9350600101612268565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60409283516122be816115b0565b606090526002830154841c63ffffffff161561240c5773ffffffffffffffffffffffffffffffffffffffff8080855460081c16921691821461239e57600180940154161461232f57600483517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b600090815260209060048252838120818052825283812090845194612353866115b0565b5193848486958554928381520194845280842093905b82821061238657505050505090612381910382611633565b815290565b84548652879650948501949383019390830190612369565b505090506000908152602090600382528281208180528252828120918351936123c6856115b0565b5192838285938354928381520192855280852094905b8282106123f25750505061238192500382611633565b8554845260019586019587955093810193909101906123dc565b600484517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b909291926040938451612447816115b0565b6060905261245584836127e4565b73ffffffffffffffffffffffffffffffffffffffff8080845460081c16921691821461251c5760018093015416146124b057600484517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b91906000908152602091600483528482209082528252838120908451946124d6866115b0565b5193848486958554928381520194845280842093905b82821061250457505050505090612381910382611633565b845486528796509485019493830193908301906124ec565b505050600090815260209160038352838220908252825282812091835193612543856115b0565b5192838285938354928381520192855280852094905b82821061256f5750505061238192500382611633565b855484526001958601958795509381019390910190612559565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215611363570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215611363570180359067ffffffffffffffff821161136357602001918160051b3603831361136357565b9061262461261e8380612589565b806125bc565b928315915083908215612676575b50811561266b575b5061264157565b60046040517fd29524a2000000000000000000000000000000000000000000000000000000008152fd5b60039150113861263a565b61268691925060208101906125bc565b90508114159038612632565b9061269c82611674565b6126a96040519182611633565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06126d78294611674565b0190602036910137565b80518210156118b85760209160051b010190565b929190835491828210801590612798575b61277b5761271490826118e7565b91808311612773575b5061273061272b828461148e565b612692565b93815b8381106127405750505050565b8061274e61276e9284611ac6565b90549060031b1c612768612762868461148e565b896126e1565b5261184b565b612733565b91503861271d565b505050905060405161278c816115b0565b60008152600036813790565b508015612706565b600052600160205260406000209060ff825416156127ba57565b60046040517f28915ac7000000000000000000000000000000000000000000000000000000008152fd5b6002015460401c63ffffffff1611156127f957565b60046040517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b908210156118b8576115649160051b810190612589565b604060608151612849816115b0565b526020808301805151918285515151036129a25761286683611674565b9461287385519687611633565b8386527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06128a085611674565b0136838801378451956128b2876115b0565b865284516128bf81611617565b6000938482528382019260608452855b8781106128e25750505050505050505090565b806128f261293a928451516126e1565b518552866129018286516126e1565b5180885286518c5194859283927fe4f36e10000000000000000000000000000000000000000000000000000000008452600484016129ff565b03818b60645af18015612998578890612963575b61295e9250612768828d516126e1565b6128cf565b50908681813d8311612991575b61297a8183611633565b8101031261298d579061295e915161294e565b8780fd5b503d612970565b8a513d8a823e3d90fd5b6064908451907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f54455854000000006044820152fd5b909291927f04000000000000000000000000000000000000000000000000000000000000008252602090818301526060604083015283519384606084015260005b858110612a80575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006080809697860101520116010190565b818101830151848201608001528201612a40565b604060608151612aa3816115b0565b52815151612ab081612692565b92825193612abd856115b0565b845260005b828110612ad0575050505090565b612adb8183516126e1565b51908451917fc50c9c020000000000000000000000000000000000000000000000000000000083527f0400000000000000000000000000000000000000000000000000000000000000600484015260248301526020918281604481600060645af1908115612b9357600091612b61575b50612b5c92506127688288516126e1565b612ac2565b919282813d8311612b8c575b612b778183611633565b81010312610291575090612b5c915138612b4b565b503d612b6d565b86513d6000823e3d90fd5b90604090815190612bae826115b0565b606080925283515191612bc083612692565b94845195612bcd876115b0565b865260005b848110612be25750505050505090565b612bed8183516126e1565b5190612c6387519260209384917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000089891b168383015260148252612c3082611617565b8a5193849283927f3c6f0e68000000000000000000000000000000000000000000000000000000008452600484016129ff565b0381600060645af1908115612cc257600091612c90575b50612c8b9250612768828a516126e1565b612bd2565b919282813d8311612cbb575b612ca68183611633565b81010312610291575090612c8b915138612c7a565b503d612c9c565b88513d6000823e3d90fdfea164736f6c6343000813000a";
1106
+
1107
+ type PrivateMessagingHarnessConstructorParams =
1108
+ | [signer?: Signer]
1109
+ | ConstructorParameters<typeof ContractFactory>;
1110
+
1111
+ const isSuperArgs = (
1112
+ xs: PrivateMessagingHarnessConstructorParams
1113
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1114
+
1115
+ export class PrivateMessagingHarness__factory extends ContractFactory {
1116
+ constructor(...args: PrivateMessagingHarnessConstructorParams) {
1117
+ if (isSuperArgs(args)) {
1118
+ super(...args);
1119
+ } else {
1120
+ super(_abi, _bytecode, args[0]);
1121
+ }
1122
+ }
1123
+
1124
+ override getDeployTransaction(
1125
+ epochDurationSeconds: BigNumberish,
1126
+ overrides?: NonPayableOverrides & { from?: string }
1127
+ ): Promise<ContractDeployTransaction> {
1128
+ return super.getDeployTransaction(epochDurationSeconds, overrides || {});
1129
+ }
1130
+ override deploy(
1131
+ epochDurationSeconds: BigNumberish,
1132
+ overrides?: NonPayableOverrides & { from?: string }
1133
+ ) {
1134
+ return super.deploy(epochDurationSeconds, overrides || {}) as Promise<
1135
+ PrivateMessagingHarness & {
1136
+ deploymentTransaction(): ContractTransactionResponse;
1137
+ }
1138
+ >;
1139
+ }
1140
+ override connect(
1141
+ runner: ContractRunner | null
1142
+ ): PrivateMessagingHarness__factory {
1143
+ return super.connect(runner) as PrivateMessagingHarness__factory;
1144
+ }
1145
+
1146
+ static readonly bytecode = _bytecode;
1147
+ static readonly abi = _abi;
1148
+ static createInterface(): PrivateMessagingHarnessInterface {
1149
+ return new Interface(_abi) as PrivateMessagingHarnessInterface;
1150
+ }
1151
+ static connect(
1152
+ address: string,
1153
+ runner?: ContractRunner | null
1154
+ ): PrivateMessagingHarness {
1155
+ return new Contract(
1156
+ address,
1157
+ _abi,
1158
+ runner
1159
+ ) as unknown as PrivateMessagingHarness;
1160
+ }
1161
+ }