@1inch/solidity-utils 6.7.1 → 6.8.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 (283) hide show
  1. package/CONTRIBUTING.md +36 -0
  2. package/contracts/libraries/Calldata.sol +81 -0
  3. package/contracts/libraries/CalldataPtr.sol +41 -0
  4. package/contracts/libraries/Transient.sol +240 -0
  5. package/contracts/libraries/TransientLock.sol +59 -0
  6. package/contracts/mixins/Multicall.sol +28 -0
  7. package/contracts/mixins/ReentrancyGuard.sol +92 -0
  8. package/contracts/mixins/Simulator.sol +30 -0
  9. package/dist/hardhat-setup/networks.js +2 -1
  10. package/dist/hardhat-setup/networks.js.map +1 -1
  11. package/dist/typechain-types/contracts/libraries/Transient.sol/TransientLib.d.ts +20 -0
  12. package/dist/typechain-types/contracts/libraries/Transient.sol/TransientLib.js +3 -0
  13. package/dist/typechain-types/contracts/libraries/Transient.sol/TransientLib.js.map +1 -0
  14. package/dist/typechain-types/contracts/libraries/Transient.sol/index.d.ts +1 -0
  15. package/dist/typechain-types/contracts/libraries/Transient.sol/index.js +3 -0
  16. package/dist/typechain-types/contracts/libraries/Transient.sol/index.js.map +1 -0
  17. package/dist/typechain-types/contracts/libraries/TransientLock.sol/TransientLockLib.d.ts +20 -0
  18. package/dist/typechain-types/contracts/libraries/TransientLock.sol/TransientLockLib.js +3 -0
  19. package/dist/typechain-types/contracts/libraries/TransientLock.sol/TransientLockLib.js.map +1 -0
  20. package/dist/typechain-types/contracts/libraries/TransientLock.sol/index.d.ts +1 -0
  21. package/dist/typechain-types/contracts/libraries/TransientLock.sol/index.js +3 -0
  22. package/dist/typechain-types/contracts/libraries/TransientLock.sol/index.js.map +1 -0
  23. package/dist/typechain-types/contracts/libraries/index.d.ts +4 -0
  24. package/dist/typechain-types/contracts/mixins/Multicall.d.ts +25 -0
  25. package/dist/typechain-types/contracts/mixins/Multicall.js +3 -0
  26. package/dist/typechain-types/contracts/mixins/Multicall.js.map +1 -0
  27. package/dist/typechain-types/contracts/mixins/ReentrancyGuard.d.ts +20 -0
  28. package/dist/typechain-types/contracts/mixins/ReentrancyGuard.js +3 -0
  29. package/dist/typechain-types/contracts/mixins/ReentrancyGuard.js.map +1 -0
  30. package/dist/typechain-types/contracts/mixins/Simulator.d.ts +35 -0
  31. package/dist/typechain-types/contracts/mixins/Simulator.js +3 -0
  32. package/dist/typechain-types/contracts/mixins/Simulator.js.map +1 -0
  33. package/dist/typechain-types/contracts/mixins/index.d.ts +3 -0
  34. package/dist/typechain-types/contracts/tests/mocks/CalldataMock.d.ts +81 -0
  35. package/dist/typechain-types/contracts/tests/mocks/CalldataMock.js +3 -0
  36. package/dist/typechain-types/contracts/tests/mocks/CalldataMock.js.map +1 -0
  37. package/dist/typechain-types/contracts/tests/mocks/CalldataPtrMock.d.ts +51 -0
  38. package/dist/typechain-types/contracts/tests/mocks/CalldataPtrMock.js +3 -0
  39. package/dist/typechain-types/contracts/tests/mocks/CalldataPtrMock.js.map +1 -0
  40. package/dist/typechain-types/contracts/tests/mocks/MulticallMock.d.ts +53 -0
  41. package/dist/typechain-types/contracts/tests/mocks/MulticallMock.js +3 -0
  42. package/dist/typechain-types/contracts/tests/mocks/MulticallMock.js.map +1 -0
  43. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/IReentrancyAttacker.d.ts +29 -0
  44. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/IReentrancyAttacker.js +3 -0
  45. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/IReentrancyAttacker.js.map +1 -0
  46. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyAttacker.d.ts +41 -0
  47. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyAttacker.js +3 -0
  48. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyAttacker.js.map +1 -0
  49. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock.d.ts +96 -0
  50. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock.js +3 -0
  51. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock.js.map +1 -0
  52. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/index.d.ts +3 -0
  53. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/index.js +3 -0
  54. package/dist/typechain-types/contracts/tests/mocks/ReentrancyGuardMock.sol/index.js.map +1 -0
  55. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/SimulatorMock.d.ts +47 -0
  56. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/SimulatorMock.js +3 -0
  57. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/SimulatorMock.js.map +1 -0
  58. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/SimulatorTarget.d.ts +41 -0
  59. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/SimulatorTarget.js +3 -0
  60. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/SimulatorTarget.js.map +1 -0
  61. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/index.d.ts +2 -0
  62. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/index.js +3 -0
  63. package/dist/typechain-types/contracts/tests/mocks/SimulatorMock.sol/index.js.map +1 -0
  64. package/dist/typechain-types/contracts/tests/mocks/TransientLockMock.d.ts +49 -0
  65. package/dist/typechain-types/contracts/tests/mocks/TransientLockMock.js +3 -0
  66. package/dist/typechain-types/contracts/tests/mocks/TransientLockMock.js.map +1 -0
  67. package/dist/typechain-types/contracts/tests/mocks/TransientMock.d.ts +107 -0
  68. package/dist/typechain-types/contracts/tests/mocks/TransientMock.js +3 -0
  69. package/dist/typechain-types/contracts/tests/mocks/TransientMock.js.map +1 -0
  70. package/dist/typechain-types/contracts/tests/mocks/index.d.ts +9 -0
  71. package/dist/typechain-types/factories/@0xsequence/create3/contracts/Create3__factory.d.ts +1 -1
  72. package/dist/typechain-types/factories/@0xsequence/create3/contracts/Create3__factory.js +1 -1
  73. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
  74. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js +1 -1
  75. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +1 -1
  76. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.js +1 -1
  77. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  78. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.js +1 -1
  79. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  80. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.js +1 -1
  81. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  82. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.js +1 -1
  83. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  84. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.js +1 -1
  85. package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.d.ts +1 -1
  86. package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.js +1 -1
  87. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.d.ts +1 -1
  88. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js +1 -1
  89. package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.d.ts +1 -1
  90. package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.js +1 -1
  91. package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.d.ts +1 -1
  92. package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.js +1 -1
  93. package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.d.ts +1 -1
  94. package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.js +1 -1
  95. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
  96. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
  97. package/dist/typechain-types/factories/contracts/libraries/Transient.sol/TransientLib__factory.d.ts +30 -0
  98. package/dist/typechain-types/factories/contracts/libraries/Transient.sol/TransientLib__factory.js +50 -0
  99. package/dist/typechain-types/factories/contracts/libraries/Transient.sol/TransientLib__factory.js.map +1 -0
  100. package/dist/typechain-types/factories/contracts/libraries/Transient.sol/index.d.ts +1 -0
  101. package/dist/typechain-types/factories/contracts/libraries/Transient.sol/index.js +9 -0
  102. package/dist/typechain-types/factories/contracts/libraries/Transient.sol/index.js.map +1 -0
  103. package/dist/typechain-types/factories/contracts/libraries/TransientLock.sol/TransientLockLib__factory.d.ts +30 -0
  104. package/dist/typechain-types/factories/contracts/libraries/TransientLock.sol/TransientLockLib__factory.js +50 -0
  105. package/dist/typechain-types/factories/contracts/libraries/TransientLock.sol/TransientLockLib__factory.js.map +1 -0
  106. package/dist/typechain-types/factories/contracts/libraries/TransientLock.sol/index.d.ts +1 -0
  107. package/dist/typechain-types/factories/contracts/libraries/TransientLock.sol/index.js +9 -0
  108. package/dist/typechain-types/factories/contracts/libraries/TransientLock.sol/index.js.map +1 -0
  109. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
  110. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
  111. package/dist/typechain-types/factories/contracts/libraries/index.d.ts +2 -0
  112. package/dist/typechain-types/factories/contracts/libraries/index.js +4 -1
  113. package/dist/typechain-types/factories/contracts/libraries/index.js.map +1 -1
  114. package/dist/typechain-types/factories/contracts/mixins/Multicall__factory.d.ts +32 -0
  115. package/dist/typechain-types/factories/contracts/mixins/Multicall__factory.js +53 -0
  116. package/dist/typechain-types/factories/contracts/mixins/Multicall__factory.js.map +1 -0
  117. package/dist/typechain-types/factories/contracts/mixins/ReentrancyGuard__factory.d.ts +11 -0
  118. package/dist/typechain-types/factories/contracts/mixins/ReentrancyGuard__factory.js +25 -0
  119. package/dist/typechain-types/factories/contracts/mixins/ReentrancyGuard__factory.js.map +1 -0
  120. package/dist/typechain-types/factories/contracts/mixins/Simulator__factory.d.ts +56 -0
  121. package/dist/typechain-types/factories/contracts/mixins/Simulator__factory.js +84 -0
  122. package/dist/typechain-types/factories/contracts/mixins/Simulator__factory.js.map +1 -0
  123. package/dist/typechain-types/factories/contracts/mixins/index.d.ts +3 -0
  124. package/dist/typechain-types/factories/contracts/mixins/index.js +7 -1
  125. package/dist/typechain-types/factories/contracts/mixins/index.js.map +1 -1
  126. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.d.ts +1 -1
  127. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js +1 -1
  128. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js.map +1 -1
  129. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.d.ts +1 -1
  130. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js +1 -1
  131. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js.map +1 -1
  132. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.d.ts +1 -1
  133. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js +1 -1
  134. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js.map +1 -1
  135. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.d.ts +1 -1
  136. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js +1 -1
  137. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js.map +1 -1
  138. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.d.ts +1 -1
  139. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js +1 -1
  140. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js.map +1 -1
  141. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.d.ts +1 -1
  142. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js +1 -1
  143. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js.map +1 -1
  144. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.d.ts +1 -1
  145. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js +1 -1
  146. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js.map +1 -1
  147. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.d.ts +1 -1
  148. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js +1 -1
  149. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js.map +1 -1
  150. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.d.ts +1 -1
  151. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.js +1 -1
  152. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.d.ts +1 -1
  153. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js +1 -1
  154. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js.map +1 -1
  155. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.d.ts +1 -1
  156. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js +1 -1
  157. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js.map +1 -1
  158. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.d.ts +1 -1
  159. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js +1 -1
  160. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js.map +1 -1
  161. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.d.ts +1 -1
  162. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js +1 -1
  163. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js.map +1 -1
  164. package/dist/typechain-types/factories/contracts/tests/mocks/CalldataMock__factory.d.ts +106 -0
  165. package/dist/typechain-types/factories/contracts/tests/mocks/CalldataMock__factory.js +151 -0
  166. package/dist/typechain-types/factories/contracts/tests/mocks/CalldataMock__factory.js.map +1 -0
  167. package/dist/typechain-types/factories/contracts/tests/mocks/CalldataPtrMock__factory.d.ts +82 -0
  168. package/dist/typechain-types/factories/contracts/tests/mocks/CalldataPtrMock__factory.js +121 -0
  169. package/dist/typechain-types/factories/contracts/tests/mocks/CalldataPtrMock__factory.js.map +1 -0
  170. package/dist/typechain-types/factories/contracts/tests/mocks/Create3Mock__factory.d.ts +1 -1
  171. package/dist/typechain-types/factories/contracts/tests/mocks/Create3Mock__factory.js +1 -1
  172. package/dist/typechain-types/factories/contracts/tests/mocks/Create3Mock__factory.js.map +1 -1
  173. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.d.ts +1 -1
  174. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js +1 -1
  175. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js.map +1 -1
  176. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.d.ts +1 -1
  177. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js +1 -1
  178. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js.map +1 -1
  179. package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.d.ts +1 -1
  180. package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.js +1 -1
  181. package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.js.map +1 -1
  182. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.d.ts +1 -1
  183. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js +1 -1
  184. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js.map +1 -1
  185. package/dist/typechain-types/factories/contracts/tests/mocks/MulticallMock__factory.d.ts +102 -0
  186. package/dist/typechain-types/factories/contracts/tests/mocks/MulticallMock__factory.js +143 -0
  187. package/dist/typechain-types/factories/contracts/tests/mocks/MulticallMock__factory.js.map +1 -0
  188. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
  189. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
  190. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js.map +1 -1
  191. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
  192. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
  193. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js.map +1 -1
  194. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/IReentrancyAttacker__factory.d.ts +19 -0
  195. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/IReentrancyAttacker__factory.js +34 -0
  196. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/IReentrancyAttacker__factory.js.map +1 -0
  197. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyAttacker__factory.d.ts +72 -0
  198. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyAttacker__factory.js +104 -0
  199. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyAttacker__factory.js.map +1 -0
  200. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock__factory.d.ts +128 -0
  201. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock__factory.js +171 -0
  202. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock__factory.js.map +1 -0
  203. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/index.d.ts +3 -0
  204. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/index.js +13 -0
  205. package/dist/typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/index.js.map +1 -0
  206. package/dist/typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderHelper__factory.d.ts +1 -1
  207. package/dist/typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderHelper__factory.js +1 -1
  208. package/dist/typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderHelper__factory.js.map +1 -1
  209. package/dist/typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderMock__factory.d.ts +1 -1
  210. package/dist/typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderMock__factory.js +1 -1
  211. package/dist/typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderMock__factory.js.map +1 -1
  212. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
  213. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
  214. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
  215. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
  216. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js.map +1 -1
  217. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
  218. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
  219. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
  220. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
  221. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js.map +1 -1
  222. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
  223. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
  224. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js.map +1 -1
  225. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
  226. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
  227. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js.map +1 -1
  228. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
  229. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
  230. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js.map +1 -1
  231. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
  232. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
  233. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js.map +1 -1
  234. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
  235. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
  236. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js.map +1 -1
  237. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/SimulatorMock__factory.d.ts +86 -0
  238. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/SimulatorMock__factory.js +123 -0
  239. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/SimulatorMock__factory.js.map +1 -0
  240. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/SimulatorTarget__factory.d.ts +76 -0
  241. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/SimulatorTarget__factory.js +111 -0
  242. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/SimulatorTarget__factory.js.map +1 -0
  243. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/index.d.ts +2 -0
  244. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/index.js +11 -0
  245. package/dist/typechain-types/factories/contracts/tests/mocks/SimulatorMock.sol/index.js.map +1 -0
  246. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
  247. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
  248. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js.map +1 -1
  249. package/dist/typechain-types/factories/contracts/tests/mocks/TransientLockMock__factory.d.ts +80 -0
  250. package/dist/typechain-types/factories/contracts/tests/mocks/TransientLockMock__factory.js +112 -0
  251. package/dist/typechain-types/factories/contracts/tests/mocks/TransientLockMock__factory.js.map +1 -0
  252. package/dist/typechain-types/factories/contracts/tests/mocks/TransientMock__factory.d.ts +192 -0
  253. package/dist/typechain-types/factories/contracts/tests/mocks/TransientMock__factory.js +264 -0
  254. package/dist/typechain-types/factories/contracts/tests/mocks/TransientMock__factory.js.map +1 -0
  255. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.d.ts +1 -1
  256. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js +1 -1
  257. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js.map +1 -1
  258. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
  259. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
  260. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js.map +1 -1
  261. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
  262. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
  263. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
  264. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
  265. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
  266. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
  267. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js.map +1 -1
  268. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
  269. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
  270. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js.map +1 -1
  271. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.d.ts +1 -1
  272. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js +1 -1
  273. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js.map +1 -1
  274. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.d.ts +1 -1
  275. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js +1 -1
  276. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js.map +1 -1
  277. package/dist/typechain-types/factories/contracts/tests/mocks/index.d.ts +7 -0
  278. package/dist/typechain-types/factories/contracts/tests/mocks/index.js +13 -1
  279. package/dist/typechain-types/factories/contracts/tests/mocks/index.js.map +1 -1
  280. package/dist/typechain-types/index.d.ts +30 -0
  281. package/dist/typechain-types/index.js +32 -2
  282. package/dist/typechain-types/index.js.map +1 -1
  283. package/package.json +8 -6
