@coti-io/coti-contracts 1.3.0 → 1.3.1

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 (360) hide show
  1. package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +1 -1
  2. package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1 -1
  3. package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +2 -4
  4. package/contracts/disperse/disperseToken/MintDisperser.sol +1 -3
  5. package/contracts/disperse/disperseToken/TokenDisperser.sol +1 -1
  6. package/contracts/messaging/PrivateMessaging.sol +1 -1
  7. package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +1 -1
  8. package/contracts/mocks/messaging/PrivateMessagingHarness.sol +1 -1
  9. package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +1 -1
  10. package/contracts/mocks/token/ERC20DecimalsMock.sol +1 -1
  11. package/contracts/mocks/token/ERC20Mock.sol +1 -1
  12. package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +1 -1
  13. package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +1 -1
  14. package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +1 -1
  15. package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +1 -1
  16. package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +1 -1
  17. package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +1 -1
  18. package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +1 -1
  19. package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +1 -1
  20. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +1 -1
  21. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +1 -1
  22. package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +1 -1
  23. package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +1 -1
  24. package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +1 -1
  25. package/contracts/mocks/utils/mpc/ArithmeticAddTestsContract.sol +196 -0
  26. package/contracts/mocks/utils/mpc/ArithmeticMulTestsContract.sol +194 -0
  27. package/contracts/mocks/utils/mpc/ArithmeticSigned128TestsContract.sol +63 -0
  28. package/contracts/mocks/utils/mpc/ArithmeticSigned256TestsContract.sol +107 -0
  29. package/contracts/mocks/utils/mpc/ArithmeticSignedNarrowTestsContract.sol +123 -0
  30. package/contracts/mocks/utils/mpc/ArithmeticSubTestsContract.sol +196 -0
  31. package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +1 -1
  32. package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +1 -1
  33. package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +1 -1
  34. package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +1 -1
  35. package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +1 -1
  36. package/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol +1 -1
  37. package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +1 -1
  38. package/contracts/mocks/utils/mpc/Comparison1TestsContract.sol +1 -1
  39. package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +1 -1
  40. package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +1 -1
  41. package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +1 -1
  42. package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +1 -1
  43. package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +1 -1
  44. package/contracts/mocks/utils/mpc/MinimalImplementation.sol +1 -1
  45. package/contracts/mocks/utils/mpc/MinimalProxy.sol +1 -1
  46. package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +1 -1
  47. package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +1 -1
  48. package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +1 -1
  49. package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +4 -4
  50. package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +1 -1
  51. package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +1 -1
  52. package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +1 -1
  53. package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +1 -1
  54. package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +1 -1
  55. package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +1 -1
  56. package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +1 -1
  57. package/contracts/mocks/utils/mpc/PrivacyProxy.sol +1 -1
  58. package/contracts/mocks/utils/mpc/Random128TestsContract.sol +1 -1
  59. package/contracts/mocks/utils/mpc/Random256TestsContract.sol +1 -1
  60. package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +1 -1
  61. package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +1 -1
  62. package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +1 -1
  63. package/contracts/mocks/utils/mpc/StringTestsContract.sol +1 -1
  64. package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +1 -1
  65. package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +1 -1
  66. package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +1 -1
  67. package/contracts/mocks/utils/mpc/TransferTestsContract.sol +1 -1
  68. package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +1 -1
  69. package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +1 -1
  70. package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +1 -1
  71. package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +1 -1
  72. package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +1 -1
  73. package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +1 -1
  74. package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +1 -1
  75. package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +1 -1
  76. package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +1 -1
  77. package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +2 -2
  78. package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +1 -1
  79. package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +1 -1
  80. package/contracts/node/CotiNodeRewards.sol +3 -3
  81. package/contracts/node/SoulboundNodeNFT.sol +1 -2
  82. package/contracts/onboard/AccountOnboard.sol +1 -1
  83. package/contracts/oracle/ICotiPriceConsumer.sol +1 -1
  84. package/contracts/pod/IInbox.sol +231 -0
  85. package/contracts/pod/IInboxMiner.sol +53 -0
  86. package/contracts/pod/InboxUser.sol +29 -0
  87. package/contracts/pod/InboxUserCotiTestnet.sol +13 -0
  88. package/contracts/pod/PodNetworkConstants.sol +30 -0
  89. package/contracts/pod/examples/MpcAdder.sol +57 -0
  90. package/contracts/pod/examples/MpcAdderPausable.sol +25 -0
  91. package/contracts/pod/examples/MpcAdderPausable.sol.bak +25 -0
  92. package/contracts/pod/examples/it128/PodAdder128.sol +48 -0
  93. package/contracts/pod/examples/it256/PodAdder256.sol +48 -0
  94. package/contracts/pod/fee/IInboxFeeManager.sol +40 -0
  95. package/contracts/pod/manifest.json +52 -0
  96. package/contracts/pod/mpc/PodLib.sol +10 -0
  97. package/contracts/pod/mpc/PodLib128.sol +361 -0
  98. package/contracts/pod/mpc/PodLib256.sol +361 -0
  99. package/contracts/pod/mpc/PodLib64.sol +385 -0
  100. package/contracts/pod/mpc/PodLibBase.sol +72 -0
  101. package/contracts/pod/mpc/PodUser.sol +58 -0
  102. package/contracts/pod/mpc/PodUserFuji.sol +14 -0
  103. package/contracts/pod/mpc/PodUserSepolia.sol +13 -0
  104. package/contracts/pod/mpc/coti-side/IPodExecutorOps.sol +99 -0
  105. package/contracts/pod/mpccodec/MpcAbiCodec.sol +482 -0
  106. package/contracts/pod/privacy/IPodPriceOracle.sol +20 -0
  107. package/contracts/pod/privacy/IPrivacyPortal.sol +248 -0
  108. package/contracts/pod/privacy/IPrivacyPortalFactory.sol +88 -0
  109. package/contracts/pod/privacy/PortalFeeOracle.sol +51 -0
  110. package/contracts/pod/privacy/PrivacyPortal.sol +871 -0
  111. package/contracts/pod/privacy/PrivacyPortalFactory.sol +492 -0
  112. package/contracts/pod/privacy/PrivacyPortalFeeLib.sol +98 -0
  113. package/contracts/pod/privacy/mocks/CloneHelper.sol +14 -0
  114. package/contracts/pod/privacy/mocks/MockERC20.sol +26 -0
  115. package/contracts/pod/privacy/mocks/MockPodERC20ForPortal.sol +160 -0
  116. package/contracts/pod/privacy/mocks/MockPrivacyPortalFactory.sol +125 -0
  117. package/contracts/pod/privacy/mocks/MockWrappedNative.sol +24 -0
  118. package/contracts/pod/token/erc7984/Erc7984Constants.sol +9 -0
  119. package/contracts/pod/token/erc7984/Erc7984Pointers.sol +29 -0
  120. package/contracts/pod/token/erc7984/IERC7984.sol +69 -0
  121. package/contracts/pod/token/erc7984/IERC7984PortalWrapper.sol +31 -0
  122. package/contracts/pod/token/erc7984/PodErc7984Mixin.sol +125 -0
  123. package/contracts/pod/token/erc7984/README.md +60 -0
  124. package/contracts/pod/token/perc20/IPodERC20.sol +298 -0
  125. package/contracts/pod/token/perc20/PodERC20.sol +1021 -0
  126. package/contracts/pod/token/perc20/PodErc20Mintable.sol +88 -0
  127. package/contracts/pod/token/perc20/PodErc20MintableInitializable.sol +42 -0
  128. package/contracts/pod/token/perc20/cotiside/IPodErc20CotiSide.sol +88 -0
  129. package/contracts/pod/token/perc20/cotiside/PodErc20CotiMother.sol +529 -0
  130. package/contracts/pod/utils/IWrappedNative.sol +11 -0
  131. package/contracts/privacyBridge/PrivacyBridge.sol +5 -5
  132. package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +1 -1
  133. package/contracts/privacyBridge/PrivacyBridgeERC20.sol +1 -1
  134. package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +1 -1
  135. package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +1 -1
  136. package/contracts/privacyBridge/PrivacyBridgeWADA.sol +1 -1
  137. package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +1 -1
  138. package/contracts/privacyBridge/PrivacyBridgeWETH.sol +1 -1
  139. package/contracts/privacyBridge/PrivacyBridgegCoti.sol +1 -1
  140. package/contracts/token/PrivateERC20/IPrivateERC20.sol +1 -1
  141. package/contracts/token/PrivateERC20/ITokenReceiver.sol +1 -1
  142. package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +1 -1
  143. package/contracts/token/PrivateERC20/PrivateERC20.sol +5 -5
  144. package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +1 -1
  145. package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +1 -1
  146. package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +1 -1
  147. package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +1 -1
  148. package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +1 -1
  149. package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +1 -1
  150. package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +1 -1
  151. package/contracts/token/PrivateERC721/IERC721Errors.sol +1 -1
  152. package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
  153. package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +1 -1
  154. package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +1 -1
  155. package/contracts/token/points/CotiTokenPoints004.sol +43 -0
  156. package/contracts/utils/mpc/MpcCore.sol +610 -1
  157. package/contracts/utils/mpc/MpcInterface.sol +1 -1
  158. package/hardhat.config.ts +5 -14
  159. package/package.json +4 -4
  160. package/scripts/deployCotiTokenPoints004.ts +61 -0
  161. package/scripts/deployFixedRatioCoinDisperserUnlimitedWindow.ts +68 -0
  162. package/scripts/verifyCotiTokenPoints004.ts +123 -0
  163. package/scripts/verifyFixedRatioCoinDisperserUnlimitedWindow.ts +112 -0
  164. package/test/messaging/PrivateMessaging.test.ts +5 -5
  165. package/test/pod/privacy/PrivacyPortal.access.test.ts +756 -0
  166. package/test/pod/privacy/PrivacyPortal.recovery.test.ts +263 -0
  167. package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +5 -3
  168. package/test/utils/mpc/CheckedSignedArithmetic256.test.ts +163 -0
  169. package/test/utils/mpc/NegativeCases.test.ts +3 -3
  170. package/test/utils/mpc/Precompile.test.ts +6 -6
  171. package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +2 -2
  172. package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +2 -2
  173. package/typechain-types/@openzeppelin/contracts/access/extensions/AccessControlEnumerable.ts +375 -0
  174. package/typechain-types/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable.ts +329 -0
  175. package/typechain-types/@openzeppelin/contracts/access/extensions/index.ts +5 -0
  176. package/typechain-types/@openzeppelin/contracts/access/index.ts +2 -0
  177. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.ts +412 -0
  178. package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
  179. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
  180. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
  181. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
  182. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  183. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +4 -0
  184. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +6 -50
  185. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +6 -6
  186. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +313 -0
  187. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.ts +356 -0
  188. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.ts +423 -0
  189. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +6 -6
  190. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
  191. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +2 -0
  192. package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.ts +69 -0
  193. package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
  194. package/typechain-types/@openzeppelin/contracts/utils/Nonces.ts +85 -0
  195. package/typechain-types/@openzeppelin/contracts/utils/Pausable.ts +150 -0
  196. package/typechain-types/@openzeppelin/contracts/utils/ReentrancyGuard.ts +69 -0
  197. package/typechain-types/@openzeppelin/contracts/utils/ShortStrings.ts +69 -0
  198. package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
  199. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
  200. package/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.ts +151 -0
  201. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  202. package/typechain-types/@openzeppelin/contracts/utils/index.ts +9 -0
  203. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  204. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  205. package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +6 -50
  206. package/typechain-types/contracts/mocks/token/ERC20Mock.ts +6 -50
  207. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +16 -2
  208. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +2 -2
  209. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +2 -2
  210. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +2 -2
  211. package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +16 -2
  212. package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +16 -2
  213. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +16 -2
  214. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +16 -2
  215. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +16 -2
  216. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +16 -2
  217. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +16 -2
  218. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +16 -2
  219. package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +16 -2
  220. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +2 -2
  221. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +2 -2
  222. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +2 -2
  223. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +2 -2
  224. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +2 -2
  225. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +2 -2
  226. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +2 -2
  227. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +2 -2
  228. package/typechain-types/contracts/token/index.ts +2 -0
  229. package/typechain-types/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004.ts +826 -0
  230. package/typechain-types/contracts/token/points/CotiTokenPoints004.ts +826 -0
  231. package/typechain-types/contracts/token/points/index.ts +4 -0
  232. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +22 -1
  233. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +22 -1
  234. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +22 -0
  235. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/AccessControlEnumerable__factory.ts +316 -0
  236. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory.ts +265 -0
  237. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/index.ts +5 -0
  238. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +1 -0
  239. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.ts +393 -0
  240. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
  241. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
  242. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
  243. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
  244. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  245. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +3 -0
  246. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +84 -110
  247. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +3 -3
  248. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +364 -0
  249. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory.ts +382 -0
  250. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory.ts +540 -0
  251. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +3 -3
  252. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
  253. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +1 -0
  254. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.ts +96 -0
  255. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
  256. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +98 -59
  257. package/typechain-types/factories/@openzeppelin/contracts/utils/Nonces__factory.ts +57 -0
  258. package/typechain-types/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +71 -0
  259. package/typechain-types/factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory.ts +30 -0
  260. package/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.ts +83 -0
  261. package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
  262. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
  263. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.ts +87 -0
  264. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  265. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
  266. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  267. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  268. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +12 -1
  269. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +39 -1
  270. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +12 -1
  271. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +23 -1
  272. package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +12 -1
  273. package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1 -1
  274. package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1 -1
  275. package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +90 -52
  276. package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +90 -52
  277. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +90 -2
  278. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +28 -2
  279. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +28 -2
  280. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +1 -1
  281. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +28 -2
  282. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  283. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
  284. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
  285. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  286. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
  287. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
  288. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  289. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
  290. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
  291. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
  292. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +1 -1
  293. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  294. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
  295. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  296. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
  297. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
  298. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  299. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
  300. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  301. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  302. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +1 -1
  303. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
  304. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
  305. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
  306. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  307. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
  308. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
  309. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
  310. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
  311. package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
  312. package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
  313. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
  314. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
  315. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  316. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  317. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +1 -1
  318. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
  319. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  320. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  321. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +1 -1
  322. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
  323. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  324. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  325. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  326. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  327. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  328. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  329. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +1 -1
  330. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
  331. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
  332. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
  333. package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +28 -1
  334. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +126 -1
  335. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  336. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +79 -2
  337. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +89 -1
  338. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +90 -2
  339. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +90 -2
  340. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +90 -2
  341. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +90 -2
  342. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +90 -2
  343. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +78 -1
  344. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +90 -2
  345. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +27 -1
  346. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +28 -2
  347. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +28 -2
  348. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +28 -2
  349. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +28 -2
  350. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +28 -2
  351. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +28 -2
  352. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +28 -2
  353. package/typechain-types/factories/contracts/token/index.ts +1 -0
  354. package/typechain-types/factories/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004__factory.ts +992 -0
  355. package/typechain-types/factories/contracts/token/points/CotiTokenPoints004__factory.ts +992 -0
  356. package/typechain-types/factories/contracts/token/points/index.ts +4 -0
  357. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  358. package/typechain-types/hardhat.d.ts +360 -0
  359. package/typechain-types/index.ts +36 -4
  360. package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +0 -408
