@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
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { PrivateMessaging__factory } from "./PrivateMessaging__factory";
@@ -615,7 +615,7 @@ const _abi = [
615
615
  ] as const;
616
616
 
617
617
  const _bytecode =
618
- "0x608060405260016005553480156200001657600080fd5b506000805461ffff19166101011790556040516430b236b4b760d91b81526001908190819081906005019081526040805160209281900383018120805460ff1916941515949094179093556101408301815233835280518082018252600581526430b236b4b760d91b81840152828401526001838201526000606084018190526080840181905260a0840181905260c0840181905260e08401819052610100840181905281519283019091528152610120820152620000d59062000196565b506040805180820182526001808252601560f91b602083015291518291620000fd9162000592565b9081526040805160209281900383018120805460ff19169415159490941790935561014083018152600180845281518083018352818152601560f91b8185015283850152838201526000606084018190526080840181905260a0840181905260c0840181905260e084018190526101008401819052815192830190915281526101208201526200018d9062000196565b50505062000780565b80516001600160a01b03166000908152600460209081526040808320918401519051620001c4919062000592565b908152602001604051809103902054600003620003ff5760055482516001600160a01b031660009081526004602090815260409182902090850151915190916200020e9162000592565b908152602001604051809103902081905550604051806101600160405280600554815260200183600001516001600160a01b03168152602001836020015181526020018360400151151581526020018360a00151151581526020018360c001511515815260200183606001518152602001836080015181526020018360e0015181526020018361010001516001600160a01b031681526020018361012001518152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201908162000313919062000668565b506060820151600382018054608085015160a086015161ffff1990921693151561ff0019169390931761010093151584021762ff00001916620100009115159190910217905560c0830151600483015560e0830151600583015582015160068201556101208201516007820180546001600160a01b0319166001600160a01b039092169190911790556101408201516008820190620003b3908262000668565b50905050600560008154620003c8906200074a565b9091555081516001600160a01b031660009081526003602052604081208054909190620003f5906200074a565b909155506200058a565b81516001600160a01b031660009081526004602090815260408083209185015190516006928492909162000434919062000592565b90815260200160405180910390205481526020019081526020016000209050826040015180156200046a5750600381015460ff16155b156200049e5782516001600160a01b03166000908152600360205260408120805490919062000499906200074a565b909155505b8260400151158015620004b55750600381015460ff165b15620004e95782516001600160a01b031660009081526003602052604081208054909190620004e49062000766565b909155505b6040830151600382018054606086015160048501556080860151600585015560a086015160c087015161ffff1990921693151561ff0019169390931761010093151584021762ff00001916620100009115159190910217905560e084015160068301558301516007820180546001600160a01b0319166001600160a01b03909216919091179055610120830151600882019062000587908262000668565b50505b506001919050565b6000825160005b81811015620005b5576020818601810151858301520162000599565b506000920191825250919050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005ee57607f821691505b6020821081036200060f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200066357600081815260208120601f850160051c810160208610156200063e5750805b601f850160051c820191505b818110156200065f578281556001016200064a565b5050505b505050565b81516001600160401b03811115620006845762000684620005c3565b6200069c81620006958454620005d9565b8462000615565b602080601f831160018114620006d45760008415620006bb5750858301515b600019600386901b1c1916600185901b1785556200065f565b600085815260208120601f198616915b828110156200070557888601518255948401946001909101908401620006e4565b5085821015620007245787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000600182016200075f576200075f62000734565b5060010190565b60008162000778576200077862000734565b506000190190565b6128aa80620007906000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063a7804d65116100d8578063f28b9f341161008c578063fa1b3cac11610066578063fa1b3cac146103be578063fac66f01146103eb578063fb83bb731461040b57600080fd5b8063f28b9f341461036b578063f55893641461037d578063f9529ee2146103ab57600080fd5b8063c6064b28116100bd578063c6064b28146102d3578063c8d757fd146102e6578063efdcec9c1461032257600080fd5b8063a7804d65146102a0578063ade0bee4146102c057600080fd5b8063661957011161013a5780639359c287116101145780639359c2871461026d578063a5fcf16214610280578063a74d34391461028d57600080fd5b80636619570114610231578063699d7c331461024757806382dab96e1461025a57600080fd5b8063372db0891161016b578063372db089146101f8578063476a95ad1461020b57806365c581521461021e57600080fd5b806326c500071461018757806334906a4a146101ba575b600080fd5b61019a610195366004611dda565b61041e565b6040516101b19b9a99989796959493929190611e61565b60405180910390f35b6101e86101c8366004611ff8565b805160208183018101805160018252928201919093012091525460ff1681565b60405190151581526020016101b1565b6101e861020636600461209f565b6105bb565b6101e8610219366004612109565b6105e6565b6101e861022c366004611ff8565b610695565b61023961079f565b6040519081526020016101b1565b6101e861025536600461212b565b6107b5565b6101e861026836600461217e565b6107df565b6101e861027b366004611ff8565b610d39565b6000546101e89060ff1681565b6101e861029b366004612288565b610dd6565b6102396102ae366004612309565b60036020526000908152604090205481565b6101e86102ce366004612109565b610e29565b6101e86102e1366004612324565b610ee2565b6102396102f4366004612389565b6004602090815260009283526040909220815180830184018051928152908401929093019190912091525481565b61035e6040518060400160405280600181526020017f2a0000000000000000000000000000000000000000000000000000000000000081525081565b6040516101b191906123d7565b6000546101e890610100900460ff1681565b6101e861038b366004611ff8565b805160208183018101805160028252928201919093012091525460ff1681565b6101e86103b93660046123ea565b610f04565b6103c6600181565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b1565b6103fe6103f936600461242c565b610fed565b6040516101b1919061244e565b6101e86104193660046123ea565b61146d565b600660205260009081526040902080546001820154600283018054929373ffffffffffffffffffffffffffffffffffffffff9092169261045d90612595565b80601f016020809104026020016040519081016040528092919081815260200182805461048990612595565b80156104d65780601f106104ab576101008083540402835291602001916104d6565b820191906000526020600020905b8154815290600101906020018083116104b957829003601f168201915b5050505060038301546004840154600585015460068601546007870154600888018054979860ff8088169961010089048216995062010000909804169673ffffffffffffffffffffffffffffffffffffffff9093169290919061053890612595565b80601f016020809104026020016040519081016040528092919081815260200182805461056490612595565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505090508b565b60006105dd85858560018660006040518060200160405280600081525061150e565b95945050505050565b6000805482151560ff909116151503610660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a20494e56414c49445f5045524d495353494f4e5f4348414e4745000060448201526064015b60405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600190565b60006002826040516106a791906125e8565b9081526040519081900360200190205460ff1615610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4450463a204f5045524154494f4e5f414c52454144595f52455354524943544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152608401610657565b600160028360405161075991906125e8565b90815260405190819003602001902080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216919091179055506001919050565b600060016005546107b09190612633565b905090565b60006107d784848460008060006040518060200160405280600081525061150e565b949350505050565b805173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604080832091840151905161081891906125e8565b908152602001604051809103902054600003610b1057600554825173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604091829020908501519151909161086c916125e8565b9081526020016040518091039020819055506040518061016001604052806005548152602001836000015173ffffffffffffffffffffffffffffffffffffffff168152602001836020015181526020018360400151151581526020018360a00151151581526020018360c001511515815260200183606001518152602001836080015181526020018360e00151815260200183610100015173ffffffffffffffffffffffffffffffffffffffff1681526020018361012001518152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020190816109a39190612695565b506060820151600382018054608085015160a08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16939093176101009315158402177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100009115159190910217905560c0830151600483015560e0830151600583015582015160068201556101208201516007820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556101408201516008820190610abc9082612695565b50905050600560008154610acf906127af565b90915550815173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610b07906127af565b90915550610d31565b815173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604080832091850151905160069284929091610b5091906125e8565b9081526020016040518091039020548152602001908152602001600020905082604001518015610b855750600381015460ff16155b15610bc357825173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610bbe906127af565b909155505b8260400151158015610bd95750600381015460ff165b15610c1757825173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610c12906127e7565b909155505b6040830151600382018054606086015160048501556080860151600585015560a086015160c08701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16939093176101009315158402177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100009115159190910217905560e084015160068301558301516007820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556101208301516008820190610d2e9082612695565b50505b506001919050565b6000600182604051610d4b91906125e8565b9081526040519081900360200190205460ff1615610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a204f5045524154494f4e5f414c52454144595f414c4c4f57454400006044820152606401610657565b6001808360405161075991906125e8565b6000610e1f868686600360008089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150e92505050565b9695505050505050565b6000811515600060019054906101000a900460ff16151503610ea7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a20494e56414c49445f5045524d495353494f4e5f4348414e474500006044820152606401610657565b5060008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055600190565b60006105dd85858560026000876040518060200160405280600081525061150e565b600060018383604051610f1892919061281c565b9081526040519081900360200190205460ff16610f91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4450463a204f5045524154494f4e5f4e4f545f414c4c4f5745440000000000006044820152606401610657565b600060018484604051610fa592919061281c565b90815260405190819003602001902080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009092169190911790555060015b92915050565b606060008311611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4450463a2053544152545f4944585f5a45524f000000000000000000000000006044820152606401610657565b600082116110c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4450463a204348554e4b5f53495a455f5a45524f0000000000000000000000006044820152606401610657565b600554831061115557604080516000808252602082019092529061114d565b604080516101608101825260008082526020820181905260609282018390528282018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526101408101919091528152602001906001900390816110e25790505b509050610fe7565b600060016005546111669190612633565b6001611172858761282c565b61117c9190612633565b111561119557836005546111909190612633565b611197565b825b905060008167ffffffffffffffff8111156111b4576111b4611ef4565b60405190808252806020026020018201604052801561123d57816020015b604080516101608101825260008082526020820181905260609282018390528282018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526101408101919091528152602001906001900390816111d25790505b50905060005b828110156114645760066000611259838961282c565b8152602080820192909252604090810160002081516101608101835281548152600182015473ffffffffffffffffffffffffffffffffffffffff169381019390935260028101805491928401916112af90612595565b80601f01602080910402602001604051908101604052809291908181526020018280546112db90612595565b80156113285780601f106112fd57610100808354040283529160200191611328565b820191906000526020600020905b81548152906001019060200180831161130b57829003601f168201915b5050509183525050600382015460ff8082161515602084015261010080830482161515604085015262010000909204161515606083015260048301546080830152600583015460a0830152600683015460c0830152600783015473ffffffffffffffffffffffffffffffffffffffff1660e08301526008830180549190920191906113b290612595565b80601f01602080910402602001604051908101604052809291908181526020018280546113de90612595565b801561142b5780601f106114005761010080835404028352916020019161142b565b820191906000526020600020905b81548152906001019060200180831161140e57829003601f168201915b5050505050815250508282815181106114465761144661283f565b6020026020010181905250808061145c906127af565b915050611243565b50949350505050565b60006002838360405161148192919061281c565b9081526040519081900360200190205460ff166114fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4450463a204f5045524154494f4e5f4e4f545f524553545249435445440000006044820152606401610657565b600060028484604051610fa592919061281c565b60006002878760405161152292919061281c565b9081526040519081900360200190205460ff161561154257506000611bc9565b60408051808201825260018082527f2a000000000000000000000000000000000000000000000000000000000000006020830152915161158291906125e8565b9081526040519081900360200190205460ff161580156115c45750600187876040516115af92919061281c565b9081526040519081900360200190205460ff16155b156115d157506000611bc9565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600460205260408082209051600692919061160b908b908b9061281c565b908152604080516020928190038301902054835290820192909252016000206003015460ff16156118a25773ffffffffffffffffffffffffffffffffffffffff8816600090815260046020526040808220905161189b926006929091611674908c908c9061281c565b908152602001604051809103902054815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461170d90612595565b80601f016020809104026020016040519081016040528092919081815260200182805461173990612595565b80156117865780601f1061175b57610100808354040283529160200191611786565b820191906000526020600020905b81548152906001019060200180831161176957829003601f168201915b5050509183525050600382015460ff8082161515602084015261010080830482161515604085015262010000909204161515606083015260048301546080830152600583015460a0830152600683015460c0830152600783015473ffffffffffffffffffffffffffffffffffffffff1660e083015260088301805491909201919061181090612595565b80601f016020809104026020016040519081016040528092919081815260200182805461183c90612595565b80156118895780601f1061185e57610100808354040283529160200191611889565b820191906000526020600020905b81548152906001019060200180831161186c57829003601f168201915b50505050508152505086868686611bd4565b9050611bc9565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260046020908152604080832081518083018352600181527f2a000000000000000000000000000000000000000000000000000000000000009381019390935290516006939261190c916125e8565b908152604080516020928190038301902054835290820192909252016000206003015460ff16156119c05761189b60066000600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280600181526020017f2a0000000000000000000000000000000000000000000000000000000000000081525060405161167491906125e8565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260036020526040902054156119fc5750600054610100900460ff16611bc9565b600160009081526004602052604051600691907fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0590611a3e908b908b9061281c565b908152604080516020928190038301902054835290820192909252016000206003015460ff1615611aae5760016000908152600460205260405161189b916006917fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0590611674908c908c9061281c565b60016000818152600460209081526040805180820182529384527f2a0000000000000000000000000000000000000000000000000000000000000091840191909152516006927fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0591611b2091906125e8565b908152604080516020928190038301902054835290820192909252016000206003015460ff1615611bc15760016000818152600460209081526040805180820182529384527f2a00000000000000000000000000000000000000000000000000000000000000918401919091525161189b92600692917fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0591611674916125e8565b5060005460ff165b979650505050505050565b6000856080015115611be8575060006105dd565b8560a0015115611bfa575060016105dd565b60008660c00151118015611c115750428660c00151105b15611c1e575060006105dd565b60008660e00151118015611c355750428660e00151115b15611c42575060006105dd565b6001856003811115611c5657611c5661286e565b148015611c67575061010086015115155b8015611c7857508386610100015114155b15611c85575060006105dd565b6002856003811115611c9957611c9961286e565b148015611cc0575061012086015173ffffffffffffffffffffffffffffffffffffffff1615155b8015611cfd57508273ffffffffffffffffffffffffffffffffffffffff1686610120015173ffffffffffffffffffffffffffffffffffffffff1614155b15611d0a575060006105dd565b6003856003811115611d1e57611d1e61286e565b148015611d645750604080516000815260208101808352815190206101408901519092611d4b92016125e8565b6040516020818303038152906040528051906020012014155b8015611dc1575081604051602001611d7c91906125e8565b60405160208183030381529060405280519060200120866101400151604051602001611da891906125e8565b6040516020818303038152906040528051906020012014155b15611dce575060006105dd565b50600195945050505050565b600060208284031215611dec57600080fd5b5035919050565b60005b83811015611e0e578181015183820152602001611df6565b50506000910152565b60008151808452611e2f816020860160208601611df3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006101608d835273ffffffffffffffffffffffffffffffffffffffff808e166020850152816040850152611e988285018e611e17565b91508b151560608501528a1515608085015289151560a08501528860c08501528760e08501528661010085015280861661012085015250828103610140840152611ee28185611e17565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715611f4757611f47611ef4565b60405290565b600082601f830112611f5e57600080fd5b813567ffffffffffffffff80821115611f7957611f79611ef4565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611fbf57611fbf611ef4565b81604052838152866020858801011115611fd857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561200a57600080fd5b813567ffffffffffffffff81111561202157600080fd5b6107d784828501611f4d565b803573ffffffffffffffffffffffffffffffffffffffff8116811461205157600080fd5b919050565b60008083601f84011261206857600080fd5b50813567ffffffffffffffff81111561208057600080fd5b60208301915083602082850101111561209857600080fd5b9250929050565b600080600080606085870312156120b557600080fd5b6120be8561202d565b9350602085013567ffffffffffffffff8111156120da57600080fd5b6120e687828801612056565b9598909750949560400135949350505050565b8035801515811461205157600080fd5b60006020828403121561211b57600080fd5b612124826120f9565b9392505050565b60008060006040848603121561214057600080fd5b6121498461202d565b9250602084013567ffffffffffffffff81111561216557600080fd5b61217186828701612056565b9497909650939450505050565b60006020828403121561219057600080fd5b813567ffffffffffffffff808211156121a857600080fd5b9083019061014082860312156121bd57600080fd5b6121c5611f23565b6121ce8361202d565b81526020830135828111156121e257600080fd5b6121ee87828601611f4d565b602083015250612200604084016120f9565b6040820152606083013560608201526080830135608082015261222560a084016120f9565b60a082015261223660c084016120f9565b60c082015260e083013560e082015261010061225381850161202d565b90820152610120838101358381111561226b57600080fd5b61227788828701611f4d565b918301919091525095945050505050565b6000806000806000606086880312156122a057600080fd5b6122a98661202d565b9450602086013567ffffffffffffffff808211156122c657600080fd5b6122d289838a01612056565b909650945060408801359150808211156122eb57600080fd5b506122f888828901612056565b969995985093965092949392505050565b60006020828403121561231b57600080fd5b6121248261202d565b6000806000806060858703121561233a57600080fd5b6123438561202d565b9350602085013567ffffffffffffffff81111561235f57600080fd5b61236b87828801612056565b909450925061237e90506040860161202d565b905092959194509250565b6000806040838503121561239c57600080fd5b6123a58361202d565b9150602083013567ffffffffffffffff8111156123c157600080fd5b6123cd85828601611f4d565b9150509250929050565b6020815260006121246020830184611e17565b600080602083850312156123fd57600080fd5b823567ffffffffffffffff81111561241457600080fd5b61242085828601612056565b90969095509350505050565b6000806040838503121561243f57600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612587577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0898403018552815161016081518552888201516124d28a87018273ffffffffffffffffffffffffffffffffffffffff169052565b508782015181898701526124e882870182611e17565b9150506060808301516124fe8288018215159052565b505060808281015115159086015260a08083015115159086015260c0808301519086015260e0808301519086015261010080830151908601526101208083015173ffffffffffffffffffffffffffffffffffffffff169086015261014091820151858203928601929092526125738183611e17565b968901969450505090860190600101612475565b509098975050505050505050565b600181811c908216806125a957607f821691505b6020821081036125e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082516125fa818460208701611df3565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610fe757610fe7612604565b601f82111561269057600081815260208120601f850160051c8101602086101561266d5750805b601f850160051c820191505b8181101561268c57828155600101612679565b5050505b505050565b815167ffffffffffffffff8111156126af576126af611ef4565b6126c3816126bd8454612595565b84612646565b602080601f83116001811461271657600084156126e05750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561268c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561276357888601518255948401946001909101908401612744565b508582101561279f57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127e0576127e0612604565b5060010190565b6000816127f6576127f6612604565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b8183823760009101908152919050565b80820180821115610fe757610fe7612604565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c6343000813000a";
618
+ "0x608080604052346200017e5760019081600555600061010161ffff1982541617815560256430b236b4b760d91b92838152846005820152209260ff199381858254161790556200004e62000183565b903382526200005c620001ba565b6005815260209485820152848301528060408301528260608301528260808301528260a08301528260c08301528260e0830152610100948386840152620000b8620000a6620001da565b93858552610120948582015262000220565b50620000c3620001ba565b90828252601560f91b91828782015260405190865b8581106200016c57505091839182602185828a986200015b9d980152209182541617905562000106620001ba565b90828252878201526200011862000183565b9682885287015260408601528160608601528160808601528160a08601528160c08601528160e08601528401526200014f620001da565b91825282015262000220565b506040516126d7908162000a328239f35b818101890151838201528801620000d8565b600080fd5b6040519061014082016001600160401b03811183821017620001a457604052565b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001a457604052565b60405190602082016001600160401b03811183821017620001a457604052565b60001981146200020a5760010190565b634e487b7160e01b600052601160045260246000fd5b9060018060a01b0382511660005260046020526040600020906020830191825190604051828193519060005b82811062000a1b575050810191825290036020019020546200072d576005549260018060a01b03815116600052600460205260406000209383519460405190865160005b81811062000719575083949596975060209183918201908152030190205560018060a01b0382511693516040830151151560a0840151151560c08501511515606086015160808701519160e08801519360018060a01b036101008a015116956101208a0151976040519c8d806101608101109061016060018060401b0391011117620001a45760208e61016081016040528c8152015260408d015260608c015260808b015260a08a015260c089015260e088015261010087015261012086015261014085015260005260066020526040600020835181556001810160018060a01b0360208601511660018060a01b0319825416179055604084015180519060018060401b038211620001a45760028301548060011c9060018116156200070e575b60011660208210146200061a57601f8111620006c2575b50602090601f83116001146200064757918061014094926008946000926200063b575b50508160011b916000199060031b1c19161760028201555b6200045e600382016200042860608901511515829060ff801983541691151516179055565b6080880151815461ff00191690151560081b61ff001617815560a0880151815462ff0000191690151560101b62ff000016179055565b60c0860151600482015560e0860151600582015561010086015160068201556101208601516007820180546001600160a01b0319166001600160a01b0392909216919091179055919094015180519094909101906001600160401b038111620001a4578154600181811c9116801562000630575b60208210146200061a57601f8111620005cd575b50602094601f8211600114620005625794819293949560009262000556575b50508160011b916000199060031b1c19161790555b62000527600554620001fa565b600555516001600160a01b0316600090815260036020526040902080546200054f90620001fa565b9055600190565b01519050388062000505565b601f198216958360005260206000209160005b888110620005b4575083600195969798106200059a575b505050811b0190556200051a565b015160001960f88460031b161c191690553880806200058c565b9192602060018192868501518155019401920162000575565b826000526020600020601f830160051c810191602084106200060f575b601f0160051c01905b818110620006025750620004e6565b60008155600101620005f3565b9091508190620005ea565b634e487b7160e01b600052602260045260246000fd5b90607f1690620004d2565b015190503880620003eb565b906002840160005260206000209160005b601f1985168110620006a9575092610140949260019260089583601f198116106200068f575b505050811b01600282015562000403565b015160001960f88460031b161c191690553880806200067e565b9192602060018192868501518155019401920162000658565b600284016000526020600020601f840160051c81016020851062000706575b601f830160051c82018110620006f9575050620003c8565b60008155600101620006e1565b5080620006e1565b90607f1690620003b1565b80602080928b010151818601520162000290565b919060018060a01b0382511660005260046020526040600020905190604051828193519060005b82811062000a055750509160209282019081520301902054600052600660205260406000209060408101908151151580620009f5575b620009c7575b81511580620009b8575b6200098a575b6101209062000813600893511515620007c96003870191829060ff801983541691151516179055565b606083015160048701556080830151600587015560a0830151815461ff00191690151560081b61ff001617815560c0830151815462ff0000191690151560101b62ff000016179055565b60e081015160068501556101008101516007850180546001600160a01b0319166001600160a01b0392909216919091179055015180519190920191906001600160401b038111620001a4578254916001928381811c911680156200097f575b60208210146200061a57601f81116200092f575b50602090601f8311600114620008c757928293918392600094620008bb575b50501b916000199060031b1c1916179055600190565b015192503880620008a5565b90601f19831691856000528360206000209360005b878282106200091557505010620008fb575b505050811b019055600190565b015160001960f88460031b161c19169055388080620008ee565b8486015187559095019460209485019487935001620008dc565b846000526020600020601f840160051c8101916020851062000974575b601f0160051c019084905b8281106200096757505062000886565b6000815501849062000957565b90915081906200094c565b90607f169062000872565b60018060a01b038151166000526003602052604060002090815480156200020a5760001901909155620007a0565b5060ff6003840154166200079a565b80516001600160a01b031660009081526003602052604090208054620009ed90620001fa565b905562000790565b5060ff600384015416156200078a565b6020828201810151878301528694500162000754565b602082820181015187830152869450016200024c56fe6080604052600436101561001257600080fd5b60003560e01c806326c500071461141357806334906a4a146113c4578063372db0891461136c578063476a95ad1461132657806365c581521461121157806366195701146111e6578063699d7c331461119257806382dab96e146107f65780639359c28714610707578063a5fcf162146106e4578063a74d343914610679578063a7804d6514610632578063ade0bee4146105c6578063c6064b2814610544578063c8d757fd146104d3578063efdcec9c1461049f578063f28b9f3414610479578063f558936414610417578063f9529ee214610340578063fa1b3cac14610324578063fac66f01146101ea5763fb83bb731461010e57600080fd5b346101e55760206003193601126101e55760043567ffffffffffffffff81116101e55761013f90369060040161178a565b9060ff604051838382376020818581016002815203019020541615610187576020908260405193849283378101600281520301902060ff198154169055602060405160018152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4450463a204f5045524154494f4e5f4e4f545f524553545249435445440000006044820152fd5b600080fd5b346101e55760406003193601126101e557610209602435600435611895565b60405160209182820192808352815180945260408301938160408260051b8601019301916000955b82871061023e5785850386f35b909192938280610314837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08a6001960301865288518051825273ffffffffffffffffffffffffffffffffffffffff91828583015116858201526102b06040830151610160806040850152830190611670565b9260608084015115159083015260808084015115159083015260a08084015115159083015260c0808401519083015260e083015160e08301526101008084015190830152610120908184015116908201526101408092015191818403910152611670565b9601920196019592919092610231565b346101e55760006003193601126101e557602060405160018152f35b346101e55760206003193601126101e55760043567ffffffffffffffff81116101e55761037190369060040161178a565b9060ff6040518383823760208185810160018152030190205416156103b9576020908260405193849283378101600181520301902060ff198154169055602060405160018152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4450463a204f5045524154494f4e5f4e4f545f414c4c4f5745440000000000006044820152fd5b346101e55760206003193601126101e55760043567ffffffffffffffff81116101e55760ff6104636020610450819436906004016116dc565b816040519382858094519384920161164d565b8101600281520301902054166040519015158152f35b346101e55760006003193601126101e557602060ff60005460081c166040519015158152f35b346101e55760006003193601126101e5576104cf6104bb6117d4565b604051918291602083526020830190611670565b0390f35b346101e55760406003193601126101e5576104ec611746565b60243567ffffffffffffffff81116101e55760209173ffffffffffffffffffffffffffffffffffffffff61052761053b9336906004016116dc565b911660005260048352604060002090611720565b54604051908152f35b346101e55760606003193601126101e55761055d611746565b60243567ffffffffffffffff81116101e55761057d90369060040161178a565b6044929192359073ffffffffffffffffffffffffffffffffffffffff821682036101e5576020936105bc9360006040516105b681611567565b52612272565b6040519015158152f35b346101e55760206003193601126101e5576105df6117b8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff0060005492151561061d8160ff8660081c1615151415611b78565b60081b16911617600055602060405160018152f35b346101e55760206003193601126101e55773ffffffffffffffffffffffffffffffffffffffff610660611746565b1660005260036020526020604060002054604051908152f35b346101e55760606003193601126101e557610692611746565b67ffffffffffffffff6024358181116101e5576106b390369060040161178a565b6044939193359283116101e5576020936106de6106d76105bc95369060040161178a565b3691611695565b92612098565b346101e55760006003193601126101e557602060ff600054166040519015158152f35b346101e5576020806003193601126101e55760043567ffffffffffffffff81116101e5576107399036906004016116dc565b6040519060ff81519284818185019561075381838961164d565b8101600181520301902054166107985761077a91839160405193849283925192839161164d565b81016001815203019020600160ff1982541617905560405160018152f35b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601e60248201527f4450463a204f5045524154494f4e5f414c52454144595f414c4c4f57454400006044820152fd5b346101e5576003196020813601126101e55767ffffffffffffffff600435116101e55761014090600435360301126101e557604051610140810181811067ffffffffffffffff821117610d6557604052610854600435600401611769565b81526024600435013567ffffffffffffffff81116101e55761087d9060043691813501016116dc565b60208201526108906044600435016117c7565b604082015260043560648101356060830152608481013560808301526108b89060a4016117c7565b60a08201526108cb60c4600435016117c7565b60c082015260e4600435013560e08201526108eb61010460043501611769565b61010082015267ffffffffffffffff6101246004350135116101e55761091c366004803561012481013501016116dc565b61012082015273ffffffffffffffffffffffffffffffffffffffff815116600052600460205261095460406000206020830151611720565b54610e5c576005549073ffffffffffffffffffffffffffffffffffffffff81511660005260046020528161099060406000206020840151611720565b5573ffffffffffffffffffffffffffffffffffffffff8151169160208201516040830151151560a0840151151560c08501511515606086015160808701519160e08801519373ffffffffffffffffffffffffffffffffffffffff6101008a015116956101208a0151976040519b610a068d61154a565b8a8d5260208d015260408c015260608b015260808a015260a089015260c088015260e087015261010086015261012085015261014084015260005260066020526040600020825181556001810173ffffffffffffffffffffffffffffffffffffffff6020850151167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055604083015180519067ffffffffffffffff8211610d6557610ab960028401546114f7565b601f8111610e15575b50602090601f8311600114610d9f5791806101409492600894600092610d94575b50506000198260011b9260031b1c19161760028201555b610b8d60038201610b1e60608801511515829060ff60ff1983541691151516179055565b608087015181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690151560081b61ff001617815560a087015181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1690151560101b62ff000016179055565b60c0850151600482015560e0850151600582015561010085015160068201556007810173ffffffffffffffffffffffffffffffffffffffff610120870151167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055019201519182519267ffffffffffffffff8411610d6557610c1482546114f7565b601f8111610d1d575b50602090601f8511600114610ca05773ffffffffffffffffffffffffffffffffffffffff949160009183610c95575b50506000198260011b9260031b1c19161790555b610c6b600554611843565b600555511660005260036020526040600020610c878154611843565b90555b602060405160018152f35b015190508580610c4c565b90601f198516918360005260206000209260005b818110610d05575091600193918773ffffffffffffffffffffffffffffffffffffffff989410610cec575b505050811b019055610c60565b015160001960f88460031b161c19169055858080610cdf565b92936020600181928786015181550195019301610cb4565b826000526020600020601f860160051c81019160208710610d5b575b601f0160051c01905b818110610d4f5750610c1d565b60008155600101610d42565b9091508190610d39565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b015190508780610ae3565b906002840160005260206000209160005b601f1985168110610dfd575092610140949260019260089583601f19811610610de4575b505050811b016002820155610afa565b015160001960f88460031b161c19169055878080610dd4565b91926020600181928685015181550194019201610db0565b600284016000526020600020601f840160051c810160208510610e55575b601f830160051c82018110610e49575050610ac2565b60008155600101610e33565b5080610e33565b73ffffffffffffffffffffffffffffffffffffffff8151166000526004602052610e8e60406000206020830151611720565b5460005260066020526040600020906040810151151580611183575b61114d575b6040810151158061113f575b6110d2575b61012081610f6e604060089401511515610eeb6003870191829060ff60ff1983541691151516179055565b606083015160048701556080830151600587015560a083015181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690151560081b61ff001617815560c083015181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1690151560101b62ff000016179055565b60e0810151600685015573ffffffffffffffffffffffffffffffffffffffff6101008201511660078501907fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905501519101815167ffffffffffffffff8111610d6557610fdf82546114f7565b601f811161108a575b50602092601f8211600114611026579281929360009261101b575b50506000198260011b9260031b1c1916179055610c8a565b015190508380611003565b601f198216938360005260206000209160005b8681106110725750836001959610611059575b505050811b019055610c8a565b015160001960f88460031b161c1916905583808061104c565b91926020600181928685015181550194019201611039565b826000526020600020601f830160051c810191602084106110c8575b601f0160051c01905b8181106110bc5750610fe8565b600081556001016110af565b90915081906110a6565b73ffffffffffffffffffffffffffffffffffffffff815116600052600360205260406000209081549081156111105760001991909101909155610ec0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060ff600383015416610ebb565b73ffffffffffffffffffffffffffffffffffffffff8151166000526003602052604060002061117c8154611843565b9055610eaf565b5060ff60038301541615610eaa565b346101e55760406003193601126101e5576111ab611746565b60243567ffffffffffffffff81116101e5576020916111d16105bc92369060040161178a565b9160006040516111e081611567565b52611eaa565b346101e55760006003193601126101e557600554600019810190811161111057602090604051908152f35b346101e5576020806003193601126101e55760043567ffffffffffffffff81116101e5576112439036906004016116dc565b6040519060ff81519284818185019561125d81838961164d565b8101600281520301902054166112a25761128491839160405193849283925192839161164d565b81016002815203019020600160ff1982541617905560405160018152f35b608483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602160248201527f4450463a204f5045524154494f4e5f414c52454144595f52455354524943544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152fd5b346101e55760206003193601126101e55761133f6117b8565b60ff1960ff60005492151561135a8183861615151415611b78565b16911617600055602060405160018152f35b346101e55760606003193601126101e557611385611746565b60243567ffffffffffffffff81116101e5576020916113ab6105bc92369060040161178a565b9060006040516113ba81611567565b5260443592611bf6565b346101e55760206003193601126101e55760043567ffffffffffffffff81116101e55760ff6113fd6020610450819436906004016116dc565b8101600181520301902054166040519015158152f35b346101e55760206003193601126101e5576004356000526006602052604060002080546104cf73ffffffffffffffffffffffffffffffffffffffff8060018501541693611462600282016115a6565b90600381015492600482015460058301549060ff6114b0611491600860068801549660078901541697016115a6565b966040519b8c9b8c5260208c01526101608060408d01528b0190611670565b96818116151560608b0152818160081c16151560808b015260101c16151560a089015260c088015260e0870152610100860152610120850152838203610140850152611670565b90600182811c92168015611540575b602083101461151157565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611506565b610160810190811067ffffffffffffffff821117610d6557604052565b6020810190811067ffffffffffffffff821117610d6557604052565b90601f601f19910116810190811067ffffffffffffffff821117610d6557604052565b90604051918260008254926115ba846114f7565b90818452600194858116908160001461162957506001146115e6575b50506115e492500383611583565b565b9093915060005260209081600020936000915b8183106116115750506115e4935082010138806115d6565b855488840185015294850194879450918301916115f9565b90506115e495506020935060ff1991501682840152151560051b82010138806115d6565b60005b8381106116605750506000910152565b8181015183820152602001611650565b90601f19601f60209361168e8151809281875287808801910161164d565b0116010190565b92919267ffffffffffffffff8211610d6557604051916116bf6020601f19601f8401160184611583565b8294818452818301116101e5578281602093846000960137010152565b9080601f830112156101e5578160206116f793359101611695565b90565b602061171391816040519382858094519384920161164d565b8101600181520301902090565b60209061173a92826040519483868095519384920161164d565b82019081520301902090565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101e557565b359073ffffffffffffffffffffffffffffffffffffffff821682036101e557565b9181601f840112156101e55782359167ffffffffffffffff83116101e557602083818601950101116101e557565b6004359081151582036101e557565b359081151582036101e557565b604051906040820182811067ffffffffffffffff821117610d6557604052600182527f2a000000000000000000000000000000000000000000000000000000000000006020830152565b67ffffffffffffffff8111610d655760051b60200190565b9190820180921161111057565b60001981146111105760010190565b80518210156118665760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8015611b1a578115611abc57600591825480831015611aa5576118b88284611836565b6000198082019182116111105782018281116111105760009111611a65575050905b6118e38261181e565b926040916118f383519586611583565b838552601f196119028561181e565b0160005b818110611a0257505060005b84811061192157505050505090565b8061192f6119fd9284611836565b60005260066119dc6020918083528760002088519361194d8561154a565b8154855273ffffffffffffffffffffffffffffffffffffffff90816001840154169086015261197e600283016115a6565b8a86015260038201549260ff808516151560608801526008948181871c161515608089015260101c16151560a0870152600483015460c08701528983015460e0870152820154610100860152600782015416610120850152016115a6565b6101408201526119ec8289611852565b526119f78188611852565b50611843565b611912565b6020908551611a108161154a565b60008152826000818301526060808984015260008184015260006080840152600060a0840152600060c0840152600060e084015260006101008401526000610120840152610140830152828a01015201611906565b8382039250908211611a785750906118da565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b50505050604051611ab581611567565b6000815290565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4450463a204348554e4b5f53495a455f5a45524f0000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4450463a2053544152545f4944585f5a45524f000000000000000000000000006044820152fd5b15611b7f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a20494e56414c49445f5045524d495353494f4e5f4348414e474500006044820152fd5b6020919283604051948593843782019081520301902090565b91909260409182518094828783378282016002815260ff9687916020948591030190205416611e815785611c30611c2b6117d4565b6116fa565b54161580611e8d575b611e815773ffffffffffffffffffffffffffffffffffffffff80911696600095888752600490818552611c6f8189208785611bdd565b54885260069283865260039a8a8c848c20015416611e5b57808a52838752611ca0838b20611c9b6117d4565b611720565b548a528487528a8c848c20015416611e055789528a865281892054611df257600196878a52838752611cd5838b208284611bdd565b548a528487528a8c848c20015416611dce575050858852818552611cfd818920611c9b6117d4565b548852828552888a828a20015416611d1e5750505050505050909150541690565b976116f79989611dc3989a8a8960089a9c52858952611d41828220611c9b6117d4565b54815286895220968682519b611d568d61154a565b89548d5289015416908b0152611d6e600288016115a6565b908a0152850154818116151560608a01528181881c16151560808a015260101c16151560a088015283015460c0870152600583015460e0870152820154610100860152600782015416610120850152016115a6565b61014082015261244c565b91808a611d416116f79e94611dc39c9e968c9e9c60089d52888c5284842091611bdd565b50505050505050509091505460081c1690565b600897506116f79b91509189611dc3999b9382989b52848b52611e2c828220611c9b6117d4565b548152858b522095805199611e408b61154a565b87548b5286600189015416908b0152611d6e600288016115a6565b9189611e2c6116f79d9360089a87611dc39d9f979b9e8f909c879d525284842091611bdd565b50505050505050600090565b508585518489823783818681016001815203019020541615611c39565b909160409081518093828683378282016002815260ff95869160209485910301902054166120705784611ede611c2b6117d4565b5416158061207b575b6120705773ffffffffffffffffffffffffffffffffffffffff80911695600094878652600490818552611f1d8188208785611bdd565b548752600692838652600399898b848b2001541661204d57808952838752611f49838a20611c9b6117d4565b548952848752898b848b200154166120275788528986528188205461201557600196878952838752611f7e838a208284611bdd565b548952848752898b848b20015416611ff3575050858752818552611fa6818820611c9b6117d4565b5487528285528789828920015416611fc657505050505050909150541690565b966116f79888879989600899611fe89b52858952611d41828220611c9b6117d4565b6101408201526124d4565b918089611d416116f79d948b9d9660089c611fe89e52888c5284842091611bdd565b505050505050509091505460081c1690565b600897506116f79a9150918881979a93611fe89a52848b52611e2c828220611c9b6117d4565b9188611e2c6116f79c9360089a878b9e979b869c611fe89f525284842091611bdd565b505050505050600090565b508484518488823783818681016001815203019020541615611ee7565b91909260409182518094828783378282016002815260ff9687916020948591030190205416611e8157856120cd611c2b6117d4565b54161580612255575b611e815773ffffffffffffffffffffffffffffffffffffffff8091169660009588875260049081855261210c8189208785611bdd565b54885260069283865260039a8a8c848c2001541661222f57808a52838752612138838b20611c9b6117d4565b548a528487528a8c848c200154166122085789528a865281892054611df257600196878a5283875261216d838b208284611bdd565b548a528487528a8c848c200154166121e4575050858852818552612195818920611c9b6117d4565b548852828552888a828a200154166121b65750505050505050909150541690565b976116f799896121d9989a8a8960089a9c52858952611d41828220611c9b6117d4565b610140820152612537565b91808a611d416116f79e946121d99c9e968c9e9c60089d52888c5284842091611bdd565b600897506116f79b915091896121d9999b9382989b52848b52611e2c828220611c9b6117d4565b9189611e2c6116f79d9360089a876121d99d9f979b9e8f909c879d525284842091611bdd565b5085855184898237838186810160018152030190205416156120d6565b91909260409182518094828783378282016002815260ff9687916020948591030190205416611e8157856122a7611c2b6117d4565b5416158061242f575b611e815773ffffffffffffffffffffffffffffffffffffffff809116966000958887526004908185526122e68189208785611bdd565b54885260069283865260039a8a8c848c2001541661240957808a52838752612312838b20611c9b6117d4565b548a528487528a8c848c200154166123e25789528a865281892054611df257600196878a52838752612347838b208284611bdd565b548a528487528a8c848c200154166123be57505085885281855261236f818920611c9b6117d4565b548852828552888a828a200154166123905750505050505050909150541690565b976116f799896123b3989a8a8960089a9c52858952611d41828220611c9b6117d4565b610140820152612636565b91808a611d416116f79e946123b39c9e968c9e9c60089d52888c5284842091611bdd565b600897506116f79b915091896123b3999b9382989b52848b52611e2c828220611c9b6117d4565b9189611e2c6116f79d9360089a876123b39d9f979b9e8f909c879d525284842091611bdd565b5085855184898237838186810160018152030190205416156122b0565b60808101516124b25760a08101516124cd5760c081015180151590816124c3575b506124b25760e081015180151590816124b9575b506124b25761010001519081151591826124a7575b5050156124a257600090565b600190565b141590503880612496565b5050600090565b9050421038612481565b905042113861246d565b5050600190565b60808101516125215760a08101516125315760c08101518015159081612527575b506125215760e001518015159081612517575b5061251257600190565b600090565b9050421038612508565b50600090565b90504211386124f5565b50600190565b60808101516124b25760a08101516124cd5760c0810151801515908161262c575b506124b25760e08101518015159081612622575b506124b2576101400190815190604051916020926125a6848281612599818301968781519384920161164d565b8101038084520182611583565b519020604051600081526125b981611567565b838151910120141592836125d4575b50505061251257600190565b90919250516040516125f5848281612599818301968781519384920161164d565b51902091612615604051918281612599818301968781519384920161164d565b51902014153880806125c8565b905042103861256c565b9050421138612558565b60808101516124b25760a08101516124cd5760c081015180151590816126c0575b506124b25760e081015180151590816126b6575b506124b2576101209073ffffffffffffffffffffffffffffffffffffffff9182910151169081151592836126a9575b5050506000146124a257600090565b161415905038808061269a565b905042103861266b565b905042113861265756fea164736f6c6343000814000a";
619
619
 
620
620
  type DataPrivacyFrameworkMockConstructorParams =
621
621
  | [signer?: Signer]
@@ -2,6 +2,8 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
  export * as access from "./access";
5
+ export * as messaging from "./messaging";
6
+ export * as oracle from "./oracle";
5
7
  export * as token from "./token";
6
8
  export * as utils from "./utils";
7
9
  export * as wallet from "./wallet";