@@ -0,0 +1,128 @@
1
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
2
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
3
+ import type { NonPayableOverrides } from "../../../../../common";
4
+ import type { ReentrancyGuardMock, ReentrancyGuardMockInterface } from "../../../../../contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock";
5
+ type ReentrancyGuardMockConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
+ export declare class ReentrancyGuardMock__factory extends ContractFactory {
7
+ constructor(...args: ReentrancyGuardMockConstructorParams);
8
+ getDeployTransaction(overrides?: NonPayableOverrides & {
9
+ from?: string;
10
+ }): Promise<ContractDeployTransaction>;
11
+ deploy(overrides?: NonPayableOverrides & {
12
+ from?: string;
13
+ }): Promise<ReentrancyGuardMock & {
14
+ deploymentTransaction(): ContractTransactionResponse;
15
+ }>;
16
+ connect(runner: ContractRunner | null): ReentrancyGuardMock__factory;
17
+ static readonly bytecode = "0x608080604052346015576108c2908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301b1a5e014610678575080630f3b03bc146105795780630f648d6d14610504578063135f2e7114610493578063176591871461045c5780632b9b9dd11461041857806352d19175146103a35780635ad5ec5f146102a457806361bc221a146102685780636e1a9ced146101f7578063780c8709146101bd578063a895e1961461014e5763ac2cecb0146100ad575f80fd5b3461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576100e361080c565b6100ee6001546106b2565b6001557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060025c018060025d146101235780f35b807ffed3ca240000000000000000000000000000000000000000000000000000000060049252fd5b80fd5b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b57610185610875565b61018d6107c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80825c0180835d146101235780f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576101f461077a565b80f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576001815c036102405761023a6001546106b2565b60015580f35b807f2b38c10f0000000000000000000000000000000000000000000000000000000060049252fd5b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020600154604051908152f35b503461014b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b578060043573ffffffffffffffffffffffffffffffffffffffff81168091036103a0576102fe610875565b6103096001546106b2565b600155803b156103a0578180916004604051809481937f9e5faafc0000000000000000000000000000000000000000000000000000000083525af1801561039557610380575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80915c0180835d146101235780f35b8161038a9161070c565b61014b57805f61034f565b6040513d84823e3d90fd5b50fd5b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576103da610875565b6001815c14907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80825c0180835d1461012357602082604051908152f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b57600160025c036102405761023a6001546106b2565b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576101f46107c9565b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576104ca61080c565b6104d261077a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060025c018060025d146101235780f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b5761053b610875565b6105466001546106b2565b6001557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80825c0180835d146101235780f35b50346106745760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106745760043573ffffffffffffffffffffffffffffffffffffffff8116809103610674576105d261080c565b6105dd6001546106b2565b600155803b15610674575f80916004604051809481937f8de6e6a00000000000000000000000000000000000000000000000000000000083525af1801561066957610656575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060025c018060025d146101235780f35b61066291505f9061070c565b5f5f610623565b6040513d5f823e3d90fd5b5f80fd5b34610674575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106745760209060015f5c148152f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106df5760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761074d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b303b15610674576040517f2b9b9dd10000000000000000000000000000000000000000000000000000000081525f8160048183305af18015610669576107bd5750565b5f6107c79161070c565b565b303b15610674576040517f6e1a9ced0000000000000000000000000000000000000000000000000000000081525f8160048183305af18015610669576107bd5750565b600160025c018060025d801561084d5760010361082557565b7f3e26409c000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f9d565d4e000000000000000000000000000000000000000000000000000000005f5260045ffd5b60015f5c01805f5d801561084d576001036108255756fea264697066735822122058f6959398e57947630f249189f25bfae16483b9d8ee4239301d812f2877d8a364736f6c634300081e0033";
18
+ static readonly abi: readonly [{
19
+ readonly inputs: readonly [];
20
+ readonly name: "MissingNonReentrantModifier";
21
+ readonly type: "error";
22
+ }, {
23
+ readonly inputs: readonly [];
24
+ readonly name: "UnexpectedLock";
25
+ readonly type: "error";
26
+ }, {
27
+ readonly inputs: readonly [];
28
+ readonly name: "callOnlyInProtectedContext";
29
+ readonly outputs: readonly [];
30
+ readonly stateMutability: "nonpayable";
31
+ readonly type: "function";
32
+ }, {
33
+ readonly inputs: readonly [];
34
+ readonly name: "callOnlyInProtectedContextCustomLock";
35
+ readonly outputs: readonly [];
36
+ readonly stateMutability: "nonpayable";
37
+ readonly type: "function";
38
+ }, {
39
+ readonly inputs: readonly [];
40
+ readonly name: "callOnlyInProtectedContextCustomLockWithoutGuard";
41
+ readonly outputs: readonly [];
42
+ readonly stateMutability: "nonpayable";
43
+ readonly type: "function";
44
+ }, {
45
+ readonly inputs: readonly [];
46
+ readonly name: "callOnlyInProtectedContextWithoutGuard";
47
+ readonly outputs: readonly [];
48
+ readonly stateMutability: "nonpayable";
49
+ readonly type: "function";
50
+ }, {
51
+ readonly inputs: readonly [];
52
+ readonly name: "checkInNonReentrantCall";
53
+ readonly outputs: readonly [{
54
+ readonly internalType: "bool";
55
+ readonly name: "";
56
+ readonly type: "bool";
57
+ }];
58
+ readonly stateMutability: "nonpayable";
59
+ readonly type: "function";
60
+ }, {
61
+ readonly inputs: readonly [];
62
+ readonly name: "counter";
63
+ readonly outputs: readonly [{
64
+ readonly internalType: "uint256";
65
+ readonly name: "";
66
+ readonly type: "uint256";
67
+ }];
68
+ readonly stateMutability: "view";
69
+ readonly type: "function";
70
+ }, {
71
+ readonly inputs: readonly [];
72
+ readonly name: "inNonReentrantCall";
73
+ readonly outputs: readonly [{
74
+ readonly internalType: "bool";
75
+ readonly name: "";
76
+ readonly type: "bool";
77
+ }];
78
+ readonly stateMutability: "view";
79
+ readonly type: "function";
80
+ }, {
81
+ readonly inputs: readonly [];
82
+ readonly name: "onlyInProtectedContext";
83
+ readonly outputs: readonly [];
84
+ readonly stateMutability: "nonpayable";
85
+ readonly type: "function";
86
+ }, {
87
+ readonly inputs: readonly [];
88
+ readonly name: "onlyInProtectedContextCustomLock";
89
+ readonly outputs: readonly [];
90
+ readonly stateMutability: "nonpayable";
91
+ readonly type: "function";
92
+ }, {
93
+ readonly inputs: readonly [];
94
+ readonly name: "protectedIncrement";
95
+ readonly outputs: readonly [];
96
+ readonly stateMutability: "nonpayable";
97
+ readonly type: "function";
98
+ }, {
99
+ readonly inputs: readonly [{
100
+ readonly internalType: "address";
101
+ readonly name: "target";
102
+ readonly type: "address";
103
+ }];
104
+ readonly name: "protectedIncrementAndCall";
105
+ readonly outputs: readonly [];
106
+ readonly stateMutability: "nonpayable";
107
+ readonly type: "function";
108
+ }, {
109
+ readonly inputs: readonly [];
110
+ readonly name: "protectedIncrementWithCustomLock";
111
+ readonly outputs: readonly [];
112
+ readonly stateMutability: "nonpayable";
113
+ readonly type: "function";
114
+ }, {
115
+ readonly inputs: readonly [{
116
+ readonly internalType: "address";
117
+ readonly name: "target";
118
+ readonly type: "address";
119
+ }];
120
+ readonly name: "protectedIncrementWithCustomLockAndCall";
121
+ readonly outputs: readonly [];
122
+ readonly stateMutability: "nonpayable";
123
+ readonly type: "function";
124
+ }];
125
+ static createInterface(): ReentrancyGuardMockInterface;
126
+ static connect(address: string, runner?: ContractRunner | null): ReentrancyGuardMock;
127
+ }
128
+ export {};
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReentrancyGuardMock__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [],
11
+ name: "MissingNonReentrantModifier",
12
+ type: "error",
13
+ },
14
+ {
15
+ inputs: [],
16
+ name: "UnexpectedLock",
17
+ type: "error",
18
+ },
19
+ {
20
+ inputs: [],
21
+ name: "callOnlyInProtectedContext",
22
+ outputs: [],
23
+ stateMutability: "nonpayable",
24
+ type: "function",
25
+ },
26
+ {
27
+ inputs: [],
28
+ name: "callOnlyInProtectedContextCustomLock",
29
+ outputs: [],
30
+ stateMutability: "nonpayable",
31
+ type: "function",
32
+ },
33
+ {
34
+ inputs: [],
35
+ name: "callOnlyInProtectedContextCustomLockWithoutGuard",
36
+ outputs: [],
37
+ stateMutability: "nonpayable",
38
+ type: "function",
39
+ },
40
+ {
41
+ inputs: [],
42
+ name: "callOnlyInProtectedContextWithoutGuard",
43
+ outputs: [],
44
+ stateMutability: "nonpayable",
45
+ type: "function",
46
+ },
47
+ {
48
+ inputs: [],
49
+ name: "checkInNonReentrantCall",
50
+ outputs: [
51
+ {
52
+ internalType: "bool",
53
+ name: "",
54
+ type: "bool",
55
+ },
56
+ ],
57
+ stateMutability: "nonpayable",
58
+ type: "function",
59
+ },
60
+ {
61
+ inputs: [],
62
+ name: "counter",
63
+ outputs: [
64
+ {
65
+ internalType: "uint256",
66
+ name: "",
67
+ type: "uint256",
68
+ },
69
+ ],
70
+ stateMutability: "view",
71
+ type: "function",
72
+ },
73
+ {
74
+ inputs: [],
75
+ name: "inNonReentrantCall",
76
+ outputs: [
77
+ {
78
+ internalType: "bool",
79
+ name: "",
80
+ type: "bool",
81
+ },
82
+ ],
83
+ stateMutability: "view",
84
+ type: "function",
85
+ },
86
+ {
87
+ inputs: [],
88
+ name: "onlyInProtectedContext",
89
+ outputs: [],
90
+ stateMutability: "nonpayable",
91
+ type: "function",
92
+ },
93
+ {
94
+ inputs: [],
95
+ name: "onlyInProtectedContextCustomLock",
96
+ outputs: [],
97
+ stateMutability: "nonpayable",
98
+ type: "function",
99
+ },
100
+ {
101
+ inputs: [],
102
+ name: "protectedIncrement",
103
+ outputs: [],
104
+ stateMutability: "nonpayable",
105
+ type: "function",
106
+ },
107
+ {
108
+ inputs: [
109
+ {
110
+ internalType: "address",
111
+ name: "target",
112
+ type: "address",
113
+ },
114
+ ],
115
+ name: "protectedIncrementAndCall",
116
+ outputs: [],
117
+ stateMutability: "nonpayable",
118
+ type: "function",
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: "protectedIncrementWithCustomLock",
123
+ outputs: [],
124
+ stateMutability: "nonpayable",
125
+ type: "function",
126
+ },
127
+ {
128
+ inputs: [
129
+ {
130
+ internalType: "address",
131
+ name: "target",
132
+ type: "address",
133
+ },
134
+ ],
135
+ name: "protectedIncrementWithCustomLockAndCall",
136
+ outputs: [],
137
+ stateMutability: "nonpayable",
138
+ type: "function",
139
+ },
140
+ ];
141
+ const _bytecode = "0x608080604052346015576108c2908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301b1a5e014610678575080630f3b03bc146105795780630f648d6d14610504578063135f2e7114610493578063176591871461045c5780632b9b9dd11461041857806352d19175146103a35780635ad5ec5f146102a457806361bc221a146102685780636e1a9ced146101f7578063780c8709146101bd578063a895e1961461014e5763ac2cecb0146100ad575f80fd5b3461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576100e361080c565b6100ee6001546106b2565b6001557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060025c018060025d146101235780f35b807ffed3ca240000000000000000000000000000000000000000000000000000000060049252fd5b80fd5b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b57610185610875565b61018d6107c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80825c0180835d146101235780f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576101f461077a565b80f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576001815c036102405761023a6001546106b2565b60015580f35b807f2b38c10f0000000000000000000000000000000000000000000000000000000060049252fd5b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020600154604051908152f35b503461014b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b578060043573ffffffffffffffffffffffffffffffffffffffff81168091036103a0576102fe610875565b6103096001546106b2565b600155803b156103a0578180916004604051809481937f9e5faafc0000000000000000000000000000000000000000000000000000000083525af1801561039557610380575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80915c0180835d146101235780f35b8161038a9161070c565b61014b57805f61034f565b6040513d84823e3d90fd5b50fd5b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576103da610875565b6001815c14907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80825c0180835d1461012357602082604051908152f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b57600160025c036102405761023a6001546106b2565b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576101f46107c9565b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576104ca61080c565b6104d261077a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060025c018060025d146101235780f35b503461014b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b5761053b610875565b6105466001546106b2565b6001557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80825c0180835d146101235780f35b50346106745760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106745760043573ffffffffffffffffffffffffffffffffffffffff8116809103610674576105d261080c565b6105dd6001546106b2565b600155803b15610674575f80916004604051809481937f8de6e6a00000000000000000000000000000000000000000000000000000000083525af1801561066957610656575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060025c018060025d146101235780f35b61066291505f9061070c565b5f5f610623565b6040513d5f823e3d90fd5b5f80fd5b34610674575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106745760209060015f5c148152f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106df5760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761074d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b303b15610674576040517f2b9b9dd10000000000000000000000000000000000000000000000000000000081525f8160048183305af18015610669576107bd5750565b5f6107c79161070c565b565b303b15610674576040517f6e1a9ced0000000000000000000000000000000000000000000000000000000081525f8160048183305af18015610669576107bd5750565b600160025c018060025d801561084d5760010361082557565b7f3e26409c000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f9d565d4e000000000000000000000000000000000000000000000000000000005f5260045ffd5b60015f5c01805f5d801561084d576001036108255756fea264697066735822122058f6959398e57947630f249189f25bfae16483b9d8ee4239301d812f2877d8a364736f6c634300081e0033";
142
+ const isSuperArgs = (xs) => xs.length > 1;
143
+ class ReentrancyGuardMock__factory extends ethers_1.ContractFactory {
144
+ constructor(...args) {
145
+ if (isSuperArgs(args)) {
146
+ super(...args);
147
+ }
148
+ else {
149
+ super(_abi, _bytecode, args[0]);
150
+ }
151
+ }
152
+ getDeployTransaction(overrides) {
153
+ return super.getDeployTransaction(overrides || {});
154
+ }
155
+ deploy(overrides) {
156
+ return super.deploy(overrides || {});
157
+ }
158
+ connect(runner) {
159
+ return super.connect(runner);
160
+ }
161
+ static createInterface() {
162
+ return new ethers_1.Interface(_abi);
163
+ }
164
+ static connect(address, runner) {
165
+ return new ethers_1.Contract(address, _abi, runner);
166
+ }
167
+ }
168
+ exports.ReentrancyGuardMock__factory = ReentrancyGuardMock__factory;
169
+ ReentrancyGuardMock__factory.bytecode = _bytecode;
170
+ ReentrancyGuardMock__factory.abi = _abi;
171
+ //# sourceMappingURL=ReentrancyGuardMock__factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReentrancyGuardMock__factory.js","sourceRoot":"","sources":["../../../../../../../typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/ReentrancyGuardMock__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAKgB;AAQhB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sCAAsC;QAC5C,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kDAAkD;QACxD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,47IAA47I,CAAC;AAM/7I,MAAM,WAAW,GAAG,CAClB,EAAwC,EACa,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,4BAA6B,SAAQ,wBAAe;IAC/D,YAAY,GAAG,IAA0C;QACvD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,oBAAoB,CAC3B,SAAmD;QAEnD,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,SAAmD;QACjE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAIlC,CAAC;IACJ,CAAC;IACQ,OAAO,CACd,MAA6B;QAE7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAiC,CAAC;IAC/D,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAiC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,MAAM,CAC2B,CAAC;IACtC,CAAC;;AAzCH,oEA0CC;AAfiB,qCAAQ,GAAG,SAAS,CAAC;AACrB,gCAAG,GAAG,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { IReentrancyAttacker__factory } from "./IReentrancyAttacker__factory";
2
+ export { ReentrancyAttacker__factory } from "./ReentrancyAttacker__factory";
3
+ export { ReentrancyGuardMock__factory } from "./ReentrancyGuardMock__factory";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReentrancyGuardMock__factory = exports.ReentrancyAttacker__factory = exports.IReentrancyAttacker__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ var IReentrancyAttacker__factory_1 = require("./IReentrancyAttacker__factory");
8
+ Object.defineProperty(exports, "IReentrancyAttacker__factory", { enumerable: true, get: function () { return IReentrancyAttacker__factory_1.IReentrancyAttacker__factory; } });
9
+ var ReentrancyAttacker__factory_1 = require("./ReentrancyAttacker__factory");
10
+ Object.defineProperty(exports, "ReentrancyAttacker__factory", { enumerable: true, get: function () { return ReentrancyAttacker__factory_1.ReentrancyAttacker__factory; } });
11
+ var ReentrancyGuardMock__factory_1 = require("./ReentrancyGuardMock__factory");
12
+ Object.defineProperty(exports, "ReentrancyGuardMock__factory", { enumerable: true, get: function () { return ReentrancyGuardMock__factory_1.ReentrancyGuardMock__factory; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../typechain-types/factories/contracts/tests/mocks/ReentrancyGuardMock.sol/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,+EAA8E;AAArE,4IAAA,4BAA4B,OAAA;AACrC,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,+EAA8E;AAArE,4IAAA,4BAA4B,OAAA"}
@@ -14,7 +14,7 @@ export declare class RevertReasonForwarderHelper__factory extends ContractFactor
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RevertReasonForwarderHelper__factory;
17
- static readonly bytecode = "0x6080806040523460135760b1908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635b2dd100146023575f80fd5b346077575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112607757807fd87229d90000000000000000000000000000000000000000000000000000000060049252fd5b5f80fdfea26469706673582212207281385542cf9dadb52c0787a69e60a21d2bca952c4b621ad9cc4b40ffa87d1d64736f6c63430008190033";
17
+ static readonly bytecode = "0x6080806040523460135760ab908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c635b2dd10014601d575f80fd5b346071575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126071577fd87229d9000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea2646970667358221220b489733d51a6db25554fdeb864203324e708acb896879d91d8008261b8f68ce864736f6c634300081e0033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "RevertReason";
@@ -19,7 +19,7 @@ const _abi = [
19
19
  type: "function",
20
20
  },
21
21
  ];
22
- const _bytecode = "0x6080806040523460135760b1908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635b2dd100146023575f80fd5b346077575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112607757807fd87229d90000000000000000000000000000000000000000000000000000000060049252fd5b5f80fdfea26469706673582212207281385542cf9dadb52c0787a69e60a21d2bca952c4b621ad9cc4b40ffa87d1d64736f6c63430008190033";
22
+ const _bytecode = "0x6080806040523460135760ab908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c635b2dd10014601d575f80fd5b346071575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126071577fd87229d9000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea2646970667358221220b489733d51a6db25554fdeb864203324e708acb896879d91d8008261b8f68ce864736f6c634300081e0033";
23
23
  const isSuperArgs = (xs) => xs.length > 1;
24
24
  class RevertReasonForwarderHelper__factory extends ethers_1.ContractFactory {
25
25
  constructor(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"RevertReasonForwarderHelper__factory.js","sourceRoot":"","sources":["../../../../../../../typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderHelper__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAKgB;AAQhB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,sZAAsZ,CAAC;AAMzZ,MAAM,WAAW,GAAG,CAClB,EAAgD,EACK,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,oCAAqC,SAAQ,wBAAe;IACvE,YAAY,GAAG,IAAkD;QAC/D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,oBAAoB,CAC3B,SAAmD;QAEnD,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,SAAmD;QACjE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAIlC,CAAC;IACJ,CAAC;IACQ,OAAO,CACd,MAA6B;QAE7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAyC,CAAC;IACvE,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAyC,CAAC;IACrE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,MAAM,CACmC,CAAC;IAC9C,CAAC;;AAzCH,oFA0CC;AAfiB,6CAAQ,GAAG,SAAS,CAAC;AACrB,wCAAG,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"RevertReasonForwarderHelper__factory.js","sourceRoot":"","sources":["../../../../../../../typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderHelper__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAKgB;AAQhB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,0YAA0Y,CAAC;AAM7Y,MAAM,WAAW,GAAG,CAClB,EAAgD,EACK,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,oCAAqC,SAAQ,wBAAe;IACvE,YAAY,GAAG,IAAkD;QAC/D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,oBAAoB,CAC3B,SAAmD;QAEnD,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,SAAmD;QACjE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAIlC,CAAC;IACJ,CAAC;IACQ,OAAO,CACd,MAA6B;QAE7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAyC,CAAC;IACvE,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAyC,CAAC;IACrE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,MAAM,CACmC,CAAC;IAC9C,CAAC;;AAzCH,oFA0CC;AAfiB,6CAAQ,GAAG,SAAS,CAAC;AACrB,wCAAG,GAAG,IAAI,CAAC"}
@@ -14,7 +14,7 @@ export declare class RevertReasonForwarderMock__factory extends ContractFactory
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RevertReasonForwarderMock__factory;
17
- static readonly bytecode = "0x608034606f57601f61035c38819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b0319169190911790556040516102d490816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6040608081526004361015610012575f80fd5b5f3560e01c8063bcb87cf8146100cd5763fd3785a514610030575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c9575f8073ffffffffffffffffffffffffffffffffffffffff815416835160208101907f5b2dd100000000000000000000000000000000000000000000000000000000008252600481526100aa8161014c565b519134905af16100b8610195565b50156100c057005b513d5f823e3d90fd5b5f80fd5b505f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c9576020906101026101fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b6040810190811067ffffffffffffffff82111761016857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d156101f85767ffffffffffffffff903d8281116101685760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176101685760405282523d5f602084013e565b606090565b5f8073ffffffffffffffffffffffffffffffffffffffff81541660405160208101907f5b2dd1000000000000000000000000000000000000000000000000000000000082526004815261024f8161014c565b519134905af161025d610195565b5015610286576040516020810181811067ffffffffffffffff821117610168576040525f815290565b60405160203d808352805f8385013e8201016040529056fea264697066735822122021e8cc9a701011f35f78b2360610355116ff6ffe1f3b3c004df5de6e511d6e6264736f6c63430008190033";
17
+ static readonly bytecode = "0x608034606f57601f61036d38819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b0319169190911790556040516102e590816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063bcb87cf8146100d15763fd3785a51461002f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cd575f8073ffffffffffffffffffffffffffffffffffffffff81541660405160208101907f5b2dd100000000000000000000000000000000000000000000000000000000008252600481526100ac602482610150565b519134905af16100ba6101be565b50156100c257005b6040513d5f823e3d90fd5b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cd576020604061010661021b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761019157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610216573d9067ffffffffffffffff8211610191576040519161020b601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200184610150565b82523d5f602084013e565b606090565b5f8073ffffffffffffffffffffffffffffffffffffffff81541660405160208101907f5b2dd1000000000000000000000000000000000000000000000000000000000082526004815261026f602482610150565b519134905af161027d6101be565b501561029757604051610291602082610150565b5f815290565b60405160203d808352805f8385013e8201016040529056fea264697066735822122035983497f76d4586cd9abbde194779f6252d4cd8ca6d4320c60116ca8f4445fb64736f6c634300081e0033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -38,7 +38,7 @@ const _abi = [
38
38
  type: "function",
39
39
  },
40
40
  ];
41
- const _bytecode = "0x608034606f57601f61035c38819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b0319169190911790556040516102d490816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6040608081526004361015610012575f80fd5b5f3560e01c8063bcb87cf8146100cd5763fd3785a514610030575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c9575f8073ffffffffffffffffffffffffffffffffffffffff815416835160208101907f5b2dd100000000000000000000000000000000000000000000000000000000008252600481526100aa8161014c565b519134905af16100b8610195565b50156100c057005b513d5f823e3d90fd5b5f80fd5b505f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c9576020906101026101fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b6040810190811067ffffffffffffffff82111761016857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d156101f85767ffffffffffffffff903d8281116101685760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176101685760405282523d5f602084013e565b606090565b5f8073ffffffffffffffffffffffffffffffffffffffff81541660405160208101907f5b2dd1000000000000000000000000000000000000000000000000000000000082526004815261024f8161014c565b519134905af161025d610195565b5015610286576040516020810181811067ffffffffffffffff821117610168576040525f815290565b60405160203d808352805f8385013e8201016040529056fea264697066735822122021e8cc9a701011f35f78b2360610355116ff6ffe1f3b3c004df5de6e511d6e6264736f6c63430008190033";
41
+ const _bytecode = "0x608034606f57601f61036d38819003918201601f19168301916001600160401b03831184841017607357808492602094604052833981010312606f57516001600160a01b03811690819003606f575f80546001600160a01b0319169190911790556040516102e590816100888239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063bcb87cf8146100d15763fd3785a51461002f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cd575f8073ffffffffffffffffffffffffffffffffffffffff81541660405160208101907f5b2dd100000000000000000000000000000000000000000000000000000000008252600481526100ac602482610150565b519134905af16100ba6101be565b50156100c257005b6040513d5f823e3d90fd5b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cd576020604061010661021b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761019157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610216573d9067ffffffffffffffff8211610191576040519161020b601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200184610150565b82523d5f602084013e565b606090565b5f8073ffffffffffffffffffffffffffffffffffffffff81541660405160208101907f5b2dd1000000000000000000000000000000000000000000000000000000000082526004815261026f602482610150565b519134905af161027d6101be565b501561029757604051610291602082610150565b5f815290565b60405160203d808352805f8385013e8201016040529056fea264697066735822122035983497f76d4586cd9abbde194779f6252d4cd8ca6d4320c60116ca8f4445fb64736f6c634300081e0033";
42
42
  const isSuperArgs = (xs) => xs.length > 1;
43
43
  class RevertReasonForwarderMock__factory extends ethers_1.ContractFactory {
44
44
  constructor(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"RevertReasonForwarderMock__factory.js","sourceRoot":"","sources":["../../../../../../../typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderMock__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAKgB;AAahB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,4rDAA4rD,CAAC;AAM/rD,MAAM,WAAW,GAAG,CAClB,EAA8C,EACO,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,kCAAmC,SAAQ,wBAAe;IACrE,YAAY,GAAG,IAAgD;QAC7D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,oBAAoB,CAC3B,MAAmB,EACnB,SAAmD;QAEnD,OAAO,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACQ,MAAM,CACb,MAAmB,EACnB,SAAmD;QAEnD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAI1C,CAAC;IACJ,CAAC;IACQ,OAAO,CACd,MAA6B;QAE7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAuC,CAAC;IACrE,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAuC,CAAC;IACnE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,MAAM,CACiC,CAAC;IAC5C,CAAC;;AA7CH,gFA8CC;AAfiB,2CAAQ,GAAG,SAAS,CAAC;AACrB,sCAAG,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"RevertReasonForwarderMock__factory.js","sourceRoot":"","sources":["../../../../../../../typechain-types/factories/contracts/tests/mocks/RevertReasonForwarderMock.sol/RevertReasonForwarderMock__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAKgB;AAahB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,8tDAA8tD,CAAC;AAMjuD,MAAM,WAAW,GAAG,CAClB,EAA8C,EACO,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,kCAAmC,SAAQ,wBAAe;IACrE,YAAY,GAAG,IAAgD;QAC7D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,oBAAoB,CAC3B,MAAmB,EACnB,SAAmD;QAEnD,OAAO,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACQ,MAAM,CACb,MAAmB,EACnB,SAAmD;QAEnD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAI1C,CAAC;IACJ,CAAC;IACQ,OAAO,CACd,MAA6B;QAE7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAuC,CAAC;IACrE,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAuC,CAAC;IACnE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,MAAM,CACiC,CAAC;IAC5C,CAAC;;AA7CH,gFA8CC;AAfiB,2CAAQ,GAAG,SAAS,CAAC;AACrB,sCAAG,GAAG,IAAI,CAAC"}
@@ -14,7 +14,7 @@ export declare class ERC20NoReturnMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC20NoReturnMock__factory;
17
- static readonly bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea2646970667358221220415fc56f2e7875e8500453844e2a63af0a953a3b13787372d626276e1f5852e564736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea264697066735822122009bbc1d3ea470c86b7ac65839c3c9fa9cbb4971fa2bf26225ef9beb2981e3a9664736f6c634300081e0033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -103,7 +103,7 @@ const _abi = [
103
103
  type: "function",
104
104
  },
105
105
  ];
106
- const _bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea2646970667358221220415fc56f2e7875e8500453844e2a63af0a953a3b13787372d626276e1f5852e564736f6c63430008190033";
106
+ const _bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea264697066735822122009bbc1d3ea470c86b7ac65839c3c9fa9cbb4971fa2bf26225ef9beb2981e3a9664736f6c634300081e0033";
107
107
  const isSuperArgs = (xs) => xs.length > 1;
108
108
  class ERC20NoReturnMock__factory extends ethers_1.ContractFactory {
109
109
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class ERC20PermitNoRevertMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC20PermitNoRevertMock__factory;
17
- static readonly bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220e76f65580f476fc492bce6601816d8d48810a649a7c0b41713af05f3ef6e880164736f6c63430008190033";
17
+ static readonly bytecode = "0x6101606040523461043457604051610018604082610438565b60178152602081015f5160206118e45f395f51905f5281526040519061003f604083610438565b601782525f5160206118e45f395f51905f52602083015260405192610065604085610438565b601784525f5160206118e45f395f51905f5260208501526040519361008b604086610438565b60018552603160f81b60208601908152845190946001600160401b0382116103375760035490600182811c9216801561042a575b60208310146103195781601f8493116103bc575b50602090601f8311600114610356575f9261034b575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103375760045490600182811c9216801561032d575b60208310146103195781601f8493116102ab575b50602090601f8311600114610245575f9261023a575b50508160011b915f199060031b1c1916176004555b6101698161045b565b61012052610176846105e2565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101df60c082610438565b5190206080523060c0526040516111c9908161071b823960805181610e0e015260a05181610ecb015260c05181610ddf015260e05181610e5d01526101005181610e83015261012051816104ed015261014051816105160152f35b015190505f8061014b565b60045f9081528281209350601f198516905b818110610293575090846001959493921061027b575b505050811b01600455610160565b01515f1960f88460031b161c191690555f808061026d565b92936020600181928786015181550195019301610257565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c8101916020851061030f575b90601f859493920160051c01905b8181106103015750610135565b5f81558493506001016102f4565b90915081906102e6565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610121565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e9565b60035f9081528281209350601f198516905b8181106103a4575090846001959493921061038c575b505050811b016003556100fe565b01515f1960f88460031b161c191690555f808061037e565b92936020600181928786015181550195019301610368565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c81019160208510610420575b90601f859493920160051c01905b81811061041257506100d3565b5f8155849350600101610405565b90915081906103f7565b91607f16916100bf565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761033757604052565b908151602081105f146104d5575090601f815111610495576020815191015160208210610486571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161033757600554600181811c911680156105d8575b602082101461031957601f81116105a5575b50602092601f821160011461054457928192935f92610539575b50508160011b915f199060031b1c19161760055560ff90565b015190505f80610520565b601f1982169360055f52805f20915f5b86811061058d5750836001959610610575575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f8080610567565b91926020600181928685015181550194019201610554565b60055f52601f60205f20910160051c810190601f830160051c015b8181106105cd5750610506565b5f81556001016105c0565b90607f16906104f4565b908151602081105f1461060d575090601f815111610495576020815191015160208210610486571790565b6001600160401b03811161033757600654600181811c91168015610710575b602082101461031957601f81116106dd575b50602092601f821160011461067c57928192935f92610671575b50508160011b915f199060031b1c19161760065560ff90565b015190505f80610658565b601f1982169360065f52805f20915f5b8681106106c557508360019596106106ad575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f808061069f565b9192602060018192868501518155019401920161068c565b60065f52601f60205f20910160051c810190601f830160051c015b818110610705575061063e565b5f81556001016106f8565b90607f169061062c56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816306fdde031461097257508063095ea7b31461092e57806318160ddd146108f357806323b872dd1461075f578063313ce567146107265780633408e470146106ee5780633644e515146106ae57806370a082311461064c5780637ecebe00146105e957806384b0196e146104b757806395d89b411461039957806396a9fc3114610230578063a9059cbb146101e1578063d505accf1461013e5763dd62ed3e146100c3575f80fd5b3461013b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013b5773ffffffffffffffffffffffffffffffffffffffff6040610111610a75565b928261011b610a98565b9416815260016020522091165f52602052602060405f2054604051908152f35b80fd5b50346101dd5761014d36610abb565b94929093303b156101dd5773ffffffffffffffffffffffffffffffffffffffff60ff9481604051997f96a9fc31000000000000000000000000000000000000000000000000000000008b521660048a01521660248801526044870152606486015216608484015260a483015260c48201525f8160e48183305af16101cf575080f35b6101db91505f90610c38565b005b5f80fd5b346101dd5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5761022561021b610a75565b6024359033610ca6565b602060405160018152f35b346101dd5761023e36610abb565b91839693959495421161036d5773ffffffffffffffffffffffffffffffffffffffff9261032a92610321926042868816809b815f52600760205260405f20908154916001830190556040519160208301937f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9855260408401528a8d1660608401528d608084015260a083015260c082015260c081526102de60e082610c38565b5190206102e9610dc8565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611021565b909291926110bb565b1684810361033d57506101db9350610ef1565b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd576040515f6004546103d781610b47565b80845290600181169081156104755750600114610417575b610413836103ff81850382610c38565b604051918291602083526020830190610a32565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b80821061045b575090915081016020016103ff6103ef565b919260018160209254838588010152019101909291610443565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103ff90506103ef565b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5761058d6105117f0000000000000000000000000000000000000000000000000000000000000000610f6e565b61053a7f0000000000000000000000000000000000000000000000000000000000000000610fea565b602061059b6040519261054d8385610c38565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190610a32565b908582036040870152610a32565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b8281106105d257505050500390f35b8351855286955093810193928101926001016105c3565b346101dd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5773ffffffffffffffffffffffffffffffffffffffff610635610a75565b165f526007602052602060405f2054604051908152f35b346101dd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5773ffffffffffffffffffffffffffffffffffffffff610698610a75565b165f525f602052602060405f2054604051908152f35b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5760206106e6610dc8565b604051908152f35b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd576020604051468152f35b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd57602060405160128152f35b346101dd5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd57610796610a75565b61079e610a98565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810361081a575b506102259350610ca6565b8381106108bf57841561089357331561086757610225945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390558461080f565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd576020600254604051908152f35b346101dd5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd57610225610968610a75565b6024359033610ef1565b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd575f6003546109ad81610b47565b808452906001811690811561047557506001146109d457610413836103ff81850382610c38565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610a18575090915081016020016103ff6103ef565b919260018160209254838588010152019101909291610a00565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101dd57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101dd57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126101dd5760043573ffffffffffffffffffffffffffffffffffffffff811681036101dd579060243573ffffffffffffffffffffffffffffffffffffffff811681036101dd5790604435906064359060843560ff811681036101dd579060a4359060c43590565b90600182811c92168015610b8e575b6020831014610b6157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610b56565b5f9291815491610ba783610b47565b8083529260018116908115610bfc5750600114610bc357505050565b5f9081526020812093945091925b838310610be2575060209250010190565b600181602092949394548385870101520191019190610bd1565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7957604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610d9c5773ffffffffffffffffffffffffffffffffffffffff16918215610d7057815f525f60205260405f2054818110610d3e57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610ec8575b15610e30577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610ec260c082610c38565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e07565b73ffffffffffffffffffffffffffffffffffffffff169081156108935773ffffffffffffffffffffffffffffffffffffffff169182156108675760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610fcd5760ff811690601f8211610fa55760405191610f92604084610c38565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610fe781610fe0816005610b98565b0382610c38565b90565b60ff811461100e5760ff811690601f8211610fa55760405191610f92604084610c38565b50604051610fe781610fe0816006610b98565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116110b0579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156110a5575f5173ffffffffffffffffffffffffffffffffffffffff81161561109b57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561116657806110cd575050565b600181036110fd577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361113157507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b60031461113b5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212206149f001773af845d9da715d1555bc6b8ff2c725de7c92150d35a72c96f91e4464736f6c634300081e003345524332305065726d69744e6f5265766572744d6f636b000000000000000000";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "ECDSAInvalidSignature";
@@ -581,7 +581,7 @@ const _abi = [
581
581
  type: "function",
582
582
  },
583
583
  ];
584
- const _bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220e76f65580f476fc492bce6601816d8d48810a649a7c0b41713af05f3ef6e880164736f6c63430008190033";
584
+ const _bytecode = "0x6101606040523461043457604051610018604082610438565b60178152602081015f5160206118e45f395f51905f5281526040519061003f604083610438565b601782525f5160206118e45f395f51905f52602083015260405192610065604085610438565b601784525f5160206118e45f395f51905f5260208501526040519361008b604086610438565b60018552603160f81b60208601908152845190946001600160401b0382116103375760035490600182811c9216801561042a575b60208310146103195781601f8493116103bc575b50602090601f8311600114610356575f9261034b575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103375760045490600182811c9216801561032d575b60208310146103195781601f8493116102ab575b50602090601f8311600114610245575f9261023a575b50508160011b915f199060031b1c1916176004555b6101698161045b565b61012052610176846105e2565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101df60c082610438565b5190206080523060c0526040516111c9908161071b823960805181610e0e015260a05181610ecb015260c05181610ddf015260e05181610e5d01526101005181610e83015261012051816104ed015261014051816105160152f35b015190505f8061014b565b60045f9081528281209350601f198516905b818110610293575090846001959493921061027b575b505050811b01600455610160565b01515f1960f88460031b161c191690555f808061026d565b92936020600181928786015181550195019301610257565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c8101916020851061030f575b90601f859493920160051c01905b8181106103015750610135565b5f81558493506001016102f4565b90915081906102e6565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610121565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e9565b60035f9081528281209350601f198516905b8181106103a4575090846001959493921061038c575b505050811b016003556100fe565b01515f1960f88460031b161c191690555f808061037e565b92936020600181928786015181550195019301610368565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c81019160208510610420575b90601f859493920160051c01905b81811061041257506100d3565b5f8155849350600101610405565b90915081906103f7565b91607f16916100bf565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761033757604052565b908151602081105f146104d5575090601f815111610495576020815191015160208210610486571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161033757600554600181811c911680156105d8575b602082101461031957601f81116105a5575b50602092601f821160011461054457928192935f92610539575b50508160011b915f199060031b1c19161760055560ff90565b015190505f80610520565b601f1982169360055f52805f20915f5b86811061058d5750836001959610610575575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f8080610567565b91926020600181928685015181550194019201610554565b60055f52601f60205f20910160051c810190601f830160051c015b8181106105cd5750610506565b5f81556001016105c0565b90607f16906104f4565b908151602081105f1461060d575090601f815111610495576020815191015160208210610486571790565b6001600160401b03811161033757600654600181811c91168015610710575b602082101461031957601f81116106dd575b50602092601f821160011461067c57928192935f92610671575b50508160011b915f199060031b1c19161760065560ff90565b015190505f80610658565b601f1982169360065f52805f20915f5b8681106106c557508360019596106106ad575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f808061069f565b9192602060018192868501518155019401920161068c565b60065f52601f60205f20910160051c810190601f830160051c015b818110610705575061063e565b5f81556001016106f8565b90607f169061062c56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816306fdde031461097257508063095ea7b31461092e57806318160ddd146108f357806323b872dd1461075f578063313ce567146107265780633408e470146106ee5780633644e515146106ae57806370a082311461064c5780637ecebe00146105e957806384b0196e146104b757806395d89b411461039957806396a9fc3114610230578063a9059cbb146101e1578063d505accf1461013e5763dd62ed3e146100c3575f80fd5b3461013b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013b5773ffffffffffffffffffffffffffffffffffffffff6040610111610a75565b928261011b610a98565b9416815260016020522091165f52602052602060405f2054604051908152f35b80fd5b50346101dd5761014d36610abb565b94929093303b156101dd5773ffffffffffffffffffffffffffffffffffffffff60ff9481604051997f96a9fc31000000000000000000000000000000000000000000000000000000008b521660048a01521660248801526044870152606486015216608484015260a483015260c48201525f8160e48183305af16101cf575080f35b6101db91505f90610c38565b005b5f80fd5b346101dd5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5761022561021b610a75565b6024359033610ca6565b602060405160018152f35b346101dd5761023e36610abb565b91839693959495421161036d5773ffffffffffffffffffffffffffffffffffffffff9261032a92610321926042868816809b815f52600760205260405f20908154916001830190556040519160208301937f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9855260408401528a8d1660608401528d608084015260a083015260c082015260c081526102de60e082610c38565b5190206102e9610dc8565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611021565b909291926110bb565b1684810361033d57506101db9350610ef1565b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd576040515f6004546103d781610b47565b80845290600181169081156104755750600114610417575b610413836103ff81850382610c38565b604051918291602083526020830190610a32565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b80821061045b575090915081016020016103ff6103ef565b919260018160209254838588010152019101909291610443565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103ff90506103ef565b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5761058d6105117f0000000000000000000000000000000000000000000000000000000000000000610f6e565b61053a7f0000000000000000000000000000000000000000000000000000000000000000610fea565b602061059b6040519261054d8385610c38565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190610a32565b908582036040870152610a32565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b8281106105d257505050500390f35b8351855286955093810193928101926001016105c3565b346101dd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5773ffffffffffffffffffffffffffffffffffffffff610635610a75565b165f526007602052602060405f2054604051908152f35b346101dd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5773ffffffffffffffffffffffffffffffffffffffff610698610a75565b165f525f602052602060405f2054604051908152f35b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd5760206106e6610dc8565b604051908152f35b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd576020604051468152f35b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd57602060405160128152f35b346101dd5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd57610796610a75565b61079e610a98565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810361081a575b506102259350610ca6565b8381106108bf57841561089357331561086757610225945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390558461080f565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd576020600254604051908152f35b346101dd5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd57610225610968610a75565b6024359033610ef1565b346101dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101dd575f6003546109ad81610b47565b808452906001811690811561047557506001146109d457610413836103ff81850382610c38565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610a18575090915081016020016103ff6103ef565b919260018160209254838588010152019101909291610a00565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101dd57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101dd57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126101dd5760043573ffffffffffffffffffffffffffffffffffffffff811681036101dd579060243573ffffffffffffffffffffffffffffffffffffffff811681036101dd5790604435906064359060843560ff811681036101dd579060a4359060c43590565b90600182811c92168015610b8e575b6020831014610b6157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610b56565b5f9291815491610ba783610b47565b8083529260018116908115610bfc5750600114610bc357505050565b5f9081526020812093945091925b838310610be2575060209250010190565b600181602092949394548385870101520191019190610bd1565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7957604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610d9c5773ffffffffffffffffffffffffffffffffffffffff16918215610d7057815f525f60205260405f2054818110610d3e57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610ec8575b15610e30577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610ec260c082610c38565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e07565b73ffffffffffffffffffffffffffffffffffffffff169081156108935773ffffffffffffffffffffffffffffffffffffffff169182156108675760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610fcd5760ff811690601f8211610fa55760405191610f92604084610c38565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610fe781610fe0816005610b98565b0382610c38565b90565b60ff811461100e5760ff811690601f8211610fa55760405191610f92604084610c38565b50604051610fe781610fe0816006610b98565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116110b0579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156110a5575f5173ffffffffffffffffffffffffffffffffffffffff81161561109b57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561116657806110cd575050565b600181036110fd577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361113157507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b60031461113b5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212206149f001773af845d9da715d1555bc6b8ff2c725de7c92150d35a72c96f91e4464736f6c634300081e003345524332305065726d69744e6f5265766572744d6f636b000000000000000000";
585
585
  const isSuperArgs = (xs) => xs.length > 1;
586
586
  class ERC20PermitNoRevertMock__factory extends ethers_1.ContractFactory {
587
587
  constructor(...args) {