@coti-io/coti-contracts 1.2.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 (481) hide show
  1. package/.github/workflows/npm-publish.yml +1 -1
  2. package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +1 -1
  3. package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1 -1
  4. package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +2 -4
  5. package/contracts/disperse/disperseToken/MintDisperser.sol +1 -3
  6. package/contracts/disperse/disperseToken/TokenDisperser.sol +1 -1
  7. package/contracts/messaging/PrivateMessaging.sol +456 -0
  8. package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +1 -1
  9. package/contracts/mocks/messaging/PrivateMessagingHarness.sol +54 -0
  10. package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +31 -0
  11. package/contracts/mocks/token/ERC20DecimalsMock.sol +21 -0
  12. package/contracts/mocks/token/ERC20Mock.sol +1 -1
  13. package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +1 -1
  14. package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +9 -4
  15. package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +1 -1
  16. package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +1 -1
  17. package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +1 -1
  18. package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +1 -1
  19. package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +1 -1
  20. package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +1 -1
  21. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +1 -1
  22. package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +1 -1
  23. package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +1 -1
  24. package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +1 -1
  25. package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +1 -1
  26. package/contracts/mocks/utils/mpc/ArithmeticAddTestsContract.sol +196 -0
  27. package/contracts/mocks/utils/mpc/ArithmeticMulTestsContract.sol +194 -0
  28. package/contracts/mocks/utils/mpc/ArithmeticSigned128TestsContract.sol +63 -0
  29. package/contracts/mocks/utils/mpc/ArithmeticSigned256TestsContract.sol +107 -0
  30. package/contracts/mocks/utils/mpc/ArithmeticSignedNarrowTestsContract.sol +123 -0
  31. package/contracts/mocks/utils/mpc/ArithmeticSubTestsContract.sol +196 -0
  32. package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +1 -1
  33. package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +1 -1
  34. package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +1 -1
  35. package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +1 -1
  36. package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +1 -1
  37. package/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol +1 -1
  38. package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +1 -1
  39. package/contracts/mocks/utils/mpc/Comparison1TestsContract.sol +1 -1
  40. package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +1 -1
  41. package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +1 -1
  42. package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +1 -1
  43. package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +1 -1
  44. package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +1 -1
  45. package/contracts/mocks/utils/mpc/MinimalImplementation.sol +1 -1
  46. package/contracts/mocks/utils/mpc/MinimalProxy.sol +1 -1
  47. package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +1 -1
  48. package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +1 -1
  49. package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +1 -1
  50. package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +4 -4
  51. package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +1 -1
  52. package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +1 -1
  53. package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +1 -1
  54. package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +1 -1
  55. package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +1 -1
  56. package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +1 -1
  57. package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +1 -1
  58. package/contracts/mocks/utils/mpc/PrivacyProxy.sol +1 -1
  59. package/contracts/mocks/utils/mpc/Random128TestsContract.sol +1 -1
  60. package/contracts/mocks/utils/mpc/Random256TestsContract.sol +1 -1
  61. package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +1 -1
  62. package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +1 -1
  63. package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +1 -1
  64. package/contracts/mocks/utils/mpc/StringTestsContract.sol +1 -1
  65. package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +1 -1
  66. package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +1 -1
  67. package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +1 -1
  68. package/contracts/mocks/utils/mpc/TransferTestsContract.sol +1 -1
  69. package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +1 -1
  70. package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +1 -1
  71. package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +1 -1
  72. package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +1 -1
  73. package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +1 -1
  74. package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +1 -1
  75. package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +1 -1
  76. package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +1 -1
  77. package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +1 -1
  78. package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +2 -2
  79. package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +1 -1
  80. package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +1 -1
  81. package/contracts/node/CotiNodeRewards.sol +3 -3
  82. package/contracts/node/SoulboundNodeNFT.sol +23 -24
  83. package/contracts/onboard/AccountOnboard.sol +1 -1
  84. package/contracts/oracle/CotiPriceConsumer.sol +103 -0
  85. package/contracts/oracle/ICotiPriceConsumer.sol +15 -0
  86. package/contracts/oracle/IStdReference.sol +26 -0
  87. package/contracts/pod/IInbox.sol +231 -0
  88. package/contracts/pod/IInboxMiner.sol +53 -0
  89. package/contracts/pod/InboxUser.sol +29 -0
  90. package/contracts/pod/InboxUserCotiTestnet.sol +13 -0
  91. package/contracts/pod/PodNetworkConstants.sol +30 -0
  92. package/contracts/pod/examples/MpcAdder.sol +57 -0
  93. package/contracts/pod/examples/MpcAdderPausable.sol +25 -0
  94. package/contracts/pod/examples/MpcAdderPausable.sol.bak +25 -0
  95. package/contracts/pod/examples/it128/PodAdder128.sol +48 -0
  96. package/contracts/pod/examples/it256/PodAdder256.sol +48 -0
  97. package/contracts/pod/fee/IInboxFeeManager.sol +40 -0
  98. package/contracts/pod/manifest.json +52 -0
  99. package/contracts/pod/mpc/PodLib.sol +10 -0
  100. package/contracts/pod/mpc/PodLib128.sol +361 -0
  101. package/contracts/pod/mpc/PodLib256.sol +361 -0
  102. package/contracts/pod/mpc/PodLib64.sol +385 -0
  103. package/contracts/pod/mpc/PodLibBase.sol +72 -0
  104. package/contracts/pod/mpc/PodUser.sol +58 -0
  105. package/contracts/pod/mpc/PodUserFuji.sol +14 -0
  106. package/contracts/pod/mpc/PodUserSepolia.sol +13 -0
  107. package/contracts/pod/mpc/coti-side/IPodExecutorOps.sol +99 -0
  108. package/contracts/pod/mpccodec/MpcAbiCodec.sol +482 -0
  109. package/contracts/pod/privacy/IPodPriceOracle.sol +20 -0
  110. package/contracts/pod/privacy/IPrivacyPortal.sol +248 -0
  111. package/contracts/pod/privacy/IPrivacyPortalFactory.sol +88 -0
  112. package/contracts/pod/privacy/PortalFeeOracle.sol +51 -0
  113. package/contracts/pod/privacy/PrivacyPortal.sol +871 -0
  114. package/contracts/pod/privacy/PrivacyPortalFactory.sol +492 -0
  115. package/contracts/pod/privacy/PrivacyPortalFeeLib.sol +98 -0
  116. package/contracts/pod/privacy/mocks/CloneHelper.sol +14 -0
  117. package/contracts/pod/privacy/mocks/MockERC20.sol +26 -0
  118. package/contracts/pod/privacy/mocks/MockPodERC20ForPortal.sol +160 -0
  119. package/contracts/pod/privacy/mocks/MockPrivacyPortalFactory.sol +125 -0
  120. package/contracts/pod/privacy/mocks/MockWrappedNative.sol +24 -0
  121. package/contracts/pod/token/erc7984/Erc7984Constants.sol +9 -0
  122. package/contracts/pod/token/erc7984/Erc7984Pointers.sol +29 -0
  123. package/contracts/pod/token/erc7984/IERC7984.sol +69 -0
  124. package/contracts/pod/token/erc7984/IERC7984PortalWrapper.sol +31 -0
  125. package/contracts/pod/token/erc7984/PodErc7984Mixin.sol +125 -0
  126. package/contracts/pod/token/erc7984/README.md +60 -0
  127. package/contracts/pod/token/perc20/IPodERC20.sol +298 -0
  128. package/contracts/pod/token/perc20/PodERC20.sol +1021 -0
  129. package/contracts/pod/token/perc20/PodErc20Mintable.sol +88 -0
  130. package/contracts/pod/token/perc20/PodErc20MintableInitializable.sol +42 -0
  131. package/contracts/pod/token/perc20/cotiside/IPodErc20CotiSide.sol +88 -0
  132. package/contracts/pod/token/perc20/cotiside/PodErc20CotiMother.sol +529 -0
  133. package/contracts/pod/utils/IWrappedNative.sol +11 -0
  134. package/contracts/privacyBridge/PrivacyBridge.sol +376 -94
  135. package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +210 -162
  136. package/contracts/privacyBridge/PrivacyBridgeERC20.sol +242 -160
  137. package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +8 -2
  138. package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +8 -2
  139. package/contracts/privacyBridge/PrivacyBridgeWADA.sol +8 -2
  140. package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +8 -2
  141. package/contracts/privacyBridge/PrivacyBridgeWETH.sol +8 -2
  142. package/contracts/privacyBridge/PrivacyBridgegCoti.sol +8 -2
  143. package/contracts/token/PrivateERC20/IPrivateERC20.sol +1 -1
  144. package/contracts/token/PrivateERC20/ITokenReceiver.sol +1 -1
  145. package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +1 -1
  146. package/contracts/token/PrivateERC20/PrivateERC20.sol +5 -5
  147. package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +1 -1
  148. package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +1 -1
  149. package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +1 -1
  150. package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +1 -1
  151. package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +1 -1
  152. package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +1 -1
  153. package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +1 -1
  154. package/contracts/token/PrivateERC721/IERC721Errors.sol +1 -1
  155. package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
  156. package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +1 -1
  157. package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +1 -1
  158. package/contracts/token/points/CotiTokenPoints004.sol +43 -0
  159. package/contracts/utils/mpc/MpcCore.sol +610 -1
  160. package/contracts/utils/mpc/MpcInterface.sol +1 -1
  161. package/hardhat.config.ts +9 -15
  162. package/package.json +4 -4
  163. package/scripts/add-bridge-operators.cjs +87 -0
  164. package/scripts/deploy-coti-price-consumer-mainnet.cjs +49 -0
  165. package/scripts/deployCotiNodeRewards.ts +51 -0
  166. package/scripts/deployCotiTokenPoints004.ts +61 -0
  167. package/scripts/deployFixedRatioCoinDisperserUnlimitedWindow.ts +68 -0
  168. package/scripts/redeploy-private-and-bridges.cjs +201 -0
  169. package/scripts/set-bridge-limits-mainnet.cjs +177 -0
  170. package/scripts/verify-mainnet-private-bridges.cjs +289 -0
  171. package/scripts/verifyCotiTokenPoints004.ts +123 -0
  172. package/scripts/verifyFixedRatioCoinDisperserUnlimitedWindow.ts +112 -0
  173. package/sonar-project.properties +11 -0
  174. package/test/messaging/PrivateMessaging.test.ts +158 -0
  175. package/test/pod/privacy/PrivacyPortal.access.test.ts +756 -0
  176. package/test/pod/privacy/PrivacyPortal.recovery.test.ts +263 -0
  177. package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +1665 -0
  178. package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +162 -239
  179. package/test/utils/mpc/CheckedSignedArithmetic256.test.ts +163 -0
  180. package/test/utils/mpc/NegativeCases.test.ts +3 -3
  181. package/test/utils/mpc/Precompile.test.ts +6 -6
  182. package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +324 -0
  183. package/typechain-types/@openzeppelin/contracts/access/AccessControlEnumerable.ts +361 -0
  184. package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +292 -0
  185. package/typechain-types/@openzeppelin/contracts/access/IAccessControlEnumerable.ts +329 -0
  186. package/typechain-types/@openzeppelin/contracts/access/extensions/AccessControlEnumerable.ts +375 -0
  187. package/typechain-types/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable.ts +329 -0
  188. package/typechain-types/@openzeppelin/contracts/access/extensions/index.ts +5 -0
  189. package/typechain-types/@openzeppelin/contracts/access/index.ts +6 -0
  190. package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
  191. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.ts +412 -0
  192. package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
  193. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
  194. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
  195. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
  196. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  197. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +4 -0
  198. package/typechain-types/@openzeppelin/contracts/security/Pausable.ts +150 -0
  199. package/typechain-types/@openzeppelin/contracts/security/index.ts +4 -0
  200. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +286 -0
  201. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +6 -6
  202. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +313 -0
  203. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.ts +356 -0
  204. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.ts +423 -0
  205. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +286 -0
  206. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  207. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +3 -0
  208. package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.ts +69 -0
  209. package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
  210. package/typechain-types/@openzeppelin/contracts/token/ERC721/ERC721.ts +420 -0
  211. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +420 -0
  212. package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  213. package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +3 -0
  214. package/typechain-types/@openzeppelin/contracts/utils/Nonces.ts +85 -0
  215. package/typechain-types/@openzeppelin/contracts/utils/Pausable.ts +150 -0
  216. package/typechain-types/@openzeppelin/contracts/utils/ReentrancyGuard.ts +69 -0
  217. package/typechain-types/@openzeppelin/contracts/utils/ShortStrings.ts +69 -0
  218. package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
  219. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
  220. package/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.ts +151 -0
  221. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  222. package/typechain-types/@openzeppelin/contracts/utils/index.ts +9 -0
  223. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  224. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  225. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.ts +735 -0
  226. package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.ts +734 -0
  227. package/typechain-types/contracts/disperse/coinByRatio/index.ts +2 -0
  228. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable.ts +95 -0
  229. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +22 -0
  230. package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
  231. package/typechain-types/contracts/index.ts +8 -0
  232. package/typechain-types/contracts/messaging/PrivateMessaging.ts +871 -0
  233. package/typechain-types/contracts/messaging/index.ts +4 -0
  234. package/typechain-types/contracts/mocks/index.ts +4 -0
  235. package/typechain-types/contracts/mocks/messaging/PrivateMessagingHarness.ts +951 -0
  236. package/typechain-types/contracts/mocks/messaging/index.ts +4 -0
  237. package/typechain-types/contracts/mocks/oracle/CotiPriceConsumerMock.ts +163 -0
  238. package/typechain-types/contracts/mocks/oracle/index.ts +4 -0
  239. package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +305 -0
  240. package/typechain-types/contracts/mocks/token/ERC20Mock.ts +324 -0
  241. package/typechain-types/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.ts +108 -0
  242. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +1906 -0
  243. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +1296 -0
  244. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +1270 -0
  245. package/typechain-types/contracts/mocks/{utils/mpc/Bitwise128BitTestsContract.ts → token/PrivateERC20/PrivateERC20GtCallerMock.ts} +47 -67
  246. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +757 -25
  247. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted.ts +102 -0
  248. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock.ts +154 -0
  249. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  250. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.ts +155 -0
  251. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.ts +107 -0
  252. package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.ts +100 -0
  253. package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +10 -0
  254. package/typechain-types/contracts/mocks/token/index.ts +2 -0
  255. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +6 -6
  256. package/typechain-types/contracts/node/CotiNodeRewards.ts +566 -0
  257. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/IERC5192.ts +123 -0
  258. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT.ts +975 -0
  259. package/typechain-types/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  260. package/typechain-types/contracts/node/index.ts +6 -0
  261. package/typechain-types/contracts/oracle/CotiPriceConsumer.ts +256 -0
  262. package/typechain-types/contracts/oracle/ICotiPriceConsumer.ts +119 -0
  263. package/typechain-types/contracts/oracle/IStdReference.ts +136 -0
  264. package/typechain-types/contracts/oracle/index.ts +6 -0
  265. package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +1642 -0
  266. package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +1884 -0
  267. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals.ts +84 -0
  268. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +1906 -0
  269. package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  270. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +1906 -0
  271. package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +1906 -0
  272. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +1906 -0
  273. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +1906 -0
  274. package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +1906 -0
  275. package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +1906 -0
  276. package/typechain-types/contracts/privacyBridge/index.ts +13 -0
  277. package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +439 -19
  278. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiver.ts +100 -0
  279. package/typechain-types/contracts/token/PrivateERC20/ITokenReceiverEncrypted.ts +99 -0
  280. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +763 -15
  281. package/typechain-types/contracts/token/PrivateERC20/index.ts +4 -0
  282. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +1270 -0
  283. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +1270 -0
  284. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +1270 -0
  285. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +1270 -0
  286. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +1270 -0
  287. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +1270 -0
  288. package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +1270 -0
  289. package/typechain-types/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  290. package/typechain-types/contracts/token/index.ts +2 -0
  291. package/typechain-types/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004.ts +826 -0
  292. package/typechain-types/contracts/token/points/CotiTokenPoints004.ts +826 -0
  293. package/typechain-types/contracts/token/points/index.ts +4 -0
  294. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControlEnumerable__factory.ts +276 -0
  295. package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +250 -0
  296. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControlEnumerable__factory.ts +244 -0
  297. package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +218 -0
  298. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +22 -0
  299. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/AccessControlEnumerable__factory.ts +316 -0
  300. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory.ts +265 -0
  301. package/typechain-types/factories/@openzeppelin/contracts/access/extensions/index.ts +5 -0
  302. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
  303. package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
  304. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.ts +393 -0
  305. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
  306. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
  307. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
  308. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
  309. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  310. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +3 -0
  311. package/typechain-types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +61 -0
  312. package/typechain-types/factories/@openzeppelin/contracts/security/index.ts +4 -0
  313. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +330 -0
  314. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +3 -3
  315. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +364 -0
  316. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory.ts +382 -0
  317. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory.ts +540 -0
  318. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +247 -0
  319. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  320. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +2 -0
  321. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.ts +96 -0
  322. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
  323. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +455 -0
  324. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +355 -0
  325. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
  326. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +2 -0
  327. package/typechain-types/factories/@openzeppelin/contracts/utils/Nonces__factory.ts +57 -0
  328. package/typechain-types/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +71 -0
  329. package/typechain-types/factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory.ts +30 -0
  330. package/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.ts +83 -0
  331. package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
  332. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
  333. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.ts +87 -0
  334. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  335. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
  336. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  337. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  338. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +802 -0
  339. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +749 -0
  340. package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +12 -1
  341. package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +2 -0
  342. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable__factory.ts +35 -0
  343. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +41 -1
  344. package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
  345. package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +12 -1
  346. package/typechain-types/factories/contracts/index.ts +4 -0
  347. package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1035 -0
  348. package/typechain-types/factories/contracts/messaging/index.ts +4 -0
  349. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
  350. package/typechain-types/factories/contracts/mocks/index.ts +2 -0
  351. package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1161 -0
  352. package/typechain-types/factories/contracts/mocks/messaging/index.ts +4 -0
  353. package/typechain-types/factories/contracts/mocks/oracle/CotiPriceConsumerMock__factory.ts +159 -0
  354. package/typechain-types/factories/contracts/mocks/oracle/index.ts +4 -0
  355. package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +432 -0
  356. package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +430 -0
  357. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock__factory.ts +125 -0
  358. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +1885 -0
  359. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +1540 -0
  360. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +1492 -0
  361. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +165 -0
  362. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +794 -52
  363. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted__factory.ts +54 -0
  364. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock__factory.ts +159 -0
  365. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
  366. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock__factory.ts +164 -0
  367. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock__factory.ts +130 -0
  368. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock__factory.ts +102 -0
  369. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +9 -0
  370. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  371. package/typechain-types/factories/contracts/mocks/token/index.ts +2 -0
  372. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
  373. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
  374. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  375. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
  376. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
  377. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  378. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
  379. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
  380. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
  381. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +1 -1
  382. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  383. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
  384. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  385. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
  386. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
  387. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  388. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
  389. package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +1 -1
  390. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  391. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  392. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +1 -1
  393. package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
  394. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
  395. package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
  396. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  397. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
  398. package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
  399. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
  400. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
  401. package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +1 -1
  402. package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
  403. package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
  404. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
  405. package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
  406. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  407. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  408. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +1 -1
  409. package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
  410. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  411. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  412. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +1 -1
  413. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
  414. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  415. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  416. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  417. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  418. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  419. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  420. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +1 -1
  421. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
  422. package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
  423. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +4 -22
  424. package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +576 -0
  425. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/IERC5192__factory.ts +54 -0
  426. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +1072 -0
  427. package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
  428. package/typechain-types/factories/contracts/node/index.ts +5 -0
  429. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  430. package/typechain-types/factories/contracts/oracle/CotiPriceConsumer__factory.ts +295 -0
  431. package/typechain-types/factories/contracts/oracle/ICotiPriceConsumer__factory.ts +73 -0
  432. package/typechain-types/factories/contracts/oracle/IStdReference__factory.ts +107 -0
  433. package/typechain-types/factories/contracts/oracle/index.ts +6 -0
  434. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +1753 -0
  435. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals__factory.ts +38 -0
  436. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +1766 -0
  437. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
  438. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +1870 -0
  439. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +1870 -0
  440. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +1870 -0
  441. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +1870 -0
  442. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +1870 -0
  443. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +1444 -0
  444. package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +1870 -0
  445. package/typechain-types/factories/contracts/privacyBridge/index.ts +12 -0
  446. package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +481 -35
  447. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiverEncrypted__factory.ts +53 -0
  448. package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiver__factory.ts +54 -0
  449. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +812 -52
  450. package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +3 -0
  451. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +1471 -0
  452. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +1477 -0
  453. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +1468 -0
  454. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +1471 -0
  455. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +1471 -0
  456. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +1471 -0
  457. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +1477 -0
  458. package/typechain-types/factories/contracts/token/PrivateERC20/tokens/index.ts +10 -0
  459. package/typechain-types/factories/contracts/token/index.ts +1 -0
  460. package/typechain-types/factories/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004__factory.ts +992 -0
  461. package/typechain-types/factories/contracts/token/points/CotiTokenPoints004__factory.ts +992 -0
  462. package/typechain-types/factories/contracts/token/points/index.ts +4 -0
  463. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  464. package/typechain-types/hardhat.d.ts +1414 -118
  465. package/typechain-types/index.ts +138 -2
  466. package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +0 -408
  467. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +0 -341
  468. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +0 -347
  469. package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +0 -186
  470. package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +0 -260
  471. package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +0 -260
  472. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +0 -302
  473. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +0 -322
  474. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +0 -349
  475. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +0 -364
  476. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +0 -182
  477. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +0 -182
  478. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +0 -255
  479. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +0 -255
  480. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +0 -332
  481. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +0 -380