@@ -31,6 +31,17 @@ const _abi = [
31
31
  stateMutability: "nonpayable",
32
32
  type: "constructor",
33
33
  },
34
+ {
35
+ inputs: [
36
+ {
37
+ internalType: "address",
38
+ name: "token",
39
+ type: "address",
40
+ },
41
+ ],
42
+ name: "SafeERC20FailedOperation",
43
+ type: "error",
44
+ },
34
45
  {
35
46
  inputs: [
36
47
  {
@@ -145,7 +156,7 @@ const _abi = [
145
156
  ] as const;
146
157
 
147
158
  const _bytecode =
148
- "0x60c03461009457601f610dde38819003918201601f19168301916001600160401b038311848410176100995780849260209460405283398101031261009457516001600160a01b03811690819003610094573360805260a052604051610d2e90816100b08239608051818181610112015281816101c301526105dc015260a051818181609e015281816102f2015261070d0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c8063686792961461052d57806374a9ea72146103af57806389f3fefe146101365780638da5cb5b146100c75763fc0c546a1461005357600080fd5b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100c25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25760443567ffffffffffffffff81116100c257610185903690600401610785565b9060643567ffffffffffffffff81116100c2576101a783913690600401610785565b92906101ea73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633146108fa565b6000926000925b8184106102075761020585602435146109d1565b005b909192936004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61024361023e88878761089a565b6108d9565b166000526020526102596040600020541561095f565b61026761023e86858561089a565b61027286888761089a565b3590604051917fa9059cbb00000000000000000000000000000000000000000000000000000000602084015273ffffffffffffffffffffffffffffffffffffffff602492168284015260448301526044825281608081011067ffffffffffffffff608084011117610382575061037a9161031682608061032894016040527f0000000000000000000000000000000000000000000000000000000000000000610a36565b61032187898861089a565b35906109c4565b9461033481888761089a565b356004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61036861023e85898961089a565b1660005260205260406000205561083e565b9291906101f1565b7f4e487b710000000000000000000000000000000000000000000000000000000060005260416004526000fd5b346100c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576004356024803567ffffffffffffffff81116100c257610402903690600401610785565b92909161040e84610826565b9161041c60405193846107b6565b84835261042885610826565b936020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0878601960136873760005b8181106104a257878688604051928392818401908285525180915260408401929160005b82811061048b57505050500390f35b83518552869550938101939281019260010161047c565b8360005260008852604060002073ffffffffffffffffffffffffffffffffffffffff6104d261023e84868861089a565b16600052885260406000205486518210156104ff57906104fa91898260051b8901015261083e565b610458565b857f4e487b710000000000000000000000000000000000000000000000000000000060005260326004526000fd5b346100c25760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25760443573ffffffffffffffffffffffffffffffffffffffff811681036100c25760643567ffffffffffffffff81116100c25761059c903690600401610785565b9160843567ffffffffffffffff81116100c257836105bf84923690600401610785565b93909161060373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633146108fa565b6000936000935b82851061061e5761020586602435146109d1565b90919293946004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61065661023e89888861089a565b1660005260205261066c6040600020541561095f565b61067a61023e87868661089a565b61068587898561089a565b3590604051917f23b872dd00000000000000000000000000000000000000000000000000000000602084015273ffffffffffffffffffffffffffffffffffffffff602492818a16848601521660448401526064830152606482528160a081011067ffffffffffffffff60a084011117610382575061077c916107318260a061073c94016040527f0000000000000000000000000000000000000000000000000000000000000000610a36565b610321888a8661089a565b9561074881898561089a565b356004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61036861023e858a8a61089a565b9392919061060a565b9181601f840112156100c25782359167ffffffffffffffff83116100c2576020808501948460051b0101116100c257565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176107f757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116107f75760051b60200190565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461086b5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908110156108aa5760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036100c25790565b1561090157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43616c6c6572206973206e6f74206f776e6572000000000000000000000000006044820152fd5b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4475706c696361746520726563697069656e74000000000000000000000000006044820152fd5b9190820180921161086b57565b156109d857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e636f727265637420616d6f756e74000000000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff16906040516040810167ffffffffffffffff90828110828211176107f7576040526020938483527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858401526000808587829751910182855af1903d15610bf4573d928311610bc75790610afd93929160405192610af0887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601856107b6565b83523d868885013e610bff565b805191821591848315610b9c575b505050905015610b185750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b919381809450010312610bc357820151908115158203610bc0575080388084610b0b565b80fd5b5080fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b90610afd9392506060915b91929015610c7a5750815115610c13575090565b3b15610c1c5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015610c8d5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610d0a575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610cc956fea164736f6c6343000813000a";
159
+ "0x60c03461009457601f610b8b38819003918201601f19168301916001600160401b038311848410176100995780849260209460405283398101031261009457516001600160a01b03811690819003610094573360805260a052604051610adb90816100b08239608051818181610112015281816101c3015261061b015260a051818181609e015281816102f2015261074c0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c8063686792961461056c57806374a9ea72146103af57806389f3fefe146101365780638da5cb5b146100c75763fc0c546a1461005357600080fd5b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100c25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25760443567ffffffffffffffff81116100c2576101859036906004016107c4565b9060643567ffffffffffffffff81116100c2576101a7839136906004016107c4565b92906101ea73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633146108f8565b6000926000925b8184106102075761020585602435146109cf565b005b909192936004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61024361023e888787610898565b6108d7565b166000526020526102596040600020541561095d565b61026761023e868585610898565b610272868887610898565b3590604051917fa9059cbb00000000000000000000000000000000000000000000000000000000602084015273ffffffffffffffffffffffffffffffffffffffff602492168284015260448301526044825281608081011067ffffffffffffffff608084011117610382575061037a9161031682608061032894016040527f0000000000000000000000000000000000000000000000000000000000000000610a34565b610321878988610898565b35906109c2565b94610334818887610898565b356004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61036861023e858989610898565b1660005260205260406000205561083c565b9291906101f1565b7f4e487b710000000000000000000000000000000000000000000000000000000060005260416004526000fd5b346100c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25760043560249081359167ffffffffffffffff908184116100c257610408601f9436906004016107c4565b9390610413856107f5565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09790959101871685019081118582101761053e5760405284845261045a856107f5565b94602096878601960136873760005b8181106104b357878688604051928392818401908285525180915260408401929160005b82811061049c57505050500390f35b83518552869550938101939281019260010161048d565b8360005260008852604060002073ffffffffffffffffffffffffffffffffffffffff6104e361023e848688610898565b1660005288526040600020548651821015610510579061050b91898260051b8901015261083c565b610469565b857f4e487b710000000000000000000000000000000000000000000000000000000060005260326004526000fd5b837f4e487b710000000000000000000000000000000000000000000000000000000060005260416004526000fd5b346100c25760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25760443573ffffffffffffffffffffffffffffffffffffffff811681036100c25760643567ffffffffffffffff81116100c2576105db9036906004016107c4565b9160843567ffffffffffffffff81116100c257836105fe849236906004016107c4565b93909161064273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633146108f8565b6000936000935b82851061065d5761020586602435146109cf565b90919293946004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61069561023e898888610898565b166000526020526106ab6040600020541561095d565b6106b961023e878686610898565b6106c4878985610898565b3590604051917f23b872dd00000000000000000000000000000000000000000000000000000000602084015273ffffffffffffffffffffffffffffffffffffffff602492818a16848601521660448401526064830152606482528160a081011067ffffffffffffffff60a08401111761038257506107bb916107708260a061077b94016040527f0000000000000000000000000000000000000000000000000000000000000000610a34565b610321888a86610898565b95610787818985610898565b356004356000526000602052604060002073ffffffffffffffffffffffffffffffffffffffff61036861023e858a8a610898565b93929190610649565b9181601f840112156100c25782359167ffffffffffffffff83116100c2576020808501948460051b0101116100c257565b67ffffffffffffffff811161080d5760051b60200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108695760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908110156108a85760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036100c25790565b156108ff57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43616c6c6572206973206e6f74206f776e6572000000000000000000000000006044820152fd5b1561096457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4475706c696361746520726563697069656e74000000000000000000000000006044820152fd5b9190820180921161086957565b156109d657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e636f727265637420616d6f756e74000000000000000000000000000000006044820152fd5b906000602091828151910182855af115610ac2576000513d610ab9575073ffffffffffffffffffffffffffffffffffffffff81163b155b610a725750565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f5274afe7000000000000000000000000000000000000000000000000000000008352166004820152fd5b60011415610a6b565b6040513d6000823e3d90fdfea164736f6c6343000814000a";
149
160
 
150
161
  type TokenDisperserConstructorParams =
151
162
  | [signer?: Signer]
@@ -982,7 +982,7 @@ const _abi = [
982
982
  ] as const;
983
983
 
984
984
  const _bytecode =
985
- "0x601f62002aa138819003918201601f191660c0908101926001600160401b039283851183861017620001405781602092849260409788528339810103126200013b575190808216918281036200013b5782156200012a576080524216908160a0523415918215620000a1575b835161294a90816200015782396080518181816112780152611963015260a0518181816109a80152818161193a01526119980152f35b4203428111620001035704906200011957806000526009602052816000208054903482018092116200010357558151903482527f0d974655de5c0c4519288c05bb8c1a014366e199206efc12b550ca5b684af66860203393a33880806200006b565b634e487b7160e01b600052601160045260246000fd5b8151637c946ed760e01b8152600490fd5b83516368f5f8f160e11b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080806040526004361015610031575b50361561001b57600080fd5b61002f610026611928565b34903390611e17565b005b60003560e01c908163080629911461170e5750806308b70ef21461168a5780630962ef79146114905780630d1db2c6146114745780631e6f03e714611435578063261ca8c4146113da5780632be51efe1461137f57806330da5f9c146113385780633e8e5c73146112c85780634ef5b3661461129c5780634ff0876a14611257578063539aa21f146111bd5780635aa0f53114610dba5780637667180814610d9f5780637885e47414610d05578063792f54ff14610cbd57806379c1ef4914610c6757806386f79edb14610b2c5780639631c2d514610b0e578063a622d58914610ae2578063b12cf2cc14610a43578063baddc3df146109f8578063bbd8ecd0146109cc578063cacf66ab14610987578063cddd64071461096b578063d18df53c14610945578063d6d8a23a146108fe578063da8d9bed14610864578063db5163bb14610838578063e768797e1461028a578063e8738d03146102575763f354830a1461019e573861000f565b34610252576020806003193601126102525760043560606040516101c1816119d5565b526101cb81612424565b50600052600281526040600020600080528152604060002090604051916101f1836119d5565b604051808284829454938481520190600052846000209260005b8682821061023c5750505061022292500382611a29565b82526102386040519282849384528301906117be565b0390f35b855484526001958601958795509301920161020b565b600080fd5b3461025257602060031936011261025257602063ffffffff600261027c600435612424565b015460401c16604051908152f35b34610252576040600319360112610252576102a361181e565b6024359067ffffffffffffffff821161025257366023830112156102525767ffffffffffffffff82600401351161025257366024836004013560051b840101116102525773ffffffffffffffffffffffffffffffffffffffff8116158015610819575b6107ef5781600401351580156107e1575b6107b75760009160005b816004013581106107845750610335611928565b916000549261034384611c2b565b60005583600052600160205260026040600020600181547fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff003360081b169116171781556001810180547bffffffffffffffff00000000000000000000000000000000000000004260a01b16907fffffffff0000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff88169116171790550180546bffffffff0000000000000000856004013560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff8516911617179055336000526006602052610466846040600020611e94565b73ffffffffffffffffffffffffffffffffffffffff82166000526005602052610493846040600020611e94565b60405190815273ffffffffffffffffffffffffffffffffffffffff821690847f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b60203393a460005b826004013581106105165760208461050e8782600052600184523367ffffffffffffffff60026040600020015416611eeb565b604051908152f35b6105396105343661052f84876004013560248901611c58565b611abc565b6124a7565b61054281612701565b9061055784610551338461280e565b9261280e565b91866000526002602052604060002084600052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061075a575b5060200190600052602060002060005b8381106107465750505050856000526003602052604060002083600052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061071c575b5060200190600052602060002060005b8381106107085750505050846000526004602052604060002082600052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d95781548383558084106106af575b5060200190600052602060002060005b83811061069b575050505061069690611c2b565b6104db565b600190602084519401938184015501610682565b826000526020600020908482015b81830181106106cd575050610672565b600081556001016106bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60019060208451940193818401550161061b565b826000526020600020908482015b818301811061073a57505061060b565b6000815560010161072a565b6001906020845194019381840155016105b4565b826000526020600020908482015b81830181106107785750506105a4565b60008155600101610768565b926107ac6107b2916107a66107a187866004013560248801611c58565b61226d565b90611cc7565b93611c2b565b610321565b60046040517f0c1c00a4000000000000000000000000000000000000000000000000000000008152fd5b506040826004013511610317565b60046040517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b503373ffffffffffffffffffffffffffffffffffffffff821614610306565b3461025257602060031936011261025257600435600052600b6020526020604060002054604051908152f35b3461025257602080600319360112610252576004356060604051610887816119d5565b5261089181612424565b50600052600481526040600020600080528152604060002090604051916108b7836119d5565b604051808284829454938481520190600052846000209260005b868282106108e85750505061022292500382611a29565b85548452600195860195879550930192016108d1565b346102525760206003193601126102525773ffffffffffffffffffffffffffffffffffffffff61092c61181e565b1660005260066020526020604060002054604051908152f35b3461025257604060031936011261025257602061050e6109636117fb565b600435611cd4565b3461025257600060031936011261025257602060405160038152f35b3461025257600060031936011261025257602060405167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102525760206003193601126102525760043560005260086020526020604060002054604051908152f35b3461025257610238610a3773ffffffffffffffffffffffffffffffffffffffff610a2136611841565b9290911660005260066020526040600020612379565b60405191829182611878565b3461025257610a51366117a8565b906060604051610a60816119d5565b52610a7382610a6e83612424565b612468565b60005260209060028252604060002090600052815260406000209060405191610a9b836119d5565b604051808284829454938481520190600052846000209260005b86828210610acc5750505061022292500382611a29565b8554845260019586019587955093019201610ab5565b346102525760206003193601126102525760043560005260096020526020604060002054604051908152f35b3461025257602060031936011261025257602061050e60043561198c565b34610252576020600319360112610252576020600435604051610b4e816119f1565b60008152600083820152600060408201526000606082015260006080820152600060a082015260c060405191610b83836119d5565b606083520152610238610b9582612424565b610ba0338285611f40565b9073ffffffffffffffffffffffffffffffffffffffff80825460081c1690600260018401549301549260405196610bd6886119f1565b8752878701928352604087019082811682526060880167ffffffffffffffff9384809360a01c16825260808a019383881685528160a08c019763ffffffff809a60401c16895260c08d019a8b526040518e819f9e829f835251910152511660408c0152511660608a015251166080880152511660a0860152511660c08401525160e0808401526101008301906117be565b3461025257604060031936011261025257610c806117fb565b600435600052600760205273ffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b3461025257610238610cf1610cd1366117a8565b906060604051610ce0816119d5565b52610cea81612424565b33916120c5565b6040519182916020835260208301906117be565b3461025257602080600319360112610252576004356060604051610d28816119d5565b52610d3281612424565b5060005260038152604060002060008052815260406000209060405191610d58836119d5565b604051808284829454938481520190600052846000209260005b86828210610d895750505061022292500382611a29565b8554845260019586019587955093019201610d72565b3461025257600060031936011261025257602061050e611928565b346102525760031960408136011261025257610dd461181e565b906024359067ffffffffffffffff8211610252576040908260040192360301126102525773ffffffffffffffffffffffffffffffffffffffff821690811580156111b4575b6107ef57610f8c610534610e2c8361226d565b92610e35611928565b9460005495610e4387611c2b565b60005586600052600160205260026040600020600181547fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff003360081b16911617178155600181018054857fffffffff000000000000000000000000000000000000000000000000000000007bffffffffffffffff00000000000000000000000000000000000000004260a01b16921617179055016801000000000000000067ffffffffffffffff83167fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083541617179055336000526006602052610f41876040600020611e94565b816000526005602052610f58876040600020611e94565b604051908152867f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b60203393a43690611abc565b610fa3610f9882612701565b94610551338461280e565b93836000526002602052604060002060008052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061118a575b5060200190600052602060002060005b8381106111765750505050826000526003602052604060002060008052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061114d575b5060200190600052602060002060005b83811061113957505050508160005260046020526040600020600080526020526040600020925180519067ffffffffffffffff82116106d9576801000000000000000082116106d9578454828655808310611110575b5060200193600052602060002060005b8281106110fc5760208561050e8682600052600184523367ffffffffffffffff60026040600020015416611eeb565b6001906020875197019681840155016110cd565b8560005282602060002091820191015b81811061112d57506110bd565b60008155600101611120565b600190602084519401938184015501611067565b8260005283602060002091820191015b81811061116a5750611057565b6000815560010161115d565b600190602084519401938184015501611000565b826000526020600020908482015b81830181106111a8575050610ff0565b60008155600101611198565b50338214610e19565b34610252576111cb366117a8565b9060606040516111da816119d5565b526111e882610a6e83612424565b60005260209060048252604060002090600052815260406000209060405191611210836119d5565b604051808284829454938481520190600052846000209260005b868282106112415750505061022292500382611a29565b855484526001958601958795509301920161122a565b3461025257600060031936011261025257602060405167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461025257602060031936011261025257600435600052600a6020526020604060002054604051908152f35b346102525760206003193601126102525760806112e6600435612424565b73ffffffffffffffffffffffffffffffffffffffff600281835460081c169260018101549067ffffffffffffffff928391015416926040519485528116602085015260a01c1660408301526060820152f35b346102525760206003193601126102525773ffffffffffffffffffffffffffffffffffffffff61136661181e565b1660005260056020526020604060002054604051908152f35b34610252576040600319360112610252576113986117fb565b600435600052600c60205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b346102525760208060031936011261025257608090600435600052600881526040600020549060098152604060002054600a825260406000205490600b83526040600020549260405194855284015260408301526060820152f35b3461025257610238610a3773ffffffffffffffffffffffffffffffffffffffff61145e36611841565b9290911660005260056020526040600020612379565b3461025257600060031936011261025257602060405160408152f35b3461025257602080600319360112610252576004356114ad611928565b8110156116605780600052600c8252604060002033600052825260ff60406000205416611636576114de3382611cd4565b90811561160c578060005260078352604060002033600052835260406000205481600052600c84526040600020336000528452604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905581600052600b84526115576040600020918254611cc7565b905580600052600a83526040600020611571838254611cc7565b9055600080808085335af13d15611607573d61158c81611a82565b9061159a6040519283611a29565b81526000853d92013e5b156115dd57604051908282527f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7843393a3604051908152f35b60046040517ff4b3b1bc000000000000000000000000000000000000000000000000000000008152fd5b6115a4565b60046040517f969bf728000000000000000000000000000000000000000000000000000000008152fd5b60046040517f646cf558000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff074b153000000000000000000000000000000000000000000000000000000008152fd5b60206003193601126102525760043534156116e4576116a7611928565b81106116ba5761002f9034903390611e17565b60046040517f9096d3da000000000000000000000000000000000000000000000000000000008152fd5b60046040517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b346102525760609061171f366117a8565b92909161172b816119d5565b5261173982610a6e83612424565b60005260209060038252604060002090600052815260406000209060405191611761836119d5565b604051808284829454938481520190600052846000209260005b868282106117925750505061022292500382611a29565b855484526001958601958795509301920161177b565b6003196040910112610252576004359060243590565b60209081604081850192519482815285518094520193019160005b8281106117e7575050505090565b8351855293810193928101926001016117d9565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361025257565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361025257565b60031960609101126102525760043573ffffffffffffffffffffffffffffffffffffffff8116810361025257906024359060443590565b6020908160408183019282815285518094520193019160005b82811061189f575050505090565b835185529381019392810192600101611891565b919082039182116118c057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81156118f9570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61198967ffffffffffffffff611960817f000000000000000000000000000000000000000000000000000000000000000016426118b3565b907f000000000000000000000000000000000000000000000000000000000000000016906118ef565b90565b67ffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016918281106119cd5761198992611960916118b3565b505050600090565b6020810190811067ffffffffffffffff8211176106d957604052565b60e0810190811067ffffffffffffffff8211176106d957604052565b6040810190811067ffffffffffffffff8211176106d957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106d957604052565b67ffffffffffffffff81116106d95760051b60200190565b67ffffffffffffffff81116106d957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9190916040908181850312610252578151611ad681611a0d565b809482359367ffffffffffffffff9485811161025257840193602094858185031261025257825190611b07826119d5565b803590888211610252570184601f8201121561025257803590611b2982611a6a565b91611b3686519384611a29565b808352888084019160051b830101918783116102525789809101915b838310611c1b575050505081528452848101359086821161025257019180601f8401121561025257823590611b8682611a6a565b96611b9384519889611a29565b828852868089019360051b8601019482861161025257878101935b868510611bc057505050505050500152565b843583811161025257820184603f82011215610252578981013591611be483611a82565b611bf089519182611a29565b838152868985850101116102525760008c8581968c8397018386013783010152815201940193611bae565b82358152918101918a9101611b52565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118c05760010190565b9190811015611c985760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc181360301821215610252570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b919082018092116118c057565b9190611cde611928565b8310801590611ddd575b611dd65760009280845260206007815260409273ffffffffffffffffffffffffffffffffffffffff8487209116865281528285205491855260088152828520549060098152838620549383158015611dce575b8015611dc6575b611dbf5781611d6491600b611d6a959452600a818a20549252882054926118b3565b936118b3565b828214611db957818102918183041490151715611d8c576119899293506118ef565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b93505050565b5050505050565b508415611d42565b508215611d3b565b5060009150565b5082600052600c602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff60406000205416611ce8565b9082156116e457602073ffffffffffffffffffffffffffffffffffffffff7f0d974655de5c0c4519288c05bb8c1a014366e199206efc12b550ca5b684af6689284600052600983526040600020611e6f878254611cc7565b90556040519586521693a3565b8054821015611c985760005260206000200190600090565b8054680100000000000000008110156106d957611eb691600182018155611e7c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829392549160031b92831b921b1916179055565b611f3c91604091600091818352600760205273ffffffffffffffffffffffffffffffffffffffff84842091168352602052828220611f2a868254611cc7565b90558152600860205220918254611cc7565b9055565b6040928351611f4e816119d5565b606090526002830154841c63ffffffff161561209c5773ffffffffffffffffffffffffffffffffffffffff8080855460081c16921691821461202e576001809401541614611fbf57600483517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b600090815260209060048252838120818052825283812090845194611fe3866119d5565b5193848486958554928381520194845280842093905b82821061201657505050505090612011910382611a29565b815290565b84548652879650948501949383019390830190611ff9565b50509050600090815260209060038252828120818052825282812091835193612056856119d5565b5192838285938354928381520192855280852094905b8282106120825750505061201192500382611a29565b85548452600195860195879550938101939091019061206c565b600484517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b9092919260409384516120d7816119d5565b606090526120e58483612468565b73ffffffffffffffffffffffffffffffffffffffff8080845460081c1692169182146121ac57600180930154161461214057600484517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b9190600090815260209160048352848220908252825283812090845194612166866119d5565b5193848486958554928381520194845280842093905b82821061219457505050505090612011910382611a29565b8454865287965094850194938301939083019061217c565b5050506000908152602091600383528382209082528252828120918351936121d3856119d5565b5192838285938354928381520192855280852094905b8282106121ff5750505061201192500382611a29565b8554845260019586019587955093810193909101906121e9565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610252570180359067ffffffffffffffff821161025257602001918160051b3603831361025257565b9081357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811215610252576122a890830180612219565b9283159150839082156122fa575b5081156122ef575b506122c557565b60046040517fd29524a2000000000000000000000000000000000000000000000000000000008152fd5b6003915011386122be565b61230a9192506020810190612219565b905081141590386122b6565b9061232082611a6a565b61232d6040519182611a29565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061235b8294611a6a565b0190602036910137565b8051821015611c985760209160051b010190565b92919083549182821080159061241c575b6123ff576123989082611cc7565b918083116123f7575b506123b46123af82846118b3565b612316565b93815b8381106123c45750505050565b806123d26123f29284611e7c565b90549060031b1c6123ec6123e686846118b3565b89612365565b52611c2b565b6123b7565b9150386123a1565b5050509050604051612410816119d5565b60008152600036813790565b50801561238a565b600052600160205260406000209060ff8254161561243e57565b60046040517f28915ac7000000000000000000000000000000000000000000000000000000008152fd5b6002015460401c63ffffffff16111561247d57565b60046040517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b6040606081516124b6816119d5565b5260208083018051519182855151510361260f576124d383611a6a565b946124e085519687611a29565b8386527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061250d85611a6a565b01368388013784519561251f876119d5565b8652845161252c81611a0d565b6000938482528382019260608452855b87811061254f5750505050505050505090565b8061255f6125a792845151612365565b5185528661256e828651612365565b5180885286518c5194859283927fe4f36e100000000000000000000000000000000000000000000000000000000084526004840161266c565b03818b60645af180156126055788906125d0575b6125cb92506123ec828d51612365565b61253c565b50908681813d83116125fe575b6125e78183611a29565b810103126125fa57906125cb91516125bb565b8780fd5b503d6125dd565b8a513d8a823e3d90fd5b6064908451907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f54455854000000006044820152fd5b909291927f04000000000000000000000000000000000000000000000000000000000000008252602090818301526060604083015283519384606084015260005b8581106126ed575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006080809697860101520116010190565b8181018301518482016080015282016126ad565b604060608151612710816119d5565b5281515161271d81612316565b9282519361272a856119d5565b845260005b82811061273d575050505090565b612748818351612365565b51908451917fc50c9c020000000000000000000000000000000000000000000000000000000083527f0400000000000000000000000000000000000000000000000000000000000000600484015260248301526020918281604481600060645af1908115612803576000916127ce575b506127c992506123ec828851612365565b61272f565b919282813d83116127fc575b6127e48183611a29565b810103126127f95750906127c99151386127b8565b80fd5b503d6127da565b86513d6000823e3d90fd5b9060409081519061281e826119d5565b60608092528351519161283083612316565b9484519561283d876119d5565b865260005b8481106128525750505050505090565b61285d818351612365565b51906128d387519260209384917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000089891b1683830152601482526128a082611a0d565b8a5193849283927f3c6f0e680000000000000000000000000000000000000000000000000000000084526004840161266c565b0381600060645af190811561293257600091612900575b506128fb92506123ec828a51612365565b612842565b919282813d831161292b575b6129168183611a29565b810103126127f95750906128fb9151386128ea565b503d61290c565b88513d6000823e3d90fdfea164736f6c6343000813000a";
985
+ "0x601f62002a9f38819003918201601f191660c0908101926001600160401b039283851183861017620001405781602092849260409788528339810103126200013b575190808216918281036200013b5782156200012a576080524216908160a0523415918215620000a1575b835161294890816200015782396080518181816112780152611963015260a0518181816109a80152818161193a01526119980152f35b4203428111620001035704906200011957806000526009602052816000208054903482018092116200010357558151903482527f0d974655de5c0c4519288c05bb8c1a014366e199206efc12b550ca5b684af66860203393a33880806200006b565b634e487b7160e01b600052601160045260246000fd5b8151637c946ed760e01b8152600490fd5b83516368f5f8f160e11b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080806040526004361015610031575b50361561001b57600080fd5b61002f610026611928565b34903390611e17565b005b60003560e01c908163080629911461170e5750806308b70ef21461168a5780630962ef79146114905780630d1db2c6146114745780631e6f03e714611435578063261ca8c4146113da5780632be51efe1461137f57806330da5f9c146113385780633e8e5c73146112c85780634ef5b3661461129c5780634ff0876a14611257578063539aa21f146111bd5780635aa0f53114610dba5780637667180814610d9f5780637885e47414610d05578063792f54ff14610cbd57806379c1ef4914610c6757806386f79edb14610b2c5780639631c2d514610b0e578063a622d58914610ae2578063b12cf2cc14610a43578063baddc3df146109f8578063bbd8ecd0146109cc578063cacf66ab14610987578063cddd64071461096b578063d18df53c14610945578063d6d8a23a146108fe578063da8d9bed14610864578063db5163bb14610838578063e768797e1461028a578063e8738d03146102575763f354830a1461019e573861000f565b34610252576020806003193601126102525760043560606040516101c1816119d5565b526101cb81612422565b50600052600281526040600020600080528152604060002090604051916101f1836119d5565b604051808284829454938481520190600052846000209260005b8682821061023c5750505061022292500382611a29565b82526102386040519282849384528301906117be565b0390f35b855484526001958601958795509301920161020b565b600080fd5b3461025257602060031936011261025257602063ffffffff600261027c600435612422565b015460401c16604051908152f35b34610252576040600319360112610252576102a361181e565b6024359067ffffffffffffffff821161025257366023830112156102525767ffffffffffffffff82600401351161025257366024836004013560051b840101116102525773ffffffffffffffffffffffffffffffffffffffff8116158015610819575b6107ef5781600401351580156107e1575b6107b75760009160005b816004013581106107845750610335611928565b916000549261034384611c2b565b60005583600052600160205260026040600020600181547fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff003360081b169116171781556001810180547bffffffffffffffff00000000000000000000000000000000000000004260a01b16907fffffffff0000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff88169116171790550180546bffffffff0000000000000000856004013560401b16907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000067ffffffffffffffff8516911617179055336000526006602052610466846040600020611e94565b73ffffffffffffffffffffffffffffffffffffffff82166000526005602052610493846040600020611e94565b60405190815273ffffffffffffffffffffffffffffffffffffffff821690847f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b60203393a460005b826004013581106105165760208461050e8782600052600184523367ffffffffffffffff60026040600020015416611eeb565b604051908152f35b6105396105343661052f84876004013560248901611c58565b611abc565b6124a5565b610542816126ff565b9061055784610551338461280c565b9261280c565b91866000526002602052604060002084600052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061075a575b5060200190600052602060002060005b8381106107465750505050856000526003602052604060002083600052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061071c575b5060200190600052602060002060005b8381106107085750505050846000526004602052604060002082600052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d95781548383558084106106af575b5060200190600052602060002060005b83811061069b575050505061069690611c2b565b6104db565b600190602084519401938184015501610682565b826000526020600020908482015b81830181106106cd575050610672565b600081556001016106bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60019060208451940193818401550161061b565b826000526020600020908482015b818301811061073a57505061060b565b6000815560010161072a565b6001906020845194019381840155016105b4565b826000526020600020908482015b81830181106107785750506105a4565b60008155600101610768565b926107ac6107b2916107a66107a187866004013560248801611c58565b61226b565b90611cc7565b93611c2b565b610321565b60046040517f0c1c00a4000000000000000000000000000000000000000000000000000000008152fd5b506040826004013511610317565b60046040517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b503373ffffffffffffffffffffffffffffffffffffffff821614610306565b3461025257602060031936011261025257600435600052600b6020526020604060002054604051908152f35b3461025257602080600319360112610252576004356060604051610887816119d5565b5261089181612422565b50600052600481526040600020600080528152604060002090604051916108b7836119d5565b604051808284829454938481520190600052846000209260005b868282106108e85750505061022292500382611a29565b85548452600195860195879550930192016108d1565b346102525760206003193601126102525773ffffffffffffffffffffffffffffffffffffffff61092c61181e565b1660005260066020526020604060002054604051908152f35b3461025257604060031936011261025257602061050e6109636117fb565b600435611cd4565b3461025257600060031936011261025257602060405160038152f35b3461025257600060031936011261025257602060405167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102525760206003193601126102525760043560005260086020526020604060002054604051908152f35b3461025257610238610a3773ffffffffffffffffffffffffffffffffffffffff610a2136611841565b9290911660005260066020526040600020612377565b60405191829182611878565b3461025257610a51366117a8565b906060604051610a60816119d5565b52610a7382610a6e83612422565b612466565b60005260209060028252604060002090600052815260406000209060405191610a9b836119d5565b604051808284829454938481520190600052846000209260005b86828210610acc5750505061022292500382611a29565b8554845260019586019587955093019201610ab5565b346102525760206003193601126102525760043560005260096020526020604060002054604051908152f35b3461025257602060031936011261025257602061050e60043561198c565b34610252576020600319360112610252576020600435604051610b4e816119f1565b60008152600083820152600060408201526000606082015260006080820152600060a082015260c060405191610b83836119d5565b606083520152610238610b9582612422565b610ba0338285611f40565b9073ffffffffffffffffffffffffffffffffffffffff80825460081c1690600260018401549301549260405196610bd6886119f1565b8752878701928352604087019082811682526060880167ffffffffffffffff9384809360a01c16825260808a019383881685528160a08c019763ffffffff809a60401c16895260c08d019a8b526040518e819f9e829f835251910152511660408c0152511660608a015251166080880152511660a0860152511660c08401525160e0808401526101008301906117be565b3461025257604060031936011261025257610c806117fb565b600435600052600760205273ffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b3461025257610238610cf1610cd1366117a8565b906060604051610ce0816119d5565b52610cea81612422565b33916120c4565b6040519182916020835260208301906117be565b3461025257602080600319360112610252576004356060604051610d28816119d5565b52610d3281612422565b5060005260038152604060002060008052815260406000209060405191610d58836119d5565b604051808284829454938481520190600052846000209260005b86828210610d895750505061022292500382611a29565b8554845260019586019587955093019201610d72565b3461025257600060031936011261025257602061050e611928565b346102525760031960408136011261025257610dd461181e565b906024359067ffffffffffffffff8211610252576040908260040192360301126102525773ffffffffffffffffffffffffffffffffffffffff821690811580156111b4575b6107ef57610f8c610534610e2c8361226b565b92610e35611928565b9460005495610e4387611c2b565b60005586600052600160205260026040600020600181547fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff003360081b16911617178155600181018054857fffffffff000000000000000000000000000000000000000000000000000000007bffffffffffffffff00000000000000000000000000000000000000004260a01b16921617179055016801000000000000000067ffffffffffffffff83167fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083541617179055336000526006602052610f41876040600020611e94565b816000526005602052610f58876040600020611e94565b604051908152867f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b60203393a43690611abc565b610fa3610f98826126ff565b94610551338461280c565b93836000526002602052604060002060008052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061118a575b5060200190600052602060002060005b8381106111765750505050826000526003602052604060002060008052602052604060002090519081519167ffffffffffffffff83116106d9576801000000000000000083116106d957815483835580841061114d575b5060200190600052602060002060005b83811061113957505050508160005260046020526040600020600080526020526040600020925180519067ffffffffffffffff82116106d9576801000000000000000082116106d9578454828655808310611110575b5060200193600052602060002060005b8281106110fc5760208561050e8682600052600184523367ffffffffffffffff60026040600020015416611eeb565b6001906020875197019681840155016110cd565b8560005282602060002091820191015b81811061112d57506110bd565b60008155600101611120565b600190602084519401938184015501611067565b8260005283602060002091820191015b81811061116a5750611057565b6000815560010161115d565b600190602084519401938184015501611000565b826000526020600020908482015b81830181106111a8575050610ff0565b60008155600101611198565b50338214610e19565b34610252576111cb366117a8565b9060606040516111da816119d5565b526111e882610a6e83612422565b60005260209060048252604060002090600052815260406000209060405191611210836119d5565b604051808284829454938481520190600052846000209260005b868282106112415750505061022292500382611a29565b855484526001958601958795509301920161122a565b3461025257600060031936011261025257602060405167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461025257602060031936011261025257600435600052600a6020526020604060002054604051908152f35b346102525760206003193601126102525760806112e6600435612422565b73ffffffffffffffffffffffffffffffffffffffff600281835460081c169260018101549067ffffffffffffffff928391015416926040519485528116602085015260a01c1660408301526060820152f35b346102525760206003193601126102525773ffffffffffffffffffffffffffffffffffffffff61136661181e565b1660005260056020526020604060002054604051908152f35b34610252576040600319360112610252576113986117fb565b600435600052600c60205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b346102525760208060031936011261025257608090600435600052600881526040600020549060098152604060002054600a825260406000205490600b83526040600020549260405194855284015260408301526060820152f35b3461025257610238610a3773ffffffffffffffffffffffffffffffffffffffff61145e36611841565b9290911660005260056020526040600020612377565b3461025257600060031936011261025257602060405160408152f35b3461025257602080600319360112610252576004356114ad611928565b8110156116605780600052600c8252604060002033600052825260ff60406000205416611636576114de3382611cd4565b90811561160c578060005260078352604060002033600052835260406000205481600052600c84526040600020336000528452604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905581600052600b84526115576040600020918254611cc7565b905580600052600a83526040600020611571838254611cc7565b9055600080808085335af13d15611607573d61158c81611a82565b9061159a6040519283611a29565b81526000853d92013e5b156115dd57604051908282527f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7843393a3604051908152f35b60046040517ff4b3b1bc000000000000000000000000000000000000000000000000000000008152fd5b6115a4565b60046040517f969bf728000000000000000000000000000000000000000000000000000000008152fd5b60046040517f646cf558000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff074b153000000000000000000000000000000000000000000000000000000008152fd5b60206003193601126102525760043534156116e4576116a7611928565b81106116ba5761002f9034903390611e17565b60046040517f9096d3da000000000000000000000000000000000000000000000000000000008152fd5b60046040517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b346102525760609061171f366117a8565b92909161172b816119d5565b5261173982610a6e83612422565b60005260209060038252604060002090600052815260406000209060405191611761836119d5565b604051808284829454938481520190600052846000209260005b868282106117925750505061022292500382611a29565b855484526001958601958795509301920161177b565b6003196040910112610252576004359060243590565b60209081604081850192519482815285518094520193019160005b8281106117e7575050505090565b8351855293810193928101926001016117d9565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361025257565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361025257565b60031960609101126102525760043573ffffffffffffffffffffffffffffffffffffffff8116810361025257906024359060443590565b6020908160408183019282815285518094520193019160005b82811061189f575050505090565b835185529381019392810192600101611891565b919082039182116118c057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81156118f9570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61198967ffffffffffffffff611960817f000000000000000000000000000000000000000000000000000000000000000016426118b3565b907f000000000000000000000000000000000000000000000000000000000000000016906118ef565b90565b67ffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016918281106119cd5761198992611960916118b3565b505050600090565b6020810190811067ffffffffffffffff8211176106d957604052565b60e0810190811067ffffffffffffffff8211176106d957604052565b6040810190811067ffffffffffffffff8211176106d957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106d957604052565b67ffffffffffffffff81116106d95760051b60200190565b67ffffffffffffffff81116106d957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9190916040908181850312610252578151611ad681611a0d565b809482359367ffffffffffffffff9485811161025257840193602094858185031261025257825190611b07826119d5565b803590888211610252570184601f8201121561025257803590611b2982611a6a565b91611b3686519384611a29565b808352888084019160051b830101918783116102525789809101915b838310611c1b575050505081528452848101359086821161025257019180601f8401121561025257823590611b8682611a6a565b96611b9384519889611a29565b828852868089019360051b8601019482861161025257878101935b868510611bc057505050505050500152565b843583811161025257820184603f82011215610252578981013591611be483611a82565b611bf089519182611a29565b838152868985850101116102525760008c8581968c8397018386013783010152815201940193611bae565b82358152918101918a9101611b52565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118c05760010190565b9190811015611c985760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc181360301821215610252570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b919082018092116118c057565b9190611cde611928565b8310801590611ddd575b611dd65760009280845260206007815260409273ffffffffffffffffffffffffffffffffffffffff8487209116865281528285205491855260088152828520549060098152838620549383158015611dce575b8015611dc6575b611dbf5781611d6491600b611d6a959452600a818a20549252882054926118b3565b936118b3565b828214611db957818102918183041490151715611d8c576119899293506118ef565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b93505050565b5050505050565b508415611d42565b508215611d3b565b5060009150565b5082600052600c602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff60406000205416611ce8565b9082156116e457602073ffffffffffffffffffffffffffffffffffffffff7f0d974655de5c0c4519288c05bb8c1a014366e199206efc12b550ca5b684af6689284600052600983526040600020611e6f878254611cc7565b90556040519586521693a3565b8054821015611c985760005260206000200190600090565b8054680100000000000000008110156106d957611eb691600182018155611e7c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829392549160031b92831b921b1916179055565b611f3c91604091600091818352600760205273ffffffffffffffffffffffffffffffffffffffff84842091168352602052828220611f2a868254611cc7565b90558152600860205220918254611cc7565b9055565b60409260608451611f50816119d5565b5263ffffffff6002840154851c161561209b5773ffffffffffffffffffffffffffffffffffffffff8080855460081c16921691821461202d576001809401541614611fbe57600483517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b600090815260209060048252838120818052825283812090845194611fe2866119d5565b5193848486958554928381520194845280842093905b82821061201557505050505090612010910382611a29565b815290565b84548652879650948501949383019390830190611ff8565b50509050600090815260209060038252828120818052825282812091835193612055856119d5565b5192838285938354928381520192855280852094905b8282106120815750505061201092500382611a29565b85548452600195860195879550938101939091019061206b565b600484517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b90929192604093606085516120d8816119d5565b526120e38483612466565b73ffffffffffffffffffffffffffffffffffffffff8080845460081c1692169182146121aa57600180930154161461213e57600484517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b9190600090815260209160048352848220908252825283812090845194612164866119d5565b5193848486958554928381520194845280842093905b82821061219257505050505090612010910382611a29565b8454865287965094850194938301939083019061217a565b5050506000908152602091600383528382209082528252828120918351936121d1856119d5565b5192838285938354928381520192855280852094905b8282106121fd5750505061201092500382611a29565b8554845260019586019587955093810193909101906121e7565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610252570180359067ffffffffffffffff821161025257602001918160051b3603831361025257565b9081357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811215610252576122a690830180612217565b9283159150839082156122f8575b5081156122ed575b506122c357565b60046040517fd29524a2000000000000000000000000000000000000000000000000000000008152fd5b6003915011386122bc565b6123089192506020810190612217565b905081141590386122b4565b9061231e82611a6a565b61232b6040519182611a29565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06123598294611a6a565b0190602036910137565b8051821015611c985760209160051b010190565b92919083549182821080159061241a575b6123fd576123969082611cc7565b918083116123f5575b506123b26123ad82846118b3565b612314565b93815b8381106123c25750505050565b806123d06123f09284611e7c565b90549060031b1c6123ea6123e486846118b3565b89612363565b52611c2b565b6123b5565b91503861239f565b505050905060405161240e816119d5565b60008152600036813790565b508015612388565b600052600160205260406000209060ff8254161561243c57565b60046040517f28915ac7000000000000000000000000000000000000000000000000000000008152fd5b6002015460401c63ffffffff16111561247b57565b60046040517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b6040606081516124b4816119d5565b5260208083018051519182855151510361260d576124d183611a6a565b946124de85519687611a29565b8386527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061250b85611a6a565b01368388013784519561251d876119d5565b8652845161252a81611a0d565b6000938482528382019260608452855b87811061254d5750505050505050505090565b8061255d6125a592845151612363565b5185528661256c828651612363565b5180885286518c5194859283927fe4f36e100000000000000000000000000000000000000000000000000000000084526004840161266a565b03818b60645af180156126035788906125ce575b6125c992506123ea828d51612363565b61253a565b50908681813d83116125fc575b6125e58183611a29565b810103126125f857906125c991516125b9565b8780fd5b503d6125db565b8a513d8a823e3d90fd5b6064908451907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f54455854000000006044820152fd5b909291927f04000000000000000000000000000000000000000000000000000000000000008252602090818301526060604083015283519384606084015260005b8581106126eb575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006080809697860101520116010190565b8181018301518482016080015282016126ab565b60406060815161270e816119d5565b5281515161271b81612314565b92825193612728856119d5565b845260005b82811061273b575050505090565b612746818351612363565b51908451917fc50c9c020000000000000000000000000000000000000000000000000000000083527f0400000000000000000000000000000000000000000000000000000000000000600484015260248301526020918281604481600060645af1908115612801576000916127cc575b506127c792506123ea828851612363565b61272d565b919282813d83116127fa575b6127e28183611a29565b810103126127f75750906127c79151386127b6565b80fd5b503d6127d8565b86513d6000823e3d90fd5b9060409081519061281c826119d5565b60608092528351519161282e83612314565b9484519561283b876119d5565b865260005b8481106128505750505050505090565b61285b818351612363565b51906128d187519260209384917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000089891b16838301526014825261289e82611a0d565b8a5193849283927f3c6f0e680000000000000000000000000000000000000000000000000000000084526004840161266a565b0381600060645af1908115612930576000916128fe575b506128f992506123ea828a51612363565b612840565b919282813d8311612929575b6129148183611a29565b810103126127f75750906128f99151386128e8565b503d61290a565b88513d6000823e3d90fdfea164736f6c6343000814000a";
986
986
 
987
987
  type PrivateMessagingConstructorParams =
988
988
  | [signer?: Signer]
@@ -1102,7 +1102,7 @@ const _abi = [
1102
1102
  ] as const;
1103
1103
 
1104
1104
  const _bytecode =
1105
- "0x60c034620000a7576001600160401b0390601f62002d9d38819003918201601f191683019184831184841017620000ac57808492602094604052833981010312620000a75751818116808203620000a757156200009557608052421660a052604051612cda9081620000c38239608051818181610e62015261153e015260a0518181816108000152818161151501526115730152f35b6040516368f5f8f160e11b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049081361015610036575b505050361561002057600080fd5b61003461002b611503565b34903390611a37565b005b600092833560e01c90816308062991146112bb5750806308b70ef21461123b5780630962ef79146110635780630d1db2c6146110475780631e6f03e714611007578063261ca8c414610fb75780632be51efe14610f6457806330da5f9c14610f205780633e8e5c7314610eae5780634ef5b36614610e865780634ff0876a14610e4157806352ba6d8f14610d6e578063539aa21f14610ce15780635aa0f53114610bea5780637667180814610bcd5780637885e47414610b3f578063792f54ff14610af657806379c1ef4914610aa857806386f79edb146109755780639631c2d514610955578063a622d5891461092d578063b12cf2cc14610897578063baddc3df1461084c578063bbd8ecd014610824578063cacf66ab146107df578063cc04292714610572578063cddd640714610556578063d18df53c14610527578063d6d8a23a146104df578063da8d9bed14610452578063db5163bb1461042a578063e768797e14610294578063e8738d031461025f5763f354830a03610012573461025b57602091826003193601126102575735606082516101d6816115b0565b526101e0816127a0565b508352600282528083208380528252808320928151936101ff856115b0565b825191828583549182815201928252858220915b8682821061024357889061023f888861022e818a0382611633565b845251928284938452830190611368565b0390f35b835485529093019260019283019201610213565b8380fd5b8280fd5b508234610291576020600319360112610291575063ffffffff6002610286602094356127a0565b01548251921c168152f35b80fd5b503461025b578060031936011261025b576102ad6113c8565b9267ffffffffffffffff60243581811161025b576102ce903690860161145d565b909473ffffffffffffffffffffffffffffffffffffffff87168015908115610420575b506103f957811580156103f0575b6103c957508295835b82811061039d575061031b828233611ca1565b95845b83811061034a57602088886103448c8a8a85825260018752600285339320015416611e23565b51908152f35b6103989061039361036d61036836610363858a89611878565b611750565b61283a565b61037681612a94565b9061038b876103853384612b9e565b92612b9e565b91848d6120d8565b61184b565b61031e565b966103be6103c4916103b86103b38b878c611878565b612610565b906118e7565b9761184b565b610308565b84517f0c1c00a4000000000000000000000000000000000000000000000000000000008152fd5b508482116102ff565b84517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b90503314386102f1565b50903461025b57602060031936011261025b576020928291358152600b845220549051908152f35b503461025b576020918260031936011261025757803560608351610475816115b0565b5261047f816127a0565b508452825280832083805282528083209281519361049c856115b0565b825191828583549182815201928252858220915b868282106104cb57889061023f888861022e818a0382611633565b8354855290930192600192830192016104b0565b838234610523576020600319360112610523578060209273ffffffffffffffffffffffffffffffffffffffff6105136113c8565b1681526006845220549051908152f35b5080fd5b5082346102915781600319360112610291575061054f6020926105486113a5565b90356118f4565b9051908152f35b8382346105235781600319360112610523576020905160038152f35b503461025b5760a060031936011261025b5761058c6113c8565b6105946113a5565b67ffffffffffffffff6044358181116107db576105b4903690870161145d565b9590926064358381116107d7576105ce903690840161145d565b90936084359081116107d3576105e7903690850161145d565b929093891561077657828a0361071957838a036106bc57508861061191889a97969594939a611ca1565b9789955b8087106106325760208a8a6103448e8c61062d611503565b611e23565b909192939495996106448b8389612823565b8061064e916125bc565b9050610659916118e7565b99898161066781858b612823565b61067282878b612823565b61067d83898b612823565b91366106889161168c565b90366106939161168c565b913661069e9161168c565b926106a8946120d8565b6106b19061184b565b959493929190610615565b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601060248201527f726563697069656e74206c656e677468000000000000000000000000000000006044820152fd5b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600d60248201527f73656e646572206c656e677468000000000000000000000000000000000000006044820152fd5b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600b60248201527f6368756e6b20636f756e740000000000000000000000000000000000000000006044820152fd5b8980fd5b8880fd5b8680fd5b8382346105235781600319360112610523576020905167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50903461025b57602060031936011261025b5760209282913581526008845220549051908152f35b8382346105235761088c61023f9273ffffffffffffffffffffffffffffffffffffffff83610879366113eb565b94919390931681526006602052206126f5565b905191829182611422565b838234610523576108a73661134d565b9190606082516108b6816115b0565b526108c9836108c4836127a0565b6127e4565b8352602091600283528184209084528252808320928151936108ea856115b0565b825191828583549182815201928252858220915b8682821061091957889061023f888861022e818a0382611633565b8354855290930192600192830192016108fe565b50903461025b57602060031936011261025b5760209282913581526009845220549051908152f35b508234610291576020600319360112610291575061054f60209235611567565b509190346105235760206003193601126105235760209161023f91359084519061099e826115fb565b8082528085830152808683015280606083015280608083015260a082015260c08551916109ca836115b0565b6060835201526109d9816127a0565b6109e43382846122b0565b9173ffffffffffffffffffffffffffffffffffffffff9586835460081c1660026001850154940154938251988994610a1b866115fb565b8552888501928352838501908083168252606086019167ffffffffffffffff9586809560a01c168452826080890196868b16885260c060a08b019a63ffffffff809d861c168c52019b8c5282519e8f9e8f91818352519101525116908c0152511660608a015251166080880152511660a0860152511660c08401525160e080840152610100830190611368565b50903461025b578160031936011261025b576020928291610ac76113a5565b903582526007855273ffffffffffffffffffffffffffffffffffffffff83832091168252845220549051908152f35b8382346105235761023f90610b2c610b0d3661134d565b9060608451610b1b816115b0565b52610b25816127a0565b3391612435565b9051918291602083526020830190611368565b503461025b5760209182600319360112610257573560608251610b61816115b0565b52610b6b816127a0565b50835260038252808320838052825280832092815193610b8a856115b0565b825191828583549182815201928252858220915b86828210610bb957889061023f888861022e818a0382611633565b835485529093019260019283019201610b9e565b83823461052357816003193601126105235760209061054f611503565b503461025b5760031992818436011261029157610c056113c8565b936024359367ffffffffffffffff91828611610257578490868301963603011261025b5773ffffffffffffffffffffffffffffffffffffffff86168015908115610cd7575b50610cb057509361034491602095610c9b610c6487612610565b93610c7d610368610c758333611b35565b993690611750565b610c94610c8982612a94565b926103853384612b9e565b9189611e78565b85825260018752600285339320015416611e23565b83517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b9050331438610c4a565b503461025b57610cf03661134d565b9060608351610cfe816115b0565b52610d0c826108c4836127a0565b84526020928352818420908452825280832092815193610d2b856115b0565b825191828583549182815201928252858220915b86828210610d5a57889061023f888861022e818a0382611633565b835485529093019260019283019201610d3f565b503461025b576003199260a08436011261029157610d8a6113c8565b92610d936113a5565b6044359067ffffffffffffffff938483116102915760208884860194360301126102915760643597858911610523576020818a3603011261052357608435958611610523576020908636030112610291575060209692610e31610e276103449694610e20610e04610e3a968c611b35565b9a610e0d611503565b90610e1884806125bc565b929050611e23565b369061168c565b943690830161168c565b9236910161168c565b9185611e78565b8382346105235781600319360112610523576020905167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50903461025b57602060031936011261025b576020928291358152600a845220549051908152f35b5082346102915760206003193601126102915750610ece608092356127a0565b9073ffffffffffffffffffffffffffffffffffffffff90600282845460081c169360018101549067ffffffffffffffff9283910154169383519586528116602086015260a01c16908301526060820152f35b838234610523576020600319360112610523578060209273ffffffffffffffffffffffffffffffffffffffff610f546113c8565b1681526005845220549051908152f35b50903461025b578160031936011261025b578160209360ff92610f856113a5565b90358252600c865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50903461025b576020908160031936011261025757926080933581526008825282812054926009835280822054600a8452818084205493600b865220549382519586528501528301526060820152f35b8382346105235761088c61023f9273ffffffffffffffffffffffffffffffffffffffff83611034366113eb565b94919390931681526005602052206126f5565b8382346105235781600319360112610523578060209151908152f35b50829034610523576020928360031936011261025b57803590611084611503565b82101561121457818452600c8552828420338552855260ff83852054166111ed576110af33836118f4565b9384156111c55782815260078652838120338252865283812054838252600c8752848220338352875284822060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055838252600b87526111198583209182546118e7565b9055828152600a86528381206111308682546118e7565b90558080808088335af1903d156111bf573d9061114c82611716565b9161115987519384611633565b8252873d92013e5b1561119857508151908382527f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7853393a351908152f35b82517ff4b3b1bc000000000000000000000000000000000000000000000000000000008152fd5b50611161565b5082517f969bf728000000000000000000000000000000000000000000000000000000008152fd5b82517f646cf558000000000000000000000000000000000000000000000000000000008152fd5b82517ff074b153000000000000000000000000000000000000000000000000000000008152fd5b5090602060031936011261025b5780359134156112955761125a611503565b831061126f578361126c343386611a37565b80f35b517f9096d3da000000000000000000000000000000000000000000000000000000008152fd5b517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b9250503461025b576060916112cf3661134d565b9390916112db816115b0565b526112e9836108c4836127a0565b83526020916003835281842090845282528083209281519361130a856115b0565b825191828583549182815201928252858220915b8682821061133957889061023f888861022e818a0382611633565b83548552909301926001928301920161131e565b6003196040910112611363576004359060243590565b600080fd5b60209081604081850192519482815285518094520193019160005b828110611391575050505090565b835185529381019392810192600101611383565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361136357565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361136357565b60031960609101126113635760043573ffffffffffffffffffffffffffffffffffffffff8116810361136357906024359060443590565b6020908160408183019282815285518094520193019160005b828110611449575050505090565b83518552938101939281019260010161143b565b9181601f840112156113635782359167ffffffffffffffff8311611363576020808501948460051b01011161136357565b9190820391821161149b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81156114d4570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61156467ffffffffffffffff61153b817f0000000000000000000000000000000000000000000000000000000000000000164261148e565b907f000000000000000000000000000000000000000000000000000000000000000016906114ca565b90565b67ffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016918281106115a8576115649261153b9161148e565b505050600090565b6020810190811067ffffffffffffffff8211176115cc57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176115cc57604052565b6040810190811067ffffffffffffffff8211176115cc57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176115cc57604052565b67ffffffffffffffff81116115cc5760051b60200190565b91906020808483031261136357604051906116a6826115b0565b819480359067ffffffffffffffff821161136357019280601f850112156113635783356116d281611674565b946116e06040519687611633565b818652838087019260051b820101928311611363578301905b828210611707575050505052565b813581529083019083016116f9565b67ffffffffffffffff81116115cc57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b919091604090818185031261136357815161176a81611617565b809482359367ffffffffffffffff94858111611363578261178c91860161168c565b8352602093848101359086821161136357019180601f84011215611363578235906117b682611674565b966117c384519889611633565b828852868089019360051b8601019482861161136357878101935b8685106117f057505050505050500152565b843583811161136357820184603f8201121561136357898101359161181483611716565b61182089519182611633565b838152868985850101116113635760008c8581968c83970183860137830101528152019401936117de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461149b5760010190565b91908110156118b85760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc181360301821215611363570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190820180921161149b57565b91906118fe611503565b83108015906119fd575b6119f65760009280845260206007815260409273ffffffffffffffffffffffffffffffffffffffff84872091168652815282852054918552600881528285205490600981528386205493831580156119ee575b80156119e6575b6119df578161198491600b61198a959452600a818a205492528820549261148e565b9361148e565b8282146119d9578181029181830414901517156119ac576115649293506114ca565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b93505050565b5050505050565b508415611962565b50821561195b565b5060009150565b5082600052600c602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff60406000205416611908565b908215611a9c57602073ffffffffffffffffffffffffffffffffffffffff7f0d974655de5c0c4519288c05bb8c1a014366e199206efc12b550ca5b684af6689284600052600983526040600020611a8f8782546118e7565b90556040519586521693a3565b60046040517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b80548210156118b85760005260206000200190600090565b8054680100000000000000008110156115cc57611b0091600182018155611ac6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829392549160031b92831b921b1916179055565b9190611b3f611503565b926000937f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b6020865492611b728461184b565b8855611c98846040819a8281526001865260028282208a600182547fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff8095169f60081b16911617178255600182019c169b80548d7fffffffff000000000000000000000000000000000000000000000000000000007bffffffffffffffff00000000000000000000000000000000000000004260a01b16921617179055016801000000000000000067ffffffffffffffff87167fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008354161717905588815260068652611c8b83838320611ade565b8981526005865220611ade565b604051908152a4565b929192611cac611503565b60009081548092611cbc8261184b565b81558197828252600160205260408220805473ffffffffffffffffffffffffffffffffffffffff908189169860081b74ffffffffffffffffffffffffffffffffffffffff0016907fffffffffffffffffffffff00000000000000000000000000000000000000000016176001178255600182019816978054894260a01b7bffffffffffffffff000000000000000000000000000000000000000016917fffffffff0000000000000000000000000000000000000000000000000000000016171790556002019081549060401b6bffffffff0000000000000000169067ffffffffffffffff8616907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016171790558481526006602052816040822090611de091611ade565b85815260056020526040902090611df691611ade565b60405190815260207f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b91a4565b611e7491604091600091818352600760205273ffffffffffffffffffffffffffffffffffffffff84842091168352602052828220611e628682546118e7565b905581526008602052209182546118e7565b9055565b92919092600091818352602091600283526040908185208580528452818520965192835167ffffffffffffffff988982116120445768010000000000000000958683116120ab5787908254848455808510612083575b5001908852868820885b838110612071575050505081865260038552828620868052855282862090519081519189831161204457858311612044578690825484845580851061201c575b5001908752858720875b83811061200a5750505050845260048352808420848052835283209351908151958611611fdd578511611fb05781908454868655808710611f88575b5001928252808220915b848110611f76575050505050565b83518382015592810192600101611f68565b8585528683862091820191015b818110611fa25750611f5e565b858155849350600101611f95565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b82518282015591870191600101611f22565b838a5284838b2091820191015b8181106120365750611f18565b8a8155899350600101612029565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b82518282015591880191600101611ed8565b838b5284838c2091820191015b81811061209d5750611ece565b8b81558a9350600101612090565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b919392600092808452602092600284526040918286208287528552828620975193845167ffffffffffffffff998a82116120ab576801000000000000000096878311612283578890825484845580851061225b575b5001908952878920895b83811061224957505050508187526003865283872083885286528387209051908151918a83116120ab578683116120ab5787908254848455808510612221575b5001908852868820885b83811061220f5750505050855260048452818520908552835283209351908151958611611fdd578511611fb057819084548686558087106121e7575b5001928252808220915b8481106121d5575050505050565b835183820155928101926001016121c7565b8585528683862091820191015b81811061220157506121bd565b8581558493506001016121f4565b82518282015591880191600101612181565b838b5284838c2091820191015b81811061223b5750612177565b8b81558a935060010161222e565b82518282015591890191600101612137565b838c5284838d2091820191015b818110612275575061212d565b8c81558b9350600101612268565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60409283516122be816115b0565b606090526002830154841c63ffffffff161561240c5773ffffffffffffffffffffffffffffffffffffffff8080855460081c16921691821461239e57600180940154161461232f57600483517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b600090815260209060048252838120818052825283812090845194612353866115b0565b5193848486958554928381520194845280842093905b82821061238657505050505090612381910382611633565b815290565b84548652879650948501949383019390830190612369565b505090506000908152602090600382528281208180528252828120918351936123c6856115b0565b5192838285938354928381520192855280852094905b8282106123f25750505061238192500382611633565b8554845260019586019587955093810193909101906123dc565b600484517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b909291926040938451612447816115b0565b6060905261245584836127e4565b73ffffffffffffffffffffffffffffffffffffffff8080845460081c16921691821461251c5760018093015416146124b057600484517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b91906000908152602091600483528482209082528252838120908451946124d6866115b0565b5193848486958554928381520194845280842093905b82821061250457505050505090612381910382611633565b845486528796509485019493830193908301906124ec565b505050600090815260209160038352838220908252825282812091835193612543856115b0565b5192838285938354928381520192855280852094905b82821061256f5750505061238192500382611633565b855484526001958601958795509381019390910190612559565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215611363570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215611363570180359067ffffffffffffffff821161136357602001918160051b3603831361136357565b9061262461261e8380612589565b806125bc565b928315915083908215612676575b50811561266b575b5061264157565b60046040517fd29524a2000000000000000000000000000000000000000000000000000000008152fd5b60039150113861263a565b61268691925060208101906125bc565b90508114159038612632565b9061269c82611674565b6126a96040519182611633565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06126d78294611674565b0190602036910137565b80518210156118b85760209160051b010190565b929190835491828210801590612798575b61277b5761271490826118e7565b91808311612773575b5061273061272b828461148e565b612692565b93815b8381106127405750505050565b8061274e61276e9284611ac6565b90549060031b1c612768612762868461148e565b896126e1565b5261184b565b612733565b91503861271d565b505050905060405161278c816115b0565b60008152600036813790565b508015612706565b600052600160205260406000209060ff825416156127ba57565b60046040517f28915ac7000000000000000000000000000000000000000000000000000000008152fd5b6002015460401c63ffffffff1611156127f957565b60046040517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b908210156118b8576115649160051b810190612589565b604060608151612849816115b0565b526020808301805151918285515151036129a25761286683611674565b9461287385519687611633565b8386527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06128a085611674565b0136838801378451956128b2876115b0565b865284516128bf81611617565b6000938482528382019260608452855b8781106128e25750505050505050505090565b806128f261293a928451516126e1565b518552866129018286516126e1565b5180885286518c5194859283927fe4f36e10000000000000000000000000000000000000000000000000000000008452600484016129ff565b03818b60645af18015612998578890612963575b61295e9250612768828d516126e1565b6128cf565b50908681813d8311612991575b61297a8183611633565b8101031261298d579061295e915161294e565b8780fd5b503d612970565b8a513d8a823e3d90fd5b6064908451907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f54455854000000006044820152fd5b909291927f04000000000000000000000000000000000000000000000000000000000000008252602090818301526060604083015283519384606084015260005b858110612a80575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006080809697860101520116010190565b818101830151848201608001528201612a40565b604060608151612aa3816115b0565b52815151612ab081612692565b92825193612abd856115b0565b845260005b828110612ad0575050505090565b612adb8183516126e1565b51908451917fc50c9c020000000000000000000000000000000000000000000000000000000083527f0400000000000000000000000000000000000000000000000000000000000000600484015260248301526020918281604481600060645af1908115612b9357600091612b61575b50612b5c92506127688288516126e1565b612ac2565b919282813d8311612b8c575b612b778183611633565b81010312610291575090612b5c915138612b4b565b503d612b6d565b86513d6000823e3d90fd5b90604090815190612bae826115b0565b606080925283515191612bc083612692565b94845195612bcd876115b0565b865260005b848110612be25750505050505090565b612bed8183516126e1565b5190612c6387519260209384917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000089891b168383015260148252612c3082611617565b8a5193849283927f3c6f0e68000000000000000000000000000000000000000000000000000000008452600484016129ff565b0381600060645af1908115612cc257600091612c90575b50612c8b9250612768828a516126e1565b612bd2565b919282813d8311612cbb575b612ca68183611633565b81010312610291575090612c8b915138612c7a565b503d612c9c565b88513d6000823e3d90fdfea164736f6c6343000813000a";
1105
+ "0x60c034620000a7576001600160401b0390601f62002d9b38819003918201601f191683019184831184841017620000ac57808492602094604052833981010312620000a75751818116808203620000a757156200009557608052421660a052604051612cd89081620000c38239608051818181610e62015261153e015260a0518181816108000152818161151501526115730152f35b6040516368f5f8f160e11b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049081361015610036575b505050361561002057600080fd5b61003461002b611503565b34903390611a37565b005b600092833560e01c90816308062991146112bb5750806308b70ef21461123b5780630962ef79146110635780630d1db2c6146110475780631e6f03e714611007578063261ca8c414610fb75780632be51efe14610f6457806330da5f9c14610f205780633e8e5c7314610eae5780634ef5b36614610e865780634ff0876a14610e4157806352ba6d8f14610d6e578063539aa21f14610ce15780635aa0f53114610bea5780637667180814610bcd5780637885e47414610b3f578063792f54ff14610af657806379c1ef4914610aa857806386f79edb146109755780639631c2d514610955578063a622d5891461092d578063b12cf2cc14610897578063baddc3df1461084c578063bbd8ecd014610824578063cacf66ab146107df578063cc04292714610572578063cddd640714610556578063d18df53c14610527578063d6d8a23a146104df578063da8d9bed14610452578063db5163bb1461042a578063e768797e14610294578063e8738d031461025f5763f354830a03610012573461025b57602091826003193601126102575735606082516101d6816115b0565b526101e08161279e565b508352600282528083208380528252808320928151936101ff856115b0565b825191828583549182815201928252858220915b8682821061024357889061023f888861022e818a0382611633565b845251928284938452830190611368565b0390f35b835485529093019260019283019201610213565b8380fd5b8280fd5b508234610291576020600319360112610291575063ffffffff60026102866020943561279e565b01548251921c168152f35b80fd5b503461025b578060031936011261025b576102ad6113c8565b9267ffffffffffffffff60243581811161025b576102ce903690860161145d565b909473ffffffffffffffffffffffffffffffffffffffff87168015908115610420575b506103f957811580156103f0575b6103c957508295835b82811061039d575061031b828233611ca1565b95845b83811061034a57602088886103448c8a8a85825260018752600285339320015416611e23565b51908152f35b6103989061039361036d61036836610363858a89611878565b611750565b612838565b61037681612a92565b9061038b876103853384612b9c565b92612b9c565b91848d6120d8565b61184b565b61031e565b966103be6103c4916103b86103b38b878c611878565b61260e565b906118e7565b9761184b565b610308565b84517f0c1c00a4000000000000000000000000000000000000000000000000000000008152fd5b508482116102ff565b84517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b90503314386102f1565b50903461025b57602060031936011261025b576020928291358152600b845220549051908152f35b503461025b576020918260031936011261025757803560608351610475816115b0565b5261047f8161279e565b508452825280832083805282528083209281519361049c856115b0565b825191828583549182815201928252858220915b868282106104cb57889061023f888861022e818a0382611633565b8354855290930192600192830192016104b0565b838234610523576020600319360112610523578060209273ffffffffffffffffffffffffffffffffffffffff6105136113c8565b1681526006845220549051908152f35b5080fd5b5082346102915781600319360112610291575061054f6020926105486113a5565b90356118f4565b9051908152f35b8382346105235781600319360112610523576020905160038152f35b503461025b5760a060031936011261025b5761058c6113c8565b6105946113a5565b67ffffffffffffffff6044358181116107db576105b4903690870161145d565b9590926064358381116107d7576105ce903690840161145d565b90936084359081116107d3576105e7903690850161145d565b929093891561077657828a0361071957838a036106bc57508861061191889a97969594939a611ca1565b9789955b8087106106325760208a8a6103448e8c61062d611503565b611e23565b909192939495996106448b8389612821565b8061064e916125ba565b9050610659916118e7565b99898161066781858b612821565b61067282878b612821565b61067d83898b612821565b91366106889161168c565b90366106939161168c565b913661069e9161168c565b926106a8946120d8565b6106b19061184b565b959493929190610615565b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601060248201527f726563697069656e74206c656e677468000000000000000000000000000000006044820152fd5b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600d60248201527f73656e646572206c656e677468000000000000000000000000000000000000006044820152fd5b60649060208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600b60248201527f6368756e6b20636f756e740000000000000000000000000000000000000000006044820152fd5b8980fd5b8880fd5b8680fd5b8382346105235781600319360112610523576020905167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50903461025b57602060031936011261025b5760209282913581526008845220549051908152f35b8382346105235761088c61023f9273ffffffffffffffffffffffffffffffffffffffff83610879366113eb565b94919390931681526006602052206126f3565b905191829182611422565b838234610523576108a73661134d565b9190606082516108b6816115b0565b526108c9836108c48361279e565b6127e2565b8352602091600283528184209084528252808320928151936108ea856115b0565b825191828583549182815201928252858220915b8682821061091957889061023f888861022e818a0382611633565b8354855290930192600192830192016108fe565b50903461025b57602060031936011261025b5760209282913581526009845220549051908152f35b508234610291576020600319360112610291575061054f60209235611567565b509190346105235760206003193601126105235760209161023f91359084519061099e826115fb565b8082528085830152808683015280606083015280608083015260a082015260c08551916109ca836115b0565b6060835201526109d98161279e565b6109e43382846122b0565b9173ffffffffffffffffffffffffffffffffffffffff9586835460081c1660026001850154940154938251988994610a1b866115fb565b8552888501928352838501908083168252606086019167ffffffffffffffff9586809560a01c168452826080890196868b16885260c060a08b019a63ffffffff809d861c168c52019b8c5282519e8f9e8f91818352519101525116908c0152511660608a015251166080880152511660a0860152511660c08401525160e080840152610100830190611368565b50903461025b578160031936011261025b576020928291610ac76113a5565b903582526007855273ffffffffffffffffffffffffffffffffffffffff83832091168252845220549051908152f35b8382346105235761023f90610b2c610b0d3661134d565b9060608451610b1b816115b0565b52610b258161279e565b3391612434565b9051918291602083526020830190611368565b503461025b5760209182600319360112610257573560608251610b61816115b0565b52610b6b8161279e565b50835260038252808320838052825280832092815193610b8a856115b0565b825191828583549182815201928252858220915b86828210610bb957889061023f888861022e818a0382611633565b835485529093019260019283019201610b9e565b83823461052357816003193601126105235760209061054f611503565b503461025b5760031992818436011261029157610c056113c8565b936024359367ffffffffffffffff91828611610257578490868301963603011261025b5773ffffffffffffffffffffffffffffffffffffffff86168015908115610cd7575b50610cb057509361034491602095610c9b610c648761260e565b93610c7d610368610c758333611b35565b993690611750565b610c94610c8982612a92565b926103853384612b9c565b9189611e78565b85825260018752600285339320015416611e23565b83517f9c8d2cd2000000000000000000000000000000000000000000000000000000008152fd5b9050331438610c4a565b503461025b57610cf03661134d565b9060608351610cfe816115b0565b52610d0c826108c48361279e565b84526020928352818420908452825280832092815193610d2b856115b0565b825191828583549182815201928252858220915b86828210610d5a57889061023f888861022e818a0382611633565b835485529093019260019283019201610d3f565b503461025b576003199260a08436011261029157610d8a6113c8565b92610d936113a5565b6044359067ffffffffffffffff938483116102915760208884860194360301126102915760643597858911610523576020818a3603011261052357608435958611610523576020908636030112610291575060209692610e31610e276103449694610e20610e04610e3a968c611b35565b9a610e0d611503565b90610e1884806125ba565b929050611e23565b369061168c565b943690830161168c565b9236910161168c565b9185611e78565b8382346105235781600319360112610523576020905167ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50903461025b57602060031936011261025b576020928291358152600a845220549051908152f35b5082346102915760206003193601126102915750610ece6080923561279e565b9073ffffffffffffffffffffffffffffffffffffffff90600282845460081c169360018101549067ffffffffffffffff9283910154169383519586528116602086015260a01c16908301526060820152f35b838234610523576020600319360112610523578060209273ffffffffffffffffffffffffffffffffffffffff610f546113c8565b1681526005845220549051908152f35b50903461025b578160031936011261025b578160209360ff92610f856113a5565b90358252600c865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50903461025b576020908160031936011261025757926080933581526008825282812054926009835280822054600a8452818084205493600b865220549382519586528501528301526060820152f35b8382346105235761088c61023f9273ffffffffffffffffffffffffffffffffffffffff83611034366113eb565b94919390931681526005602052206126f3565b8382346105235781600319360112610523578060209151908152f35b50829034610523576020928360031936011261025b57803590611084611503565b82101561121457818452600c8552828420338552855260ff83852054166111ed576110af33836118f4565b9384156111c55782815260078652838120338252865283812054838252600c8752848220338352875284822060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055838252600b87526111198583209182546118e7565b9055828152600a86528381206111308682546118e7565b90558080808088335af1903d156111bf573d9061114c82611716565b9161115987519384611633565b8252873d92013e5b1561119857508151908382527f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7853393a351908152f35b82517ff4b3b1bc000000000000000000000000000000000000000000000000000000008152fd5b50611161565b5082517f969bf728000000000000000000000000000000000000000000000000000000008152fd5b82517f646cf558000000000000000000000000000000000000000000000000000000008152fd5b82517ff074b153000000000000000000000000000000000000000000000000000000008152fd5b5090602060031936011261025b5780359134156112955761125a611503565b831061126f578361126c343386611a37565b80f35b517f9096d3da000000000000000000000000000000000000000000000000000000008152fd5b517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b9250503461025b576060916112cf3661134d565b9390916112db816115b0565b526112e9836108c48361279e565b83526020916003835281842090845282528083209281519361130a856115b0565b825191828583549182815201928252858220915b8682821061133957889061023f888861022e818a0382611633565b83548552909301926001928301920161131e565b6003196040910112611363576004359060243590565b600080fd5b60209081604081850192519482815285518094520193019160005b828110611391575050505090565b835185529381019392810192600101611383565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361136357565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361136357565b60031960609101126113635760043573ffffffffffffffffffffffffffffffffffffffff8116810361136357906024359060443590565b6020908160408183019282815285518094520193019160005b828110611449575050505090565b83518552938101939281019260010161143b565b9181601f840112156113635782359167ffffffffffffffff8311611363576020808501948460051b01011161136357565b9190820391821161149b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81156114d4570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61156467ffffffffffffffff61153b817f0000000000000000000000000000000000000000000000000000000000000000164261148e565b907f000000000000000000000000000000000000000000000000000000000000000016906114ca565b90565b67ffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016918281106115a8576115649261153b9161148e565b505050600090565b6020810190811067ffffffffffffffff8211176115cc57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176115cc57604052565b6040810190811067ffffffffffffffff8211176115cc57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176115cc57604052565b67ffffffffffffffff81116115cc5760051b60200190565b91906020808483031261136357604051906116a6826115b0565b819480359067ffffffffffffffff821161136357019280601f850112156113635783356116d281611674565b946116e06040519687611633565b818652838087019260051b820101928311611363578301905b828210611707575050505052565b813581529083019083016116f9565b67ffffffffffffffff81116115cc57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b919091604090818185031261136357815161176a81611617565b809482359367ffffffffffffffff94858111611363578261178c91860161168c565b8352602093848101359086821161136357019180601f84011215611363578235906117b682611674565b966117c384519889611633565b828852868089019360051b8601019482861161136357878101935b8685106117f057505050505050500152565b843583811161136357820184603f8201121561136357898101359161181483611716565b61182089519182611633565b838152868985850101116113635760008c8581968c83970183860137830101528152019401936117de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461149b5760010190565b91908110156118b85760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc181360301821215611363570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190820180921161149b57565b91906118fe611503565b83108015906119fd575b6119f65760009280845260206007815260409273ffffffffffffffffffffffffffffffffffffffff84872091168652815282852054918552600881528285205490600981528386205493831580156119ee575b80156119e6575b6119df578161198491600b61198a959452600a818a205492528820549261148e565b9361148e565b8282146119d9578181029181830414901517156119ac576115649293506114ca565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b93505050565b5050505050565b508415611962565b50821561195b565b5060009150565b5082600052600c602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff60406000205416611908565b908215611a9c57602073ffffffffffffffffffffffffffffffffffffffff7f0d974655de5c0c4519288c05bb8c1a014366e199206efc12b550ca5b684af6689284600052600983526040600020611a8f8782546118e7565b90556040519586521693a3565b60046040517f7c946ed7000000000000000000000000000000000000000000000000000000008152fd5b80548210156118b85760005260206000200190600090565b8054680100000000000000008110156115cc57611b0091600182018155611ac6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829392549160031b92831b921b1916179055565b9190611b3f611503565b926000937f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b6020865492611b728461184b565b8855611c98846040819a8281526001865260028282208a600182547fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff8095169f60081b16911617178255600182019c169b80548d7fffffffff000000000000000000000000000000000000000000000000000000007bffffffffffffffff00000000000000000000000000000000000000004260a01b16921617179055016801000000000000000067ffffffffffffffff87167fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008354161717905588815260068652611c8b83838320611ade565b8981526005865220611ade565b604051908152a4565b929192611cac611503565b60009081548092611cbc8261184b565b81558197828252600160205260408220805473ffffffffffffffffffffffffffffffffffffffff908189169860081b74ffffffffffffffffffffffffffffffffffffffff0016907fffffffffffffffffffffff00000000000000000000000000000000000000000016176001178255600182019816978054894260a01b7bffffffffffffffff000000000000000000000000000000000000000016917fffffffff0000000000000000000000000000000000000000000000000000000016171790556002019081549060401b6bffffffff0000000000000000169067ffffffffffffffff8616907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016171790558481526006602052816040822090611de091611ade565b85815260056020526040902090611df691611ade565b60405190815260207f048fe7fb7f676173adbf5a90abbccd6ac9039b2daa74c81dfa961668b5b9305b91a4565b611e7491604091600091818352600760205273ffffffffffffffffffffffffffffffffffffffff84842091168352602052828220611e628682546118e7565b905581526008602052209182546118e7565b9055565b92919092600091818352602091600283526040908185208580528452818520965192835167ffffffffffffffff988982116120445768010000000000000000958683116120ab5787908254848455808510612083575b5001908852868820885b838110612071575050505081865260038552828620868052855282862090519081519189831161204457858311612044578690825484845580851061201c575b5001908752858720875b83811061200a5750505050845260048352808420848052835283209351908151958611611fdd578511611fb05781908454868655808710611f88575b5001928252808220915b848110611f76575050505050565b83518382015592810192600101611f68565b8585528683862091820191015b818110611fa25750611f5e565b858155849350600101611f95565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b82518282015591870191600101611f22565b838a5284838b2091820191015b8181106120365750611f18565b8a8155899350600101612029565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b82518282015591880191600101611ed8565b838b5284838c2091820191015b81811061209d5750611ece565b8b81558a9350600101612090565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b919392600092808452602092600284526040918286208287528552828620975193845167ffffffffffffffff998a82116120ab576801000000000000000096878311612283578890825484845580851061225b575b5001908952878920895b83811061224957505050508187526003865283872083885286528387209051908151918a83116120ab578683116120ab5787908254848455808510612221575b5001908852868820885b83811061220f5750505050855260048452818520908552835283209351908151958611611fdd578511611fb057819084548686558087106121e7575b5001928252808220915b8481106121d5575050505050565b835183820155928101926001016121c7565b8585528683862091820191015b81811061220157506121bd565b8581558493506001016121f4565b82518282015591880191600101612181565b838b5284838c2091820191015b81811061223b5750612177565b8b81558a935060010161222e565b82518282015591890191600101612137565b838c5284838d2091820191015b818110612275575061212d565b8c81558b9350600101612268565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b604092606084516122c0816115b0565b5263ffffffff6002840154851c161561240b5773ffffffffffffffffffffffffffffffffffffffff8080855460081c16921691821461239d57600180940154161461232e57600483517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b600090815260209060048252838120818052825283812090845194612352866115b0565b5193848486958554928381520194845280842093905b82821061238557505050505090612380910382611633565b815290565b84548652879650948501949383019390830190612368565b505090506000908152602090600382528281208180528252828120918351936123c5856115b0565b5192838285938354928381520192855280852094905b8282106123f15750505061238092500382611633565b8554845260019586019587955093810193909101906123db565b600484517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b9092919260409360608551612448816115b0565b5261245384836127e2565b73ffffffffffffffffffffffffffffffffffffffff8080845460081c16921691821461251a5760018093015416146124ae57600484517fba7b239d000000000000000000000000000000000000000000000000000000008152fd5b91906000908152602091600483528482209082528252838120908451946124d4866115b0565b5193848486958554928381520194845280842093905b82821061250257505050505090612380910382611633565b845486528796509485019493830193908301906124ea565b505050600090815260209160038352838220908252825282812091835193612541856115b0565b5192838285938354928381520192855280852094905b82821061256d5750505061238092500382611633565b855484526001958601958795509381019390910190612557565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215611363570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215611363570180359067ffffffffffffffff821161136357602001918160051b3603831361136357565b9061262261261c8380612587565b806125ba565b928315915083908215612674575b508115612669575b5061263f57565b60046040517fd29524a2000000000000000000000000000000000000000000000000000000008152fd5b600391501138612638565b61268491925060208101906125ba565b90508114159038612630565b9061269a82611674565b6126a76040519182611633565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06126d58294611674565b0190602036910137565b80518210156118b85760209160051b010190565b929190835491828210801590612796575b6127795761271290826118e7565b91808311612771575b5061272e612729828461148e565b612690565b93815b83811061273e5750505050565b8061274c61276c9284611ac6565b90549060031b1c612766612760868461148e565b896126df565b5261184b565b612731565b91503861271b565b505050905060405161278a816115b0565b60008152600036813790565b508015612704565b600052600160205260406000209060ff825416156127b857565b60046040517f28915ac7000000000000000000000000000000000000000000000000000000008152fd5b6002015460401c63ffffffff1611156127f757565b60046040517fedf67a62000000000000000000000000000000000000000000000000000000008152fd5b908210156118b8576115649160051b810190612587565b604060608151612847816115b0565b526020808301805151918285515151036129a05761286483611674565b9461287185519687611633565b8386527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061289e85611674565b0136838801378451956128b0876115b0565b865284516128bd81611617565b6000938482528382019260608452855b8781106128e05750505050505050505090565b806128f0612938928451516126df565b518552866128ff8286516126df565b5180885286518c5194859283927fe4f36e10000000000000000000000000000000000000000000000000000000008452600484016129fd565b03818b60645af18015612996578890612961575b61295c9250612766828d516126df565b6128cd565b50908681813d831161298f575b6129788183611633565b8101031261298b579061295c915161294c565b8780fd5b503d61296e565b8a513d8a823e3d90fd5b6064908451907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f54455854000000006044820152fd5b909291927f04000000000000000000000000000000000000000000000000000000000000008252602090818301526060604083015283519384606084015260005b858110612a7e575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006080809697860101520116010190565b818101830151848201608001528201612a3e565b604060608151612aa1816115b0565b52815151612aae81612690565b92825193612abb856115b0565b845260005b828110612ace575050505090565b612ad98183516126df565b51908451917fc50c9c020000000000000000000000000000000000000000000000000000000083527f0400000000000000000000000000000000000000000000000000000000000000600484015260248301526020918281604481600060645af1908115612b9157600091612b5f575b50612b5a92506127668288516126df565b612ac0565b919282813d8311612b8a575b612b758183611633565b81010312610291575090612b5a915138612b49565b503d612b6b565b86513d6000823e3d90fd5b90604090815190612bac826115b0565b606080925283515191612bbe83612690565b94845195612bcb876115b0565b865260005b848110612be05750505050505090565b612beb8183516126df565b5190612c6187519260209384917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000089891b168383015260148252612c2e82611617565b8a5193849283927f3c6f0e68000000000000000000000000000000000000000000000000000000008452600484016129fd565b0381600060645af1908115612cc057600091612c8e575b50612c899250612766828a516126df565b612bd0565b919282813d8311612cb9575b612ca48183611633565b81010312610291575090612c89915138612c78565b503d612c9a565b88513d6000823e3d90fdfea164736f6c6343000814000a";
1106
1106
 
1107
1107
  type PrivateMessagingHarnessConstructorParams =
1108
1108
  | [signer?: Signer]
@@ -41,6 +41,92 @@ const _abi = [
41
41
  stateMutability: "nonpayable",
42
42
  type: "constructor",
43
43
  },
44
+ {
45
+ inputs: [
46
+ {
47
+ internalType: "address",
48
+ name: "spender",
49
+ type: "address",
50
+ },
51
+ {
52
+ internalType: "uint256",
53
+ name: "allowance",
54
+ type: "uint256",
55
+ },
56
+ {
57
+ internalType: "uint256",
58
+ name: "needed",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ name: "ERC20InsufficientAllowance",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [
67
+ {
68
+ internalType: "address",
69
+ name: "sender",
70
+ type: "address",
71
+ },
72
+ {
73
+ internalType: "uint256",
74
+ name: "balance",
75
+ type: "uint256",
76
+ },
77
+ {
78
+ internalType: "uint256",
79
+ name: "needed",
80
+ type: "uint256",
81
+ },
82
+ ],
83
+ name: "ERC20InsufficientBalance",
84
+ type: "error",
85
+ },
86
+ {
87
+ inputs: [
88
+ {
89
+ internalType: "address",
90
+ name: "approver",
91
+ type: "address",
92
+ },
93
+ ],
94
+ name: "ERC20InvalidApprover",
95
+ type: "error",
96
+ },
97
+ {
98
+ inputs: [
99
+ {
100
+ internalType: "address",
101
+ name: "receiver",
102
+ type: "address",
103
+ },
104
+ ],
105
+ name: "ERC20InvalidReceiver",
106
+ type: "error",
107
+ },
108
+ {
109
+ inputs: [
110
+ {
111
+ internalType: "address",
112
+ name: "sender",
113
+ type: "address",
114
+ },
115
+ ],
116
+ name: "ERC20InvalidSender",
117
+ type: "error",
118
+ },
119
+ {
120
+ inputs: [
121
+ {
122
+ internalType: "address",
123
+ name: "spender",
124
+ type: "address",
125
+ },
126
+ ],
127
+ name: "ERC20InvalidSpender",
128
+ type: "error",
129
+ },
44
130
  {
45
131
  anonymous: false,
46
132
  inputs: [
@@ -124,7 +210,7 @@ const _abi = [
124
210
  },
125
211
  {
126
212
  internalType: "uint256",
127
- name: "amount",
213
+ name: "value",
128
214
  type: "uint256",
129
215
  },
130
216
  ],
@@ -171,54 +257,6 @@ const _abi = [
171
257
  stateMutability: "view",
172
258
  type: "function",
173
259
  },
174
- {
175
- inputs: [
176
- {
177
- internalType: "address",
178
- name: "spender",
179
- type: "address",
180
- },
181
- {
182
- internalType: "uint256",
183
- name: "subtractedValue",
184
- type: "uint256",
185
- },
186
- ],
187
- name: "decreaseAllowance",
188
- outputs: [
189
- {
190
- internalType: "bool",
191
- name: "",
192
- type: "bool",
193
- },
194
- ],
195
- stateMutability: "nonpayable",
196
- type: "function",
197
- },
198
- {
199
- inputs: [
200
- {
201
- internalType: "address",
202
- name: "spender",
203
- type: "address",
204
- },
205
- {
206
- internalType: "uint256",
207
- name: "addedValue",
208
- type: "uint256",
209
- },
210
- ],
211
- name: "increaseAllowance",
212
- outputs: [
213
- {
214
- internalType: "bool",
215
- name: "",
216
- type: "bool",
217
- },
218
- ],
219
- stateMutability: "nonpayable",
220
- type: "function",
221
- },
222
260
  {
223
261
  inputs: [
224
262
  {
@@ -285,7 +323,7 @@ const _abi = [
285
323
  },
286
324
  {
287
325
  internalType: "uint256",
288
- name: "amount",
326
+ name: "value",
289
327
  type: "uint256",
290
328
  },
291
329
  ],
@@ -314,7 +352,7 @@ const _abi = [
314
352
  },
315
353
  {
316
354
  internalType: "uint256",
317
- name: "amount",
355
+ name: "value",
318
356
  type: "uint256",
319
357
  },
320
358
  ],
@@ -332,7 +370,7 @@ const _abi = [
332
370
  ] as const;
333
371
 
334
372
  const _bytecode =
335
- "0x60a0604052346200033b5762000fd4803803806200001d8162000340565b92833981016060828203126200033b5781516001600160401b03908181116200033b57826200004e91850162000366565b90602092838501518281116200033b576040916200006e91870162000366565b9401519360ff851685036200033b5782518281116200023b576003918254916001958684811c9416801562000330575b888510146200031a578190601f94858111620002c4575b5088908583116001146200025d5760009262000251575b505060001982861b1c191690861b1783555b80519384116200023b5760049586548681811c9116801562000230575b828210146200021b57838111620001d0575b508092851160011462000162575093839491849260009562000156575b50501b92600019911b1c19161790555b608052604051610bfb9081620003d982396080518161053a0152f35b0151935038806200012a565b92919084601f1981168860005285600020956000905b89838310620001b557505050106200019a575b50505050811b0190556200013a565b01519060f884600019921b161c19169055388080806200018b565b85870151895590970196948501948893509081019062000178565b87600052816000208480880160051c82019284891062000211575b0160051c019087905b828110620002045750506200010d565b60008155018790620001f4565b92508192620001eb565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000fb565b634e487b7160e01b600052604160045260246000fd5b015190503880620000cc565b90889350601f19831691876000528a6000209260005b8c828210620002ad575050841162000294575b505050811b018355620000de565b015160001983881b60f8161c1916905538808062000286565b8385015186558c9790950194938401930162000273565b90915085600052886000208580850160051c8201928b861062000310575b918a91869594930160051c01915b82811062000300575050620000b5565b600081558594508a9101620002f0565b92508192620002e2565b634e487b7160e01b600052602260045260246000fd5b93607f16936200009e565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200023b57604052565b919080601f840112156200033b5782516001600160401b0381116200023b576020906200039c601f8201601f1916830162000340565b928184528282870101116200033b5760005b818110620003c457508260009394955001015290565b8581018301518482018401528201620003ae56fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde03146106b757508163095ea7b31461068d57816318160ddd1461066e57816323b872dd1461055e578163313ce5671461052057816339509351146104c457816340c10f19146103da57816370a082311461039757816395d89b4114610219578163a457c2d71461013157508063a9059cbb146101015763dd62ed3e146100a957600080fd5b346100fd57806003193601126100fd57806020926100c56107e3565b6100cd61080b565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b50346100fd57806003193601126100fd5760209061012a6101206107e3565b602435903361086a565b5160018152f35b9050823461021657826003193601126102165761014c6107e3565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff861682526020522054908282106101935760208561012a8585038733610a79565b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b8383346100fd57816003193601126100fd57805190828454600181811c9080831692831561038d575b602093848410811461036157838852879594939291811561032457506001146102c6575b50505003601f01601f191682019267ffffffffffffffff84118385101761029a575082918261029692528261079b565b0390f35b806041867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8888529193925086917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061030e5750505090601f1992601f92820101918193610266565b80548885018701528794509285019281016102f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016848701525050151560051b830101905081601f601f19610266565b60248960228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b91607f1691610242565b5050346100fd5760206003193601126100fd578060209273ffffffffffffffffffffffffffffffffffffffff6103cb6107e3565b16815280845220549051908152f35b919050346104c057806003193601126104c0576103f56107e3565b9073ffffffffffffffffffffffffffffffffffffffff602435921692831561046457506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9261044a879560025461082e565b60025585855284835280852082815401905551908152a380f35b602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b8280fd5b5050346100fd57806003193601126100fd5761012a6020926105196104e76107e3565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461082e565b9033610a79565b5050346100fd57816003193601126100fd576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b839150346100fd5760606003193601126100fd5761057a6107e3565b61058261080b565b91846044359473ffffffffffffffffffffffffffffffffffffffff8416815260016020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036105e8575b60208661012a87878761086a565b84821061061157509183916106066020969561012a95033383610a79565b9193948193506105da565b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100fd57816003193601126100fd576020906002549051908152f35b5050346100fd57806003193601126100fd5760209061012a6106ad6107e3565b6024359033610a79565b849084346104c057826003193601126104c05782600354600181811c90808316928315610791575b602093848410811461036157838852879594939291811561032457506001146107325750505003601f01601f191682019267ffffffffffffffff84118385101761029a575082918261029692528261079b565b600388529193925086917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061077b5750505090601f1992601f92820101918193610266565b805488850187015287945092850192810161075e565b91607f16916106df565b60208082528251818301819052939260005b8581106107cf57505050601f19601f8460006040809697860101520116010190565b8181018301518482016040015282016107ad565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361080657565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361080657565b9190820180921161083b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156109f55716918215610971576000828152806020526040812054918083106108ed57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215610b6b5716918215610ae75760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fdfea164736f6c6343000814000a";
373
+ "0x60a0604052346200033b5762000d15803803806200001d8162000340565b92833981016060828203126200033b5781516001600160401b03908181116200033b57826200004e91850162000366565b90602092838501518281116200033b576040916200006e91870162000366565b9401519360ff851685036200033b5782518281116200023b576003918254916001958684811c9416801562000330575b888510146200031a578190601f94858111620002c4575b5088908583116001146200025d5760009262000251575b505060001982861b1c191690861b1783555b80519384116200023b5760049586548681811c9116801562000230575b828210146200021b57838111620001d0575b508092851160011462000162575093839491849260009562000156575b50501b92600019911b1c19161790555b60805260405161093c9081620003d98239608051816103e10152f35b0151935038806200012a565b92919084601f1981168860005285600020956000905b89838310620001b557505050106200019a575b50505050811b0190556200013a565b01519060f884600019921b161c19169055388080806200018b565b85870151895590970196948501948893509081019062000178565b87600052816000208480880160051c82019284891062000211575b0160051c019087905b828110620002045750506200010d565b60008155018790620001f4565b92508192620001eb565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000fb565b634e487b7160e01b600052604160045260246000fd5b015190503880620000cc565b90889350601f19831691876000528a6000209260005b8c828210620002ad575050841162000294575b505050811b018355620000de565b015160001983881b60f8161c1916905538808062000286565b8385015186558c9790950194938401930162000273565b90915085600052886000208580850160051c8201928b861062000310575b918a91869594930160051c01915b82811062000300575050620000b5565b600081558594508a9101620002f0565b92508192620002e2565b634e487b7160e01b600052602260045260246000fd5b93607f16936200009e565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200023b57604052565b919080601f840112156200033b5782516001600160401b0381116200023b576020906200039c601f8201601f1916830162000340565b928184528282870101116200033b5760005b818110620003c457508260009394955001015290565b8581018301518482018401528201620003ae56fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461067757508163095ea7b31461059057816318160ddd1461057157816323b872dd14610405578163313ce567146103c757816340c10f19146102dc57816370a082311461029957816395d89b411461011b57508063a9059cbb146100eb5763dd62ed3e1461009357600080fd5b346100e757806003193601126100e757806020926100af6107a3565b6100b76107cb565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b50346100e757806003193601126100e75760209061011461010a6107a3565b60243590336107ee565b5160018152f35b8383346100e757816003193601126100e757805190828454600181811c9080831692831561028f575b602093848410811461026357838852879594939291811561022657506001146101c8575b50505003601f01601f191682019267ffffffffffffffff84118385101761019c575082918261019892528261075b565b0390f35b806041867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8888529193925086917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106102105750505090601f1992601f92820101918193610168565b80548885018701528794509285019281016101f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016848701525050151560051b830101905081601f601f19610168565b60248960228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b91607f1691610144565b5050346100e75760206003193601126100e7578060209273ffffffffffffffffffffffffffffffffffffffff6102cd6107a3565b16815280845220549051908152f35b919050346103c357806003193601126103c3576102f76107a3565b9073ffffffffffffffffffffffffffffffffffffffff60243592169283156103955760025490838201809211610369575084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8460249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b8280fd5b5050346100e757816003193601126100e7576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9050823461056e57606060031936011261056e576104216107a3565b6104296107cb565b916044359373ffffffffffffffffffffffffffffffffffffffff8316808352600160205286832033845260205286832054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8310610491575b6020886101148989896107ee565b8683106105295781156104fa5733156104cb5750825260016020908152868320338452815291869020908590039055829061011487610483565b602490848951917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602490848951917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b87517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018790528291506060010390fd5b80fd5b5050346100e757816003193601126100e7576020906002549051908152f35b9050346103c357816003193601126103c3576105aa6107a3565b6024359033156106485773ffffffffffffffffffffffffffffffffffffffff1691821561061957508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b602490858551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602483868651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b849084346103c357826003193601126103c35782600354600181811c90808316928315610751575b602093848410811461026357838852879594939291811561022657506001146106f25750505003601f01601f191682019267ffffffffffffffff84118385101761019c575082918261019892528261075b565b600388529193925086917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061073b5750505090601f1992601f92820101918193610168565b805488850187015287945092850192810161071e565b91607f169161069f565b60208082528251818301819052939260005b85811061078f57505050601f19601f8460006040809697860101520116010190565b81810183015184820160400152820161076d565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036107c657565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036107c657565b9173ffffffffffffffffffffffffffffffffffffffff8084169283156108fe57169283156108cd5760009083825281602052604082205490838210610875575091604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101839052606490fd5b60246040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fdfea164736f6c6343000814000a";
336
374
 
337
375
  type ERC20DecimalsMockConstructorParams =
338
376
  | [signer?: Signer]