@coti-io/coti-contracts 1.3.0 → 1.3.1

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