@@ -0,0 +1,1753 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type {
11
+ Signer,
12
+ AddressLike,
13
+ ContractDeployTransaction,
14
+ ContractRunner,
15
+ } from "ethers";
16
+ import type { NonPayableOverrides } from "../../../common";
17
+ import type {
18
+ PrivacyBridgeCotiNative,
19
+ PrivacyBridgeCotiNativeInterface,
20
+ } from "../../../contracts/privacyBridge/PrivacyBridgeCotiNative";
21
+
22
+ const _abi = [
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "address",
27
+ name: "_privateCoti",
28
+ type: "address",
29
+ },
30
+ {
31
+ internalType: "address",
32
+ name: "_feeRecipient",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "address",
37
+ name: "_rescueRecipient",
38
+ type: "address",
39
+ },
40
+ {
41
+ internalType: "address",
42
+ name: "_priceOracle",
43
+ type: "address",
44
+ },
45
+ ],
46
+ stateMutability: "nonpayable",
47
+ type: "constructor",
48
+ },
49
+ {
50
+ inputs: [],
51
+ name: "AccessControlBadConfirmation",
52
+ type: "error",
53
+ },
54
+ {
55
+ inputs: [
56
+ {
57
+ internalType: "address",
58
+ name: "account",
59
+ type: "address",
60
+ },
61
+ {
62
+ internalType: "bytes32",
63
+ name: "neededRole",
64
+ type: "bytes32",
65
+ },
66
+ ],
67
+ name: "AccessControlUnauthorizedAccount",
68
+ type: "error",
69
+ },
70
+ {
71
+ inputs: [
72
+ {
73
+ internalType: "address",
74
+ name: "account",
75
+ type: "address",
76
+ },
77
+ ],
78
+ name: "AddressBlacklisted",
79
+ type: "error",
80
+ },
81
+ {
82
+ inputs: [],
83
+ name: "AmountZero",
84
+ type: "error",
85
+ },
86
+ {
87
+ inputs: [],
88
+ name: "BridgePaused",
89
+ type: "error",
90
+ },
91
+ {
92
+ inputs: [],
93
+ name: "DepositBelowMinimum",
94
+ type: "error",
95
+ },
96
+ {
97
+ inputs: [],
98
+ name: "DepositDisabled",
99
+ type: "error",
100
+ },
101
+ {
102
+ inputs: [],
103
+ name: "DepositExceedsMaximum",
104
+ type: "error",
105
+ },
106
+ {
107
+ inputs: [],
108
+ name: "EnforcedPause",
109
+ type: "error",
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: "EthTransferFailed",
114
+ type: "error",
115
+ },
116
+ {
117
+ inputs: [],
118
+ name: "ExpectedPause",
119
+ type: "error",
120
+ },
121
+ {
122
+ inputs: [],
123
+ name: "FeeRecipientNotSet",
124
+ type: "error",
125
+ },
126
+ {
127
+ inputs: [],
128
+ name: "InsufficientAccumulatedFees",
129
+ type: "error",
130
+ },
131
+ {
132
+ inputs: [],
133
+ name: "InsufficientCotiFee",
134
+ type: "error",
135
+ },
136
+ {
137
+ inputs: [],
138
+ name: "InsufficientEthBalance",
139
+ type: "error",
140
+ },
141
+ {
142
+ inputs: [],
143
+ name: "InvalidAddress",
144
+ type: "error",
145
+ },
146
+ {
147
+ inputs: [],
148
+ name: "InvalidFee",
149
+ type: "error",
150
+ },
151
+ {
152
+ inputs: [],
153
+ name: "InvalidFeeConfiguration",
154
+ type: "error",
155
+ },
156
+ {
157
+ inputs: [],
158
+ name: "InvalidLimitConfiguration",
159
+ type: "error",
160
+ },
161
+ {
162
+ inputs: [],
163
+ name: "InvalidOraclePrice",
164
+ type: "error",
165
+ },
166
+ {
167
+ inputs: [
168
+ {
169
+ internalType: "uint256",
170
+ name: "lastUpdated",
171
+ type: "uint256",
172
+ },
173
+ ],
174
+ name: "OracleLastUpdatedInFuture",
175
+ type: "error",
176
+ },
177
+ {
178
+ inputs: [],
179
+ name: "OracleMaxAgeZeroDisallowed",
180
+ type: "error",
181
+ },
182
+ {
183
+ inputs: [
184
+ {
185
+ internalType: "uint256",
186
+ name: "oracleLastUpdated",
187
+ type: "uint256",
188
+ },
189
+ {
190
+ internalType: "uint256",
191
+ name: "blockTimestamp",
192
+ type: "uint256",
193
+ },
194
+ {
195
+ internalType: "uint256",
196
+ name: "maxOracleAge",
197
+ type: "uint256",
198
+ },
199
+ ],
200
+ name: "OraclePriceStale",
201
+ type: "error",
202
+ },
203
+ {
204
+ inputs: [
205
+ {
206
+ internalType: "uint256",
207
+ name: "expected",
208
+ type: "uint256",
209
+ },
210
+ {
211
+ internalType: "uint256",
212
+ name: "actual",
213
+ type: "uint256",
214
+ },
215
+ ],
216
+ name: "OracleTimestampMismatch",
217
+ type: "error",
218
+ },
219
+ {
220
+ inputs: [
221
+ {
222
+ internalType: "address",
223
+ name: "owner",
224
+ type: "address",
225
+ },
226
+ ],
227
+ name: "OwnableInvalidOwner",
228
+ type: "error",
229
+ },
230
+ {
231
+ inputs: [
232
+ {
233
+ internalType: "address",
234
+ name: "account",
235
+ type: "address",
236
+ },
237
+ ],
238
+ name: "OwnableUnauthorizedAccount",
239
+ type: "error",
240
+ },
241
+ {
242
+ inputs: [],
243
+ name: "PriceOracleNotSet",
244
+ type: "error",
245
+ },
246
+ {
247
+ inputs: [],
248
+ name: "ReentrancyGuardReentrantCall",
249
+ type: "error",
250
+ },
251
+ {
252
+ inputs: [],
253
+ name: "WithdrawBelowMinimum",
254
+ type: "error",
255
+ },
256
+ {
257
+ inputs: [],
258
+ name: "WithdrawExceedsMaximum",
259
+ type: "error",
260
+ },
261
+ {
262
+ anonymous: false,
263
+ inputs: [
264
+ {
265
+ indexed: true,
266
+ internalType: "address",
267
+ name: "account",
268
+ type: "address",
269
+ },
270
+ {
271
+ indexed: true,
272
+ internalType: "address",
273
+ name: "by",
274
+ type: "address",
275
+ },
276
+ ],
277
+ name: "Blacklisted",
278
+ type: "event",
279
+ },
280
+ {
281
+ anonymous: false,
282
+ inputs: [
283
+ {
284
+ indexed: true,
285
+ internalType: "address",
286
+ name: "feeRecipient",
287
+ type: "address",
288
+ },
289
+ {
290
+ indexed: false,
291
+ internalType: "uint256",
292
+ name: "amount",
293
+ type: "uint256",
294
+ },
295
+ ],
296
+ name: "CotiFeesWithdrawn",
297
+ type: "event",
298
+ },
299
+ {
300
+ anonymous: false,
301
+ inputs: [
302
+ {
303
+ indexed: true,
304
+ internalType: "address",
305
+ name: "user",
306
+ type: "address",
307
+ },
308
+ {
309
+ indexed: false,
310
+ internalType: "uint256",
311
+ name: "grossAmount",
312
+ type: "uint256",
313
+ },
314
+ {
315
+ indexed: false,
316
+ internalType: "uint256",
317
+ name: "netAmount",
318
+ type: "uint256",
319
+ },
320
+ ],
321
+ name: "Deposit",
322
+ type: "event",
323
+ },
324
+ {
325
+ anonymous: false,
326
+ inputs: [
327
+ {
328
+ indexed: false,
329
+ internalType: "bool",
330
+ name: "enabled",
331
+ type: "bool",
332
+ },
333
+ {
334
+ indexed: true,
335
+ internalType: "address",
336
+ name: "by",
337
+ type: "address",
338
+ },
339
+ ],
340
+ name: "DepositEnabledUpdated",
341
+ type: "event",
342
+ },
343
+ {
344
+ anonymous: false,
345
+ inputs: [
346
+ {
347
+ indexed: false,
348
+ internalType: "string",
349
+ name: "feeType",
350
+ type: "string",
351
+ },
352
+ {
353
+ indexed: false,
354
+ internalType: "uint256",
355
+ name: "fixedFee",
356
+ type: "uint256",
357
+ },
358
+ {
359
+ indexed: false,
360
+ internalType: "uint256",
361
+ name: "percentageBps",
362
+ type: "uint256",
363
+ },
364
+ {
365
+ indexed: false,
366
+ internalType: "uint256",
367
+ name: "maxFee",
368
+ type: "uint256",
369
+ },
370
+ ],
371
+ name: "DynamicFeeUpdated",
372
+ type: "event",
373
+ },
374
+ {
375
+ anonymous: false,
376
+ inputs: [
377
+ {
378
+ indexed: true,
379
+ internalType: "address",
380
+ name: "to",
381
+ type: "address",
382
+ },
383
+ {
384
+ indexed: false,
385
+ internalType: "uint256",
386
+ name: "amount",
387
+ type: "uint256",
388
+ },
389
+ ],
390
+ name: "FeesWithdrawn",
391
+ type: "event",
392
+ },
393
+ {
394
+ anonymous: false,
395
+ inputs: [
396
+ {
397
+ indexed: false,
398
+ internalType: "uint256",
399
+ name: "minDeposit",
400
+ type: "uint256",
401
+ },
402
+ {
403
+ indexed: false,
404
+ internalType: "uint256",
405
+ name: "maxDeposit",
406
+ type: "uint256",
407
+ },
408
+ {
409
+ indexed: false,
410
+ internalType: "uint256",
411
+ name: "minWithdraw",
412
+ type: "uint256",
413
+ },
414
+ {
415
+ indexed: false,
416
+ internalType: "uint256",
417
+ name: "maxWithdraw",
418
+ type: "uint256",
419
+ },
420
+ ],
421
+ name: "LimitsUpdated",
422
+ type: "event",
423
+ },
424
+ {
425
+ anonymous: false,
426
+ inputs: [
427
+ {
428
+ indexed: false,
429
+ internalType: "uint256",
430
+ name: "maxOracleAge",
431
+ type: "uint256",
432
+ },
433
+ {
434
+ indexed: true,
435
+ internalType: "address",
436
+ name: "by",
437
+ type: "address",
438
+ },
439
+ ],
440
+ name: "MaxOracleAgeUpdated",
441
+ type: "event",
442
+ },
443
+ {
444
+ anonymous: false,
445
+ inputs: [
446
+ {
447
+ indexed: true,
448
+ internalType: "address",
449
+ name: "user",
450
+ type: "address",
451
+ },
452
+ {
453
+ indexed: false,
454
+ internalType: "uint256",
455
+ name: "amount",
456
+ type: "uint256",
457
+ },
458
+ ],
459
+ name: "NativeRefundExcessPushFailed",
460
+ type: "event",
461
+ },
462
+ {
463
+ anonymous: false,
464
+ inputs: [
465
+ {
466
+ indexed: true,
467
+ internalType: "address",
468
+ name: "to",
469
+ type: "address",
470
+ },
471
+ {
472
+ indexed: false,
473
+ internalType: "uint256",
474
+ name: "amount",
475
+ type: "uint256",
476
+ },
477
+ ],
478
+ name: "NativeRescued",
479
+ type: "event",
480
+ },
481
+ {
482
+ anonymous: false,
483
+ inputs: [
484
+ {
485
+ indexed: true,
486
+ internalType: "address",
487
+ name: "account",
488
+ type: "address",
489
+ },
490
+ {
491
+ indexed: true,
492
+ internalType: "address",
493
+ name: "by",
494
+ type: "address",
495
+ },
496
+ ],
497
+ name: "OperatorAdded",
498
+ type: "event",
499
+ },
500
+ {
501
+ anonymous: false,
502
+ inputs: [
503
+ {
504
+ indexed: true,
505
+ internalType: "address",
506
+ name: "account",
507
+ type: "address",
508
+ },
509
+ {
510
+ indexed: true,
511
+ internalType: "address",
512
+ name: "by",
513
+ type: "address",
514
+ },
515
+ ],
516
+ name: "OperatorRemoved",
517
+ type: "event",
518
+ },
519
+ {
520
+ anonymous: false,
521
+ inputs: [
522
+ {
523
+ indexed: true,
524
+ internalType: "address",
525
+ name: "previousOwner",
526
+ type: "address",
527
+ },
528
+ {
529
+ indexed: true,
530
+ internalType: "address",
531
+ name: "newOwner",
532
+ type: "address",
533
+ },
534
+ ],
535
+ name: "OwnershipTransferred",
536
+ type: "event",
537
+ },
538
+ {
539
+ anonymous: false,
540
+ inputs: [
541
+ {
542
+ indexed: false,
543
+ internalType: "address",
544
+ name: "account",
545
+ type: "address",
546
+ },
547
+ ],
548
+ name: "Paused",
549
+ type: "event",
550
+ },
551
+ {
552
+ anonymous: false,
553
+ inputs: [
554
+ {
555
+ indexed: true,
556
+ internalType: "address",
557
+ name: "oldOracle",
558
+ type: "address",
559
+ },
560
+ {
561
+ indexed: true,
562
+ internalType: "address",
563
+ name: "newOracle",
564
+ type: "address",
565
+ },
566
+ ],
567
+ name: "PriceOracleUpdated",
568
+ type: "event",
569
+ },
570
+ {
571
+ anonymous: false,
572
+ inputs: [
573
+ {
574
+ indexed: true,
575
+ internalType: "address",
576
+ name: "user",
577
+ type: "address",
578
+ },
579
+ {
580
+ indexed: false,
581
+ internalType: "uint256",
582
+ name: "amount",
583
+ type: "uint256",
584
+ },
585
+ ],
586
+ name: "RefundableNativeExcessClaimed",
587
+ type: "event",
588
+ },
589
+ {
590
+ anonymous: false,
591
+ inputs: [
592
+ {
593
+ indexed: true,
594
+ internalType: "bytes32",
595
+ name: "role",
596
+ type: "bytes32",
597
+ },
598
+ {
599
+ indexed: true,
600
+ internalType: "bytes32",
601
+ name: "previousAdminRole",
602
+ type: "bytes32",
603
+ },
604
+ {
605
+ indexed: true,
606
+ internalType: "bytes32",
607
+ name: "newAdminRole",
608
+ type: "bytes32",
609
+ },
610
+ ],
611
+ name: "RoleAdminChanged",
612
+ type: "event",
613
+ },
614
+ {
615
+ anonymous: false,
616
+ inputs: [
617
+ {
618
+ indexed: true,
619
+ internalType: "bytes32",
620
+ name: "role",
621
+ type: "bytes32",
622
+ },
623
+ {
624
+ indexed: true,
625
+ internalType: "address",
626
+ name: "account",
627
+ type: "address",
628
+ },
629
+ {
630
+ indexed: true,
631
+ internalType: "address",
632
+ name: "sender",
633
+ type: "address",
634
+ },
635
+ ],
636
+ name: "RoleGranted",
637
+ type: "event",
638
+ },
639
+ {
640
+ anonymous: false,
641
+ inputs: [
642
+ {
643
+ indexed: true,
644
+ internalType: "bytes32",
645
+ name: "role",
646
+ type: "bytes32",
647
+ },
648
+ {
649
+ indexed: true,
650
+ internalType: "address",
651
+ name: "account",
652
+ type: "address",
653
+ },
654
+ {
655
+ indexed: true,
656
+ internalType: "address",
657
+ name: "sender",
658
+ type: "address",
659
+ },
660
+ ],
661
+ name: "RoleRevoked",
662
+ type: "event",
663
+ },
664
+ {
665
+ anonymous: false,
666
+ inputs: [
667
+ {
668
+ indexed: true,
669
+ internalType: "address",
670
+ name: "account",
671
+ type: "address",
672
+ },
673
+ {
674
+ indexed: true,
675
+ internalType: "address",
676
+ name: "by",
677
+ type: "address",
678
+ },
679
+ ],
680
+ name: "UnBlacklisted",
681
+ type: "event",
682
+ },
683
+ {
684
+ anonymous: false,
685
+ inputs: [
686
+ {
687
+ indexed: false,
688
+ internalType: "address",
689
+ name: "account",
690
+ type: "address",
691
+ },
692
+ ],
693
+ name: "Unpaused",
694
+ type: "event",
695
+ },
696
+ {
697
+ anonymous: false,
698
+ inputs: [
699
+ {
700
+ indexed: true,
701
+ internalType: "address",
702
+ name: "user",
703
+ type: "address",
704
+ },
705
+ {
706
+ indexed: false,
707
+ internalType: "uint256",
708
+ name: "grossAmount",
709
+ type: "uint256",
710
+ },
711
+ {
712
+ indexed: false,
713
+ internalType: "uint256",
714
+ name: "netAmount",
715
+ type: "uint256",
716
+ },
717
+ ],
718
+ name: "Withdraw",
719
+ type: "event",
720
+ },
721
+ {
722
+ inputs: [],
723
+ name: "DEFAULT_ADMIN_ROLE",
724
+ outputs: [
725
+ {
726
+ internalType: "bytes32",
727
+ name: "",
728
+ type: "bytes32",
729
+ },
730
+ ],
731
+ stateMutability: "view",
732
+ type: "function",
733
+ },
734
+ {
735
+ inputs: [],
736
+ name: "DEFAULT_MAX_ORACLE_AGE",
737
+ outputs: [
738
+ {
739
+ internalType: "uint256",
740
+ name: "",
741
+ type: "uint256",
742
+ },
743
+ ],
744
+ stateMutability: "view",
745
+ type: "function",
746
+ },
747
+ {
748
+ inputs: [],
749
+ name: "FEE_DIVISOR",
750
+ outputs: [
751
+ {
752
+ internalType: "uint256",
753
+ name: "",
754
+ type: "uint256",
755
+ },
756
+ ],
757
+ stateMutability: "view",
758
+ type: "function",
759
+ },
760
+ {
761
+ inputs: [],
762
+ name: "MAX_FEE_UNITS",
763
+ outputs: [
764
+ {
765
+ internalType: "uint256",
766
+ name: "",
767
+ type: "uint256",
768
+ },
769
+ ],
770
+ stateMutability: "view",
771
+ type: "function",
772
+ },
773
+ {
774
+ inputs: [],
775
+ name: "OPERATOR_ROLE",
776
+ outputs: [
777
+ {
778
+ internalType: "bytes32",
779
+ name: "",
780
+ type: "bytes32",
781
+ },
782
+ ],
783
+ stateMutability: "view",
784
+ type: "function",
785
+ },
786
+ {
787
+ inputs: [],
788
+ name: "accumulatedCotiFees",
789
+ outputs: [
790
+ {
791
+ internalType: "uint256",
792
+ name: "",
793
+ type: "uint256",
794
+ },
795
+ ],
796
+ stateMutability: "view",
797
+ type: "function",
798
+ },
799
+ {
800
+ inputs: [
801
+ {
802
+ internalType: "address",
803
+ name: "account",
804
+ type: "address",
805
+ },
806
+ ],
807
+ name: "addOperator",
808
+ outputs: [],
809
+ stateMutability: "nonpayable",
810
+ type: "function",
811
+ },
812
+ {
813
+ inputs: [
814
+ {
815
+ internalType: "address",
816
+ name: "account",
817
+ type: "address",
818
+ },
819
+ ],
820
+ name: "addToBlacklist",
821
+ outputs: [],
822
+ stateMutability: "nonpayable",
823
+ type: "function",
824
+ },
825
+ {
826
+ inputs: [
827
+ {
828
+ internalType: "address",
829
+ name: "",
830
+ type: "address",
831
+ },
832
+ ],
833
+ name: "blacklisted",
834
+ outputs: [
835
+ {
836
+ internalType: "bool",
837
+ name: "",
838
+ type: "bool",
839
+ },
840
+ ],
841
+ stateMutability: "view",
842
+ type: "function",
843
+ },
844
+ {
845
+ inputs: [],
846
+ name: "claimRefundableNativeExcess",
847
+ outputs: [],
848
+ stateMutability: "nonpayable",
849
+ type: "function",
850
+ },
851
+ {
852
+ inputs: [
853
+ {
854
+ internalType: "uint256",
855
+ name: "cotiAmount",
856
+ type: "uint256",
857
+ },
858
+ {
859
+ internalType: "uint256",
860
+ name: "fixedFee",
861
+ type: "uint256",
862
+ },
863
+ {
864
+ internalType: "uint256",
865
+ name: "percentageBps",
866
+ type: "uint256",
867
+ },
868
+ {
869
+ internalType: "uint256",
870
+ name: "maxFee",
871
+ type: "uint256",
872
+ },
873
+ ],
874
+ name: "computeCotiFee",
875
+ outputs: [
876
+ {
877
+ internalType: "uint256",
878
+ name: "",
879
+ type: "uint256",
880
+ },
881
+ ],
882
+ stateMutability: "view",
883
+ type: "function",
884
+ },
885
+ {
886
+ inputs: [
887
+ {
888
+ internalType: "uint256",
889
+ name: "cotiOracleTimestamp",
890
+ type: "uint256",
891
+ },
892
+ {
893
+ internalType: "uint256",
894
+ name: "tokenOracleTimestamp",
895
+ type: "uint256",
896
+ },
897
+ ],
898
+ name: "deposit",
899
+ outputs: [],
900
+ stateMutability: "payable",
901
+ type: "function",
902
+ },
903
+ {
904
+ inputs: [],
905
+ name: "depositFixedFee",
906
+ outputs: [
907
+ {
908
+ internalType: "uint256",
909
+ name: "",
910
+ type: "uint256",
911
+ },
912
+ ],
913
+ stateMutability: "view",
914
+ type: "function",
915
+ },
916
+ {
917
+ inputs: [],
918
+ name: "depositMaxFee",
919
+ outputs: [
920
+ {
921
+ internalType: "uint256",
922
+ name: "",
923
+ type: "uint256",
924
+ },
925
+ ],
926
+ stateMutability: "view",
927
+ type: "function",
928
+ },
929
+ {
930
+ inputs: [],
931
+ name: "depositPercentageBps",
932
+ outputs: [
933
+ {
934
+ internalType: "uint256",
935
+ name: "",
936
+ type: "uint256",
937
+ },
938
+ ],
939
+ stateMutability: "view",
940
+ type: "function",
941
+ },
942
+ {
943
+ inputs: [
944
+ {
945
+ internalType: "uint256",
946
+ name: "cotiAmount",
947
+ type: "uint256",
948
+ },
949
+ ],
950
+ name: "estimateDepositFee",
951
+ outputs: [
952
+ {
953
+ internalType: "uint256",
954
+ name: "fee",
955
+ type: "uint256",
956
+ },
957
+ {
958
+ internalType: "uint256",
959
+ name: "cotiLastUpdated",
960
+ type: "uint256",
961
+ },
962
+ {
963
+ internalType: "uint256",
964
+ name: "blockTimestamp",
965
+ type: "uint256",
966
+ },
967
+ ],
968
+ stateMutability: "view",
969
+ type: "function",
970
+ },
971
+ {
972
+ inputs: [
973
+ {
974
+ internalType: "uint256",
975
+ name: "cotiAmount",
976
+ type: "uint256",
977
+ },
978
+ ],
979
+ name: "estimateWithdrawFee",
980
+ outputs: [
981
+ {
982
+ internalType: "uint256",
983
+ name: "fee",
984
+ type: "uint256",
985
+ },
986
+ {
987
+ internalType: "uint256",
988
+ name: "cotiLastUpdated",
989
+ type: "uint256",
990
+ },
991
+ {
992
+ internalType: "uint256",
993
+ name: "blockTimestamp",
994
+ type: "uint256",
995
+ },
996
+ ],
997
+ stateMutability: "view",
998
+ type: "function",
999
+ },
1000
+ {
1001
+ inputs: [],
1002
+ name: "feeRecipient",
1003
+ outputs: [
1004
+ {
1005
+ internalType: "address",
1006
+ name: "",
1007
+ type: "address",
1008
+ },
1009
+ ],
1010
+ stateMutability: "view",
1011
+ type: "function",
1012
+ },
1013
+ {
1014
+ inputs: [],
1015
+ name: "getBridgeBalance",
1016
+ outputs: [
1017
+ {
1018
+ internalType: "uint256",
1019
+ name: "",
1020
+ type: "uint256",
1021
+ },
1022
+ ],
1023
+ stateMutability: "view",
1024
+ type: "function",
1025
+ },
1026
+ {
1027
+ inputs: [
1028
+ {
1029
+ internalType: "bytes32",
1030
+ name: "role",
1031
+ type: "bytes32",
1032
+ },
1033
+ ],
1034
+ name: "getRoleAdmin",
1035
+ outputs: [
1036
+ {
1037
+ internalType: "bytes32",
1038
+ name: "",
1039
+ type: "bytes32",
1040
+ },
1041
+ ],
1042
+ stateMutability: "view",
1043
+ type: "function",
1044
+ },
1045
+ {
1046
+ inputs: [
1047
+ {
1048
+ internalType: "bytes32",
1049
+ name: "role",
1050
+ type: "bytes32",
1051
+ },
1052
+ {
1053
+ internalType: "uint256",
1054
+ name: "index",
1055
+ type: "uint256",
1056
+ },
1057
+ ],
1058
+ name: "getRoleMember",
1059
+ outputs: [
1060
+ {
1061
+ internalType: "address",
1062
+ name: "",
1063
+ type: "address",
1064
+ },
1065
+ ],
1066
+ stateMutability: "view",
1067
+ type: "function",
1068
+ },
1069
+ {
1070
+ inputs: [
1071
+ {
1072
+ internalType: "bytes32",
1073
+ name: "role",
1074
+ type: "bytes32",
1075
+ },
1076
+ ],
1077
+ name: "getRoleMemberCount",
1078
+ outputs: [
1079
+ {
1080
+ internalType: "uint256",
1081
+ name: "",
1082
+ type: "uint256",
1083
+ },
1084
+ ],
1085
+ stateMutability: "view",
1086
+ type: "function",
1087
+ },
1088
+ {
1089
+ inputs: [
1090
+ {
1091
+ internalType: "bytes32",
1092
+ name: "role",
1093
+ type: "bytes32",
1094
+ },
1095
+ ],
1096
+ name: "getRoleMembers",
1097
+ outputs: [
1098
+ {
1099
+ internalType: "address[]",
1100
+ name: "",
1101
+ type: "address[]",
1102
+ },
1103
+ ],
1104
+ stateMutability: "view",
1105
+ type: "function",
1106
+ },
1107
+ {
1108
+ inputs: [
1109
+ {
1110
+ internalType: "bytes32",
1111
+ name: "role",
1112
+ type: "bytes32",
1113
+ },
1114
+ {
1115
+ internalType: "address",
1116
+ name: "account",
1117
+ type: "address",
1118
+ },
1119
+ ],
1120
+ name: "grantRole",
1121
+ outputs: [],
1122
+ stateMutability: "nonpayable",
1123
+ type: "function",
1124
+ },
1125
+ {
1126
+ inputs: [
1127
+ {
1128
+ internalType: "bytes32",
1129
+ name: "role",
1130
+ type: "bytes32",
1131
+ },
1132
+ {
1133
+ internalType: "address",
1134
+ name: "account",
1135
+ type: "address",
1136
+ },
1137
+ ],
1138
+ name: "hasRole",
1139
+ outputs: [
1140
+ {
1141
+ internalType: "bool",
1142
+ name: "",
1143
+ type: "bool",
1144
+ },
1145
+ ],
1146
+ stateMutability: "view",
1147
+ type: "function",
1148
+ },
1149
+ {
1150
+ inputs: [],
1151
+ name: "isDepositEnabled",
1152
+ outputs: [
1153
+ {
1154
+ internalType: "bool",
1155
+ name: "",
1156
+ type: "bool",
1157
+ },
1158
+ ],
1159
+ stateMutability: "view",
1160
+ type: "function",
1161
+ },
1162
+ {
1163
+ inputs: [
1164
+ {
1165
+ internalType: "address",
1166
+ name: "account",
1167
+ type: "address",
1168
+ },
1169
+ ],
1170
+ name: "isOperator",
1171
+ outputs: [
1172
+ {
1173
+ internalType: "bool",
1174
+ name: "",
1175
+ type: "bool",
1176
+ },
1177
+ ],
1178
+ stateMutability: "view",
1179
+ type: "function",
1180
+ },
1181
+ {
1182
+ inputs: [],
1183
+ name: "maxDepositAmount",
1184
+ outputs: [
1185
+ {
1186
+ internalType: "uint256",
1187
+ name: "",
1188
+ type: "uint256",
1189
+ },
1190
+ ],
1191
+ stateMutability: "view",
1192
+ type: "function",
1193
+ },
1194
+ {
1195
+ inputs: [],
1196
+ name: "maxOracleAge",
1197
+ outputs: [
1198
+ {
1199
+ internalType: "uint256",
1200
+ name: "",
1201
+ type: "uint256",
1202
+ },
1203
+ ],
1204
+ stateMutability: "view",
1205
+ type: "function",
1206
+ },
1207
+ {
1208
+ inputs: [],
1209
+ name: "maxWithdrawAmount",
1210
+ outputs: [
1211
+ {
1212
+ internalType: "uint256",
1213
+ name: "",
1214
+ type: "uint256",
1215
+ },
1216
+ ],
1217
+ stateMutability: "view",
1218
+ type: "function",
1219
+ },
1220
+ {
1221
+ inputs: [],
1222
+ name: "minDepositAmount",
1223
+ outputs: [
1224
+ {
1225
+ internalType: "uint256",
1226
+ name: "",
1227
+ type: "uint256",
1228
+ },
1229
+ ],
1230
+ stateMutability: "view",
1231
+ type: "function",
1232
+ },
1233
+ {
1234
+ inputs: [],
1235
+ name: "minWithdrawAmount",
1236
+ outputs: [
1237
+ {
1238
+ internalType: "uint256",
1239
+ name: "",
1240
+ type: "uint256",
1241
+ },
1242
+ ],
1243
+ stateMutability: "view",
1244
+ type: "function",
1245
+ },
1246
+ {
1247
+ inputs: [],
1248
+ name: "owner",
1249
+ outputs: [
1250
+ {
1251
+ internalType: "address",
1252
+ name: "",
1253
+ type: "address",
1254
+ },
1255
+ ],
1256
+ stateMutability: "view",
1257
+ type: "function",
1258
+ },
1259
+ {
1260
+ inputs: [],
1261
+ name: "pause",
1262
+ outputs: [],
1263
+ stateMutability: "nonpayable",
1264
+ type: "function",
1265
+ },
1266
+ {
1267
+ inputs: [],
1268
+ name: "paused",
1269
+ outputs: [
1270
+ {
1271
+ internalType: "bool",
1272
+ name: "",
1273
+ type: "bool",
1274
+ },
1275
+ ],
1276
+ stateMutability: "view",
1277
+ type: "function",
1278
+ },
1279
+ {
1280
+ inputs: [],
1281
+ name: "priceOracle",
1282
+ outputs: [
1283
+ {
1284
+ internalType: "address",
1285
+ name: "",
1286
+ type: "address",
1287
+ },
1288
+ ],
1289
+ stateMutability: "view",
1290
+ type: "function",
1291
+ },
1292
+ {
1293
+ inputs: [],
1294
+ name: "privateCoti",
1295
+ outputs: [
1296
+ {
1297
+ internalType: "contract PrivateCOTI",
1298
+ name: "",
1299
+ type: "address",
1300
+ },
1301
+ ],
1302
+ stateMutability: "view",
1303
+ type: "function",
1304
+ },
1305
+ {
1306
+ inputs: [
1307
+ {
1308
+ internalType: "address",
1309
+ name: "",
1310
+ type: "address",
1311
+ },
1312
+ ],
1313
+ name: "refundableNativeExcess",
1314
+ outputs: [
1315
+ {
1316
+ internalType: "uint256",
1317
+ name: "",
1318
+ type: "uint256",
1319
+ },
1320
+ ],
1321
+ stateMutability: "view",
1322
+ type: "function",
1323
+ },
1324
+ {
1325
+ inputs: [
1326
+ {
1327
+ internalType: "address",
1328
+ name: "account",
1329
+ type: "address",
1330
+ },
1331
+ ],
1332
+ name: "removeFromBlacklist",
1333
+ outputs: [],
1334
+ stateMutability: "nonpayable",
1335
+ type: "function",
1336
+ },
1337
+ {
1338
+ inputs: [
1339
+ {
1340
+ internalType: "address",
1341
+ name: "account",
1342
+ type: "address",
1343
+ },
1344
+ ],
1345
+ name: "removeOperator",
1346
+ outputs: [],
1347
+ stateMutability: "nonpayable",
1348
+ type: "function",
1349
+ },
1350
+ {
1351
+ inputs: [],
1352
+ name: "renounceOwnership",
1353
+ outputs: [],
1354
+ stateMutability: "nonpayable",
1355
+ type: "function",
1356
+ },
1357
+ {
1358
+ inputs: [
1359
+ {
1360
+ internalType: "bytes32",
1361
+ name: "role",
1362
+ type: "bytes32",
1363
+ },
1364
+ {
1365
+ internalType: "address",
1366
+ name: "callerConfirmation",
1367
+ type: "address",
1368
+ },
1369
+ ],
1370
+ name: "renounceRole",
1371
+ outputs: [],
1372
+ stateMutability: "nonpayable",
1373
+ type: "function",
1374
+ },
1375
+ {
1376
+ inputs: [
1377
+ {
1378
+ internalType: "uint256",
1379
+ name: "amount",
1380
+ type: "uint256",
1381
+ },
1382
+ ],
1383
+ name: "rescueNative",
1384
+ outputs: [],
1385
+ stateMutability: "nonpayable",
1386
+ type: "function",
1387
+ },
1388
+ {
1389
+ inputs: [],
1390
+ name: "rescueRecipient",
1391
+ outputs: [
1392
+ {
1393
+ internalType: "address",
1394
+ name: "",
1395
+ type: "address",
1396
+ },
1397
+ ],
1398
+ stateMutability: "view",
1399
+ type: "function",
1400
+ },
1401
+ {
1402
+ inputs: [
1403
+ {
1404
+ internalType: "bytes32",
1405
+ name: "role",
1406
+ type: "bytes32",
1407
+ },
1408
+ {
1409
+ internalType: "address",
1410
+ name: "account",
1411
+ type: "address",
1412
+ },
1413
+ ],
1414
+ name: "revokeRole",
1415
+ outputs: [],
1416
+ stateMutability: "nonpayable",
1417
+ type: "function",
1418
+ },
1419
+ {
1420
+ inputs: [
1421
+ {
1422
+ internalType: "uint256",
1423
+ name: "_fixedFee",
1424
+ type: "uint256",
1425
+ },
1426
+ {
1427
+ internalType: "uint256",
1428
+ name: "_percentageBps",
1429
+ type: "uint256",
1430
+ },
1431
+ {
1432
+ internalType: "uint256",
1433
+ name: "_maxFee",
1434
+ type: "uint256",
1435
+ },
1436
+ ],
1437
+ name: "setDepositDynamicFee",
1438
+ outputs: [],
1439
+ stateMutability: "nonpayable",
1440
+ type: "function",
1441
+ },
1442
+ {
1443
+ inputs: [
1444
+ {
1445
+ internalType: "bool",
1446
+ name: "_enabled",
1447
+ type: "bool",
1448
+ },
1449
+ ],
1450
+ name: "setIsDepositEnabled",
1451
+ outputs: [],
1452
+ stateMutability: "nonpayable",
1453
+ type: "function",
1454
+ },
1455
+ {
1456
+ inputs: [
1457
+ {
1458
+ internalType: "uint256",
1459
+ name: "_minDeposit",
1460
+ type: "uint256",
1461
+ },
1462
+ {
1463
+ internalType: "uint256",
1464
+ name: "_maxDeposit",
1465
+ type: "uint256",
1466
+ },
1467
+ {
1468
+ internalType: "uint256",
1469
+ name: "_minWithdraw",
1470
+ type: "uint256",
1471
+ },
1472
+ {
1473
+ internalType: "uint256",
1474
+ name: "_maxWithdraw",
1475
+ type: "uint256",
1476
+ },
1477
+ ],
1478
+ name: "setLimits",
1479
+ outputs: [],
1480
+ stateMutability: "nonpayable",
1481
+ type: "function",
1482
+ },
1483
+ {
1484
+ inputs: [
1485
+ {
1486
+ internalType: "uint256",
1487
+ name: "_maxOracleAge",
1488
+ type: "uint256",
1489
+ },
1490
+ ],
1491
+ name: "setMaxOracleAge",
1492
+ outputs: [],
1493
+ stateMutability: "nonpayable",
1494
+ type: "function",
1495
+ },
1496
+ {
1497
+ inputs: [
1498
+ {
1499
+ internalType: "address",
1500
+ name: "_oracle",
1501
+ type: "address",
1502
+ },
1503
+ ],
1504
+ name: "setPriceOracle",
1505
+ outputs: [],
1506
+ stateMutability: "nonpayable",
1507
+ type: "function",
1508
+ },
1509
+ {
1510
+ inputs: [
1511
+ {
1512
+ internalType: "uint256",
1513
+ name: "_fixedFee",
1514
+ type: "uint256",
1515
+ },
1516
+ {
1517
+ internalType: "uint256",
1518
+ name: "_percentageBps",
1519
+ type: "uint256",
1520
+ },
1521
+ {
1522
+ internalType: "uint256",
1523
+ name: "_maxFee",
1524
+ type: "uint256",
1525
+ },
1526
+ ],
1527
+ name: "setWithdrawDynamicFee",
1528
+ outputs: [],
1529
+ stateMutability: "nonpayable",
1530
+ type: "function",
1531
+ },
1532
+ {
1533
+ inputs: [
1534
+ {
1535
+ internalType: "bytes4",
1536
+ name: "interfaceId",
1537
+ type: "bytes4",
1538
+ },
1539
+ ],
1540
+ name: "supportsInterface",
1541
+ outputs: [
1542
+ {
1543
+ internalType: "bool",
1544
+ name: "",
1545
+ type: "bool",
1546
+ },
1547
+ ],
1548
+ stateMutability: "view",
1549
+ type: "function",
1550
+ },
1551
+ {
1552
+ inputs: [],
1553
+ name: "totalUserLiability",
1554
+ outputs: [
1555
+ {
1556
+ internalType: "uint256",
1557
+ name: "",
1558
+ type: "uint256",
1559
+ },
1560
+ ],
1561
+ stateMutability: "view",
1562
+ type: "function",
1563
+ },
1564
+ {
1565
+ inputs: [
1566
+ {
1567
+ internalType: "address",
1568
+ name: "newOwner",
1569
+ type: "address",
1570
+ },
1571
+ ],
1572
+ name: "transferOwnership",
1573
+ outputs: [],
1574
+ stateMutability: "nonpayable",
1575
+ type: "function",
1576
+ },
1577
+ {
1578
+ inputs: [],
1579
+ name: "unpause",
1580
+ outputs: [],
1581
+ stateMutability: "nonpayable",
1582
+ type: "function",
1583
+ },
1584
+ {
1585
+ inputs: [
1586
+ {
1587
+ internalType: "uint256",
1588
+ name: "amount",
1589
+ type: "uint256",
1590
+ },
1591
+ {
1592
+ internalType: "uint256",
1593
+ name: "cotiOracleTimestamp",
1594
+ type: "uint256",
1595
+ },
1596
+ {
1597
+ internalType: "uint256",
1598
+ name: "tokenOracleTimestamp",
1599
+ type: "uint256",
1600
+ },
1601
+ ],
1602
+ name: "withdraw",
1603
+ outputs: [],
1604
+ stateMutability: "nonpayable",
1605
+ type: "function",
1606
+ },
1607
+ {
1608
+ inputs: [
1609
+ {
1610
+ internalType: "uint256",
1611
+ name: "amount",
1612
+ type: "uint256",
1613
+ },
1614
+ ],
1615
+ name: "withdrawCotiFees",
1616
+ outputs: [],
1617
+ stateMutability: "nonpayable",
1618
+ type: "function",
1619
+ },
1620
+ {
1621
+ inputs: [
1622
+ {
1623
+ internalType: "uint256",
1624
+ name: "amount",
1625
+ type: "uint256",
1626
+ },
1627
+ ],
1628
+ name: "withdrawFees",
1629
+ outputs: [],
1630
+ stateMutability: "nonpayable",
1631
+ type: "function",
1632
+ },
1633
+ {
1634
+ inputs: [],
1635
+ name: "withdrawFixedFee",
1636
+ outputs: [
1637
+ {
1638
+ internalType: "uint256",
1639
+ name: "",
1640
+ type: "uint256",
1641
+ },
1642
+ ],
1643
+ stateMutability: "view",
1644
+ type: "function",
1645
+ },
1646
+ {
1647
+ inputs: [],
1648
+ name: "withdrawMaxFee",
1649
+ outputs: [
1650
+ {
1651
+ internalType: "uint256",
1652
+ name: "",
1653
+ type: "uint256",
1654
+ },
1655
+ ],
1656
+ stateMutability: "view",
1657
+ type: "function",
1658
+ },
1659
+ {
1660
+ inputs: [],
1661
+ name: "withdrawPercentageBps",
1662
+ outputs: [
1663
+ {
1664
+ internalType: "uint256",
1665
+ name: "",
1666
+ type: "uint256",
1667
+ },
1668
+ ],
1669
+ stateMutability: "view",
1670
+ type: "function",
1671
+ },
1672
+ {
1673
+ stateMutability: "payable",
1674
+ type: "receive",
1675
+ },
1676
+ ] as const;
1677
+
1678
+ const _bytecode =
1679
+ "0x6080346200028657601f6200371938819003918201601f191683019291906001600160401b038411838510176200028b57816080928492604096875283398101031262000286576200005181620002a1565b6200005f60208301620002a1565b906200007b606062000073868601620002a1565b9401620002a1565b600160009181835533156200026e578154610100600160a81b0319811633600881811b610100600160a81b03169290921785558951986001600160a01b0398909389939192911c83167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a38460ff19600a541617600a55678ac7230489e80000600b556101f4600c5568a2a15d09519be00000600d556729a2241af62c0000600e5560fa600f55685150ae84a8cdf00000601055169687156200025f575085169081156200024e5785169182156200024e57600019806004556005558060065560075560018060a01b03199586601354161760135585601454161760145580856011541617601155610834601255817f56b5f80d8cac1479698aa7d01605fd6111e90b15fc4d2b377417f46034876cbd8180a3620001bb33620002b6565b62000231575b620001cc3362000337565b62000203575b5016908115620001f2576017541617601755516132829081620004578239f35b825163e6c4247b60e01b8152600490fd5b80600080516020620036f9833981519152620002299252600360205285339120620003c9565b5038620001d2565b80805260036020526200024733868320620003c9565b50620001c1565b875163e6c4247b60e01b8152600490fd5b63e6c4247b60e01b8152600490fd5b8651631e4fbdf760e01b815260048101849052602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200028657565b6001600160a01b031660008181527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b602052604081205490919060ff16620003335781805260026020526040822081835260205260408220600160ff198254161790553391600080516020620036d98339815191528180a4600190565b5090565b6001600160a01b031660008181527f6bc781d8c7f9885ebbb3cefbc18932c491038e2ae5c5b56447891e0bd98ea1636020526040812054909190600080516020620036f98339815191529060ff16620003c45780835260026020526040832082845260205260408320600160ff19825416179055600080516020620036d9833981519152339380a4600190565b505090565b919060018301600090828252806020526040822054156000146200045057845494680100000000000000008610156200043c57600186018082558610156200042857836040949596828552602085200155549382526020522055600190565b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b83526041600452602483fd5b5092505056fe6080604081815260049182361015610234575b50361561001e57600080fd5b610026612b34565b61002e612a69565b600090338252601560205260ff81832054166102065760ff600a5416156101de5734156101b65761005e34612feb565b610071600b54600c54600d549134612b8a565b50509061007e823461280d565b91821561018e5761009190600854612fde565b6008556100a082600954612fde565b60095573ffffffffffffffffffffffffffffffffffffffff6017541693843b1561018a5781517f40c10f19000000000000000000000000000000000000000000000000000000008152339181019182526020820184905294849186919082908490829060400103925af19384156101805760019461014d575b50807f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1591519234845260208401523392a255005b926101797f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159294612984565b9290610119565b81513d85823e3d90fd5b8380fd5b8482517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b9050517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b9050517ffb291504000000000000000000000000000000000000000000000000000000008152fd5b517fdaf49ab90000000000000000000000000000000000000000000000000000000081523381840152602490fd5b600090813560e01c90816301ffc9a7146120965750806302ef36c71461207757806305931495146120425780630593816d14611fde5780631413703314611f9a5780631823090d14611f6f578063248a9ca314611f4457806324a88d8c14611f255780632630c12f14611ef05780632f2ff15d14611e7757806336568abe14611e0b5780633f4ba83a14611db357806344337ea114611d33578063454aa66914611c55578063457e1a4914611c365780634690484014611c015780634a96e64a14611be257806351533f2e14611b34578063530e784f14611a76578063537df3b6146119d25780635656fc78146119ae5780635c975abb1461198a5780635e318e07146118d2578063645006ca146118b357806367b16967146118945780636d70f7ae14611822578063715018a6146117aa57806376bddaaf1461175f57806377cfbf261461173757806379cef02f146117185780637c87a993146116f95780638456cb591461169f5780638da5cb5b146116675780638ed83271146116495780639010d07c146115fa57806391d14854146115a75780639870d7fe146114ee5780639e93ad8e146114d05780639f578e46146114b1578063a075b7c714611411578063a217fddf146113f6578063a3246ad31461133e578063a41fe49f1461102b578063ac8a584a14610f4b578063b67b62b914610f16578063bcd0a5d214610dfc578063ca15c87314610dd4578063d547741f14610d92578063d6501cbb14610c96578063dbac26e914610c4d578063e2bbb15814610a3b578063e490dd7014610a1e578063f0bc86de14610a03578063f169b472146109e5578063f2fde38b14610778578063f516440c14610759578063f5b541a61461071e578063f74598b21461059f578063f835c9d01461051d578063fa4f4a52146104fe5763fdb1f56a036100125790346104fa57816003193601126104fa57602090600d549051908152f35b5080fd5b5090346104fa57816003193601126104fa576020906009549051908152f35b5091903461059b57602060031936011261059b5781359161053c612a15565b8215610574575081601255519081527f6adc88f5461ba8cdd7d391cfe694a80b1ce722232a2a11690b4c11df049ae64560203392a280f35b90517fe7a59d50000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b50913461059b57602060031936011261059b578035906105bd612a15565b6105c5612b34565b73ffffffffffffffffffffffffffffffffffffffff90816013541680156106f65783156106ce576008548085116106a65747851161067e57868086819461060d82849661280d565b6008555af161061a612ad6565b501561065757507f6713db2cbc67f02bd2006245076c3e8a482a624218d1e3bc5313216d3347fb7a91602091601354169351908152a26001815580f35b83517f6d963f88000000000000000000000000000000000000000000000000000000008152fd5b8286517fb6d6e7d6000000000000000000000000000000000000000000000000000000008152fd5b8286517f80d4440f000000000000000000000000000000000000000000000000000000008152fd5b5083517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b5083517f6dd72d47000000000000000000000000000000000000000000000000000000008152fd5b5090346104fa57816003193601126104fa57602090517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b5090346104fa57816003193601126104fa576020906005549051908152f35b50913461059b576020918260031936011261018a57610795612168565b9161079e612a15565b73ffffffffffffffffffffffffffffffffffffffff938484169384156109bd5794917f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299586885285600394858552868a2054805b61095e5750898052858552868a205493845b6108cd57506108959350610816612a15565b60015474ffffffffffffffffffffffffffffffffffffffff008460081b167fffffffffffffffffffffff0000000000000000000000000000000000000000ff82161760015560081c167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08a80a361088c816123e3565b6108b557612323565b61089d578580f35b6108ab94865252832061276a565b5038808080808580f35b8780528383526108c786868a2061276a565b50612323565b9150919260001981018181116109325790836108f461090f938a8e8080528b8b5220612723565b905490891b1c1661090481612606565b610919575b50612a08565b9291879184610804565b61092b908c8052888852898d20612849565b5038610909565b60248b6011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b909293915060001981018181116109325790836109866109a0938a8e8e81528b8b5220612723565b905490891b1c166109968161254d565b6109ab5750612a08565b9182889294936107f2565b61092b908b8d52888852898d20612849565b8284517fe6c4247b000000000000000000000000000000000000000000000000000000008152fd5b5090346104fa57816003193601126104fa5760209051620186a08152f35b5090346104fa57816003193601126104fa5751478152602090f35b5090346104fa57816003193601126104fa57602090516108348152f35b5091908060031936011261059b57610a51612b34565b610a59612a69565b338352601560205260ff8184205416610c1d5760ff600a541615610bf7573415610bd157610a8634612feb565b610a9b610a91612f94565b6024358435613052565b610aae600b54600c54600d549134612b8a565b505091610abb833461280d565b928315610ba95790610ad08592600854612fde565b600855610adf84600954612fde565b60095573ffffffffffffffffffffffffffffffffffffffff60175416803b1561059b5783517f40c10f190000000000000000000000000000000000000000000000000000000081523392810192835260208301869052918391839182908490829060400103925af18015610b9f57610b8b575b5050807f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1591519234845260208401523392a26001815580f35b610b9490612984565b61059b578238610b52565b83513d84823e3d90fd5b5090517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b517ffb291504000000000000000000000000000000000000000000000000000000008152fd5b6024925051907fdaf49ab90000000000000000000000000000000000000000000000000000000082523390820152fd5b5090346104fa5760206003193601126104fa5760ff8160209373ffffffffffffffffffffffffffffffffffffffff610c83612168565b1681526015855220541690519015158152f35b5091903461059b57610ca7366121b3565b92909193610cb4336121eb565b8315610d6b57838511610d6b57620186a08311610d44575091839160c0937f31f26ae97f0679c414281c4a96005dcd58f94f687f26c8cd694339591ec527e995600b5581600c5582600d5580519360808552600760808601527f6465706f7369740000000000000000000000000000000000000000000000000060a086015260208501528301526060820152a180f35b90517f58d620b3000000000000000000000000000000000000000000000000000000008152fd5b90517f6d24edae000000000000000000000000000000000000000000000000000000008152fd5b5091903461059b578060031936011261059b57610dd09135610dcb6001610db7612190565b9383875260026020528620015433906122e4565b61250a565b5080f35b50913461059b57602060031936011261059b5760209282913581526003845220549051908152f35b5091903461059b578260031936011261059b57610e17612b34565b338352601560205260ff8184205416610c1d57338352601660205280832054918215610eef5733845260166020528382812055824710610ec8578380808086335af1610e61612ad6565b5015610e995750519081527f8f15f7693914bf0bc5306dcc835a56be260fe9007cca42d7b3e85f01820678b560203392a26001815580f35b338452601660205290517f6d963f88000000000000000000000000000000000000000000000000000000008152fd5b90517fb6d6e7d6000000000000000000000000000000000000000000000000000000008152fd5b90517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b5090346104fa57816003193601126104fa5760209073ffffffffffffffffffffffffffffffffffffffff601454169051908152f35b5091903461059b57602060031936011261059b57610f67612168565b610f7033612294565b73ffffffffffffffffffffffffffffffffffffffff81169283156110045750610f99839161254d565b610fc9575b505033907f17d7f044d47e4fae1701f86266d0a674db3f792671bd1b974ace77a09af1c8278380a380f35b610ffc917f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929855260036020528420612849565b503881610f9e565b82517fe6c4247b000000000000000000000000000000000000000000000000000000008152fd5b5091903461059b5761103c366121b3565b611047949294612b34565b61104f612a69565b338652601560205260ff848720541661130f5784156112e75760075485106112bf576005548511611297579061108d91611087612f94565b91613052565b6110a0600e54600f546010549186612b8a565b5050906110ad828561280d565b91821561126f576110c090600854612fde565b600855814710611248576110d68460095461280d565b60095573ffffffffffffffffffffffffffffffffffffffff858160175416803b156104fa57819060648751809481937f23b872dd00000000000000000000000000000000000000000000000000000000835233898401523060248401528b60448401525af1801561123e5761122b575b50859060175416803b156104fa5781809160248751809481937f42966c680000000000000000000000000000000000000000000000000000000083528b898401525af1801561122157611209575b5080808085335af16111a4612ad6565b50156111e25750907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891815193845260208401523392a26001815580f35b82517f6d963f88000000000000000000000000000000000000000000000000000000008152fd5b61121290612984565b61121d578438611194565b8480fd5b85513d84823e3d90fd5b61123790969196612984565b9438611146565b85513d89823e3d90fd5b82517fb6d6e7d6000000000000000000000000000000000000000000000000000000008152fd5b5082517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b8284517f9aae5367000000000000000000000000000000000000000000000000000000008152fd5b8284517f0fdbcf37000000000000000000000000000000000000000000000000000000008152fd5b8284517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b83517fdaf49ab90000000000000000000000000000000000000000000000000000000081523381850152602490fd5b508290346113f357602091826003193601126104fa5792919235815260038352818120908251808584549182815201908194845286842090845b8181106113df575050508161138e9103826129c7565b83519485948186019282875251809352850193925b8281106113b257505050500390f35b835173ffffffffffffffffffffffffffffffffffffffff16855286955093810193928101926001016113a3565b825484529288019260019283019201611378565b80fd5b5090346104fa57816003193601126104fa5751908152602090f35b5091903461059b57611422366121cd565b939190929461142f612a15565b81861161148a5784841161148a579181869492608096947fe3eb5d4eccdae2d96efa105f65c8db865f9fc72984f2b879a27448fed50d181598600655558260075583600555815194855260208501528301526060820152a180f35b82517f401f33c6000000000000000000000000000000000000000000000000000000008152fd5b5090346104fa57816003193601126104fa57602090600c549051908152f35b5090346104fa57816003193601126104fa5760209051620f42408152f35b5091903461059b57602060031936011261059b5761150a612168565b61151333612294565b73ffffffffffffffffffffffffffffffffffffffff8116928315611004575061153c8391612323565b61156c575b505033907f0780dc183feb0e4f9714cd802b3c0a21894b7ccb4172c992569d2acb5d45f91c8380a380f35b61159f917f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92985526003602052842061276a565b503881611541565b50913461059b578160031936011261059b578160209360ff926115c8612190565b903582526002865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50913461059b578160031936011261059b5761163a60209373ffffffffffffffffffffffffffffffffffffffff9235815260038552836024359120612723565b90549060031b1c169051908152f35b50913461059b578260031936011261059b5760209250549051908152f35b5090346104fa57816003193601126104fa5760209073ffffffffffffffffffffffffffffffffffffffff60015460081c169051908152f35b5090346104fa57816003193601126104fa5760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258916116dd612a15565b6116e5612a69565b600160ff198154161760015551338152a180f35b5090346104fa57816003193601126104fa576020906012549051908152f35b5090346104fa57816003193601126104fa57602090600e549051908152f35b5090346104fa5760209061175661174d366121cd565b92919091612b8a565b50509051908152f35b50346113f35760206003193601126113f3575061178a6117a692600e54600f54906010549235612b8a565b9251918252602082015260408101919091529081906060820190565b0390f35b508290346113f357806003193601126113f3575060206064926117cb612a15565b51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601a60248201527f72656e6f756e63654f776e6572736869702064697361626c65640000000000006044820152fd5b5090346104fa5760206003193601126104fa5760ff81602093611843612168565b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92982526002865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b5090346104fa57816003193601126104fa576020906008549051908152f35b5090346104fa57816003193601126104fa576020906006549051908152f35b50913461059b57602060031936011261059b578035906118f0612a15565b6118f8612b34565b73ffffffffffffffffffffffffffffffffffffffff90816013541680156106f65783156106ce576008548085116106a65747851161067e57868086819461194082849661280d565b6008555af161194d612ad6565b501561065757507fc0819c13be868895eb93e40eaceb96de976442fa1d404e5c55f14bb65a8c489a91602091601354169351908152a26001815580f35b5090346104fa57816003193601126104fa5760209060ff6001541690519015158152f35b5090346104fa57816003193601126104fa5760209060ff600a541690519015158152f35b5091903461059b57602060031936011261059b5773ffffffffffffffffffffffffffffffffffffffff611a03612168565b611a0b612a15565b16918215611a4f57508183526015602052822060ff19815416905533907fddefc0a59221feeeed94e0dfd671eaea15033e71db0fd1d9963a95a37dc90e768380a380f35b90517fe6c4247b000000000000000000000000000000000000000000000000000000008152fd5b50913461059b57602060031936011261059b57611a91612168565b90611a9a612a15565b73ffffffffffffffffffffffffffffffffffffffff809216928315611b0e575050601154827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617601155167f56b5f80d8cac1479698aa7d01605fd6111e90b15fc4d2b377417f46034876cbd8380a380f35b517fe6c4247b000000000000000000000000000000000000000000000000000000008152fd5b5091903461059b57611b45366121b3565b92909193611b52336121eb565b8315610d6b57838511610d6b57620186a08311610d44575091839160c0937f31f26ae97f0679c414281c4a96005dcd58f94f687f26c8cd694339591ec527e995600e5581600f558260105580519360808552600860808601527f776974686472617700000000000000000000000000000000000000000000000060a086015260208501528301526060820152a180f35b5090346104fa57816003193601126104fa576020906010549051908152f35b5090346104fa57816003193601126104fa5760209073ffffffffffffffffffffffffffffffffffffffff601354169051908152f35b5090346104fa57816003193601126104fa576020906007549051908152f35b50913461059b57602060031936011261059b57803590611c73612a15565b611c7b612b34565b611c83612a9f565b8115611d0c574782116112485773ffffffffffffffffffffffffffffffffffffffff90848080808686601454165af1611cba612ad6565b501561065757507fe3eb98b7fe2a0c1d490b92af73eeae611e9b00ab3c3f70b20bd7bb43f67a0f4391602091478060085411611d03575b50601454169351908152a26001815580f35b60085538611cf1565b82517fcbca5aa2000000000000000000000000000000000000000000000000000000008152fd5b5091903461059b57602060031936011261059b5773ffffffffffffffffffffffffffffffffffffffff611d64612168565b611d6c612a15565b16918215611a4f575081835260156020528220600160ff1982541617905533907fd36871fdf6981136f3ac0564927005901eda06f7a9dff1e8b2a1d7846b8ebb508380a380f35b5090346104fa57816003193601126104fa5760207f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa91611df1612a15565b611df9612a9f565b60ff196001541660015551338152a180f35b5090346104fa57806003193601126104fa57611e25612190565b903373ffffffffffffffffffffffffffffffffffffffff831603611e4f5750610dd091923561250a565b8390517f6697b232000000000000000000000000000000000000000000000000000000008152fd5b50913461059b578160031936011261059b5735611e92612190565b908084526002602052611eac6001848620015433906122e4565b611eb68282612481565b611ebe578380f35b83526003602052908220611ee89173ffffffffffffffffffffffffffffffffffffffff169061276a565b503880808380f35b5090346104fa57816003193601126104fa5760209073ffffffffffffffffffffffffffffffffffffffff601154169051908152f35b5090346104fa57816003193601126104fa57602090600f549051908152f35b50913461059b57602060031936011261059b5781602093600192358152600285522001549051908152f35b50346113f35760206003193601126113f3575061178a6117a692600b54600c5490600d549235612b8a565b5090346104fa5760206003193601126104fa578060209273ffffffffffffffffffffffffffffffffffffffff611fce612168565b1681526016845220549051908152f35b50913461059b57602060031936011261059b57359081151580920361059b57612006336121eb565b60ff19600a541660ff831617600a55519081527fc274c9c09f7e9671b11a6795ddded70309e956077fea0c658625581bc87768fd60203392a280f35b5090346104fa57816003193601126104fa5760209073ffffffffffffffffffffffffffffffffffffffff601754169051908152f35b5090346104fa57816003193601126104fa57602090600b549051908152f35b9050833461059b57602060031936011261059b57357fffffffff00000000000000000000000000000000000000000000000000000000811680910361059b57602092507f5a05180f00000000000000000000000000000000000000000000000000000000811490811561210b575b5015158152f35b7f7965db0b0000000000000000000000000000000000000000000000000000000081149150811561213e575b5083612104565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483612137565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361218b57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361218b57565b600319606091011261218b57600435906024359060443590565b600319608091011261218b5760043590602435906044359060643590565b73ffffffffffffffffffffffffffffffffffffffff1660008181527f6bc781d8c7f9885ebbb3cefbc18932c491038e2ae5c5b56447891e0bd98ea16360205260409020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff161561225d575050565b60449250604051917fe2517d3f00000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b73ffffffffffffffffffffffffffffffffffffffff1660008181527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b602052604081205460ff161561225d575050565b80600052600260205273ffffffffffffffffffffffffffffffffffffffff60406000209216918260005260205260ff604060002054161561225d575050565b73ffffffffffffffffffffffffffffffffffffffff1660008181527f6bc781d8c7f9885ebbb3cefbc18932c491038e2ae5c5b56447891e0bd98ea16360205260408120549091907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff166123de5780835260026020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b73ffffffffffffffffffffffffffffffffffffffff1660008181527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b602052604081205490919060ff1661247d5781805260026020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b5090565b90600091808352600260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416156000146123de5780835260026020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b612514828261269e565b918261251f57505090565b61247d91600052600360205273ffffffffffffffffffffffffffffffffffffffff6040600020911690612849565b73ffffffffffffffffffffffffffffffffffffffff1660008181527f6bc781d8c7f9885ebbb3cefbc18932c491038e2ae5c5b56447891e0bd98ea16360205260408120549091907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff16156123de578083526002602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b73ffffffffffffffffffffffffffffffffffffffff1660008181527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b602052604081205490919060ff161561247d578180526002602052604082208183526020526040822060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8180a4600190565b90600091808352600260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff6040842054166000146123de578083526002602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b805482101561273b5760005260206000200190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190600183016000908282528060205260408220541560001461280757845494680100000000000000008610156127da57836127ca6127b3886001604098999a01855584612723565b81939154906000199060031b92831b921b19161790565b9055549382526020522055600190565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50925050565b9190820391821161281a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9060018201906000928184528260205260408420549081151560001461297d576000199182810181811161295057825490848201918211612923578181036128ee575b505050805480156128c1578201916128a48383612723565b909182549160031b1b191690555582526020526040812055600190565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526031600452fd5b61290e6128fe6127b39386612723565b90549060031b1c92839286612723565b9055865284602052604086205538808061288c565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b5050505090565b67ffffffffffffffff811161299857604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761299857604052565b801561281a576000190190565b73ffffffffffffffffffffffffffffffffffffffff60015460081c163303612a3957565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b60ff60015416612a7557565b60046040517fd93c0665000000000000000000000000000000000000000000000000000000008152fd5b60ff6001541615612aac57565b60046040517f8dfc202b000000000000000000000000000000000000000000000000000000008152fd5b3d15612b2f573d9067ffffffffffffffff82116129985760405191612b2360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846129c7565b82523d6000602084013e565b606090565b600260005414612b45576002600055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b9081606091031261218b578051916040602083015192015190565b9290939193612b97612eb9565b73ffffffffffffffffffffffffffffffffffffffff6011541694606060405180977f6f62ebfb0000000000000000000000000000000000000000000000000000000082528180612c1c6004820160609060208152600460208201527f434f54490000000000000000000000000000000000000000000000000000000060408201520190565b03915afa948515612ce75760009081978297612caf575b508115612c8557612c5e92612c5483612c5993612c4f8c612f03565b612cf3565b612d7a565b612de4565b9080821115612c7e57505b81811115612c775750929190565b9050929190565b9050612c69565b60046040517f1f8f95a0000000000000000000000000000000000000000000000000000000008152fd5b91509550612cd591965060603d8111612ce0575b612ccd81836129c7565b810190612b6f565b969190969538612c33565b503d612cc3565b6040513d6000823e3d90fd5b9060001981830981830291828083109203918083039214612d6957670de0b6b3a76400009082821115612d56577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669940990828211900360ee1b910360121c170290565b634e487b7160005260116020526024601cfd5b5050670de0b6b3a764000091500490565b9060001981830981830291828083109203918083039214612dd857620f42409082821115612d56577fde8f6cefed634549b62c77574f722e1ac57e23f24d8fd5cb790fb65668c26139940990828211900360fa1b910360061c170290565b5050620f424091500490565b670de0b6b3a7640000916000198383099280830292838086109503948086039514612e7c5784831115612e63579082910981600003821680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b82634e487b71600052156003026011186020526024601cfd5b505080925015612e8a570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff6011541615612ed957565b60046040517ff9b42874000000000000000000000000000000000000000000000000000000008152fd5b60125490428111612f635781612f19824261280d565b11612f22575050565b6040517f938a000400000000000000000000000000000000000000000000000000000000815260048101919091524260248201526044810191909152606490fd5b602490604051907f9a30b3c30000000000000000000000000000000000000000000000000000000082526004820152fd5b604051906040820182811067ffffffffffffffff82111761299857604052600482527f434f5449000000000000000000000000000000000000000000000000000000006020830152565b9190820180921161281a57565b60065481106130285760045410612ffe57565b60046040517fd630062d000000000000000000000000000000000000000000000000000000008152fd5b60046040517fc24b1b61000000000000000000000000000000000000000000000000000000008152fd5b90929161305d612eb9565b73ffffffffffffffffffffffffffffffffffffffff60115416906040918251917f6f62ebfb00000000000000000000000000000000000000000000000000000000928381526060958682806130e76004820160609060208152600460208201527f434f54490000000000000000000000000000000000000000000000000000000060408201520190565b0381875afa91821561326a57600092613248575b508082036132135750916131128693949294612f03565b84519384928352602080600485015281519182602486015260005b8381106131f9575050506044837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84600085859786010152011681010301915afa9283156131ee576000936131cc575b50508382036131965750613194919250612f03565b565b604493925051917f997c558e00000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b6131e3929350803d10612ce057612ccd81836129c7565b50905090388061317f565b82513d6000823e3d90fd5b81810183015188820160440152899650879550820161312d565b6044918651917f997c558e00000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b613260919250873d8911612ce057612ccd81836129c7565b50905090386130fb565b86513d6000823e3d90fdfea164736f6c6343000814000a2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929";
1680
+
1681
+ type PrivacyBridgeCotiNativeConstructorParams =
1682
+ | [signer?: Signer]
1683
+ | ConstructorParameters<typeof ContractFactory>;
1684
+
1685
+ const isSuperArgs = (
1686
+ xs: PrivacyBridgeCotiNativeConstructorParams
1687
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1688
+
1689
+ export class PrivacyBridgeCotiNative__factory extends ContractFactory {
1690
+ constructor(...args: PrivacyBridgeCotiNativeConstructorParams) {
1691
+ if (isSuperArgs(args)) {
1692
+ super(...args);
1693
+ } else {
1694
+ super(_abi, _bytecode, args[0]);
1695
+ }
1696
+ }
1697
+
1698
+ override getDeployTransaction(
1699
+ _privateCoti: AddressLike,
1700
+ _feeRecipient: AddressLike,
1701
+ _rescueRecipient: AddressLike,
1702
+ _priceOracle: AddressLike,
1703
+ overrides?: NonPayableOverrides & { from?: string }
1704
+ ): Promise<ContractDeployTransaction> {
1705
+ return super.getDeployTransaction(
1706
+ _privateCoti,
1707
+ _feeRecipient,
1708
+ _rescueRecipient,
1709
+ _priceOracle,
1710
+ overrides || {}
1711
+ );
1712
+ }
1713
+ override deploy(
1714
+ _privateCoti: AddressLike,
1715
+ _feeRecipient: AddressLike,
1716
+ _rescueRecipient: AddressLike,
1717
+ _priceOracle: AddressLike,
1718
+ overrides?: NonPayableOverrides & { from?: string }
1719
+ ) {
1720
+ return super.deploy(
1721
+ _privateCoti,
1722
+ _feeRecipient,
1723
+ _rescueRecipient,
1724
+ _priceOracle,
1725
+ overrides || {}
1726
+ ) as Promise<
1727
+ PrivacyBridgeCotiNative & {
1728
+ deploymentTransaction(): ContractTransactionResponse;
1729
+ }
1730
+ >;
1731
+ }
1732
+ override connect(
1733
+ runner: ContractRunner | null
1734
+ ): PrivacyBridgeCotiNative__factory {
1735
+ return super.connect(runner) as PrivacyBridgeCotiNative__factory;
1736
+ }
1737
+
1738
+ static readonly bytecode = _bytecode;
1739
+ static readonly abi = _abi;
1740
+ static createInterface(): PrivacyBridgeCotiNativeInterface {
1741
+ return new Interface(_abi) as PrivacyBridgeCotiNativeInterface;
1742
+ }
1743
+ static connect(
1744
+ address: string,
1745
+ runner?: ContractRunner | null
1746
+ ): PrivacyBridgeCotiNative {
1747
+ return new Contract(
1748
+ address,
1749
+ _abi,
1750
+ runner
1751
+ ) as unknown as PrivacyBridgeCotiNative;
1752
+ }
1753
+ }