@1inch/solidity-utils 3.8.3 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +9 -208
  2. package/contracts/interfaces/ICreate3Deployer.sol +16 -0
  3. package/contracts/interfaces/IDaiLikePermit.sol +13 -0
  4. package/contracts/interfaces/IERC20MetadataUppercase.sol +12 -0
  5. package/contracts/interfaces/IERC7597Permit.sol +13 -0
  6. package/contracts/interfaces/IPermit2.sol +45 -12
  7. package/contracts/interfaces/IWETH.sol +17 -0
  8. package/contracts/libraries/AddressArray.sol +190 -61
  9. package/contracts/libraries/AddressLib.sol +2 -1
  10. package/contracts/libraries/AddressSet.sol +82 -18
  11. package/contracts/libraries/BySigTraits.sol +46 -0
  12. package/contracts/libraries/BytesMemory.sol +2 -1
  13. package/contracts/libraries/BytesStorage.sol +2 -1
  14. package/contracts/libraries/ECDSA.sol +111 -0
  15. package/contracts/libraries/RevertReasonForwarder.sol +13 -3
  16. package/contracts/libraries/RevertReasonParser.sol +11 -2
  17. package/contracts/libraries/SafeERC20.sol +7 -3
  18. package/contracts/libraries/StringUtil.sol +21 -3
  19. package/contracts/libraries/UniERC20.sol +57 -12
  20. package/contracts/mocks/ERC20PermitMock.sol +12 -0
  21. package/contracts/mocks/SelfdestructEthSenderMock.sol +17 -0
  22. package/contracts/mocks/TokenCustomDecimalsMock.sol +25 -4
  23. package/contracts/mocks/TokenMock.sol +19 -0
  24. package/dist/hardhat-setup/networks.d.ts +23 -0
  25. package/dist/hardhat-setup/networks.js +22 -0
  26. package/dist/hardhat-setup/networks.js.map +1 -1
  27. package/dist/src/expect.d.ts +12 -0
  28. package/dist/src/expect.js +12 -0
  29. package/dist/src/expect.js.map +1 -1
  30. package/dist/src/permit.d.ts +120 -1
  31. package/dist/src/permit.js +124 -8
  32. package/dist/src/permit.js.map +1 -1
  33. package/dist/src/prelude.d.ts +6 -0
  34. package/dist/src/prelude.js +6 -0
  35. package/dist/src/prelude.js.map +1 -1
  36. package/dist/src/profileEVM.d.ts +26 -0
  37. package/dist/src/profileEVM.js +30 -3
  38. package/dist/src/profileEVM.js.map +1 -1
  39. package/dist/src/utils.d.ts +79 -0
  40. package/dist/src/utils.js +92 -1
  41. package/dist/src/utils.js.map +1 -1
  42. package/dist/typechain-types/@openzeppelin/contracts/utils/Address.d.ts +20 -0
  43. package/dist/typechain-types/@openzeppelin/contracts/utils/Address.js +3 -0
  44. package/dist/typechain-types/@openzeppelin/contracts/utils/Address.js.map +1 -0
  45. package/dist/typechain-types/@openzeppelin/contracts/utils/index.d.ts +1 -0
  46. package/dist/typechain-types/contracts/index.d.ts +2 -3
  47. package/dist/typechain-types/contracts/interfaces/IERC7597Permit.d.ts +41 -0
  48. package/dist/typechain-types/contracts/interfaces/IERC7597Permit.js +3 -0
  49. package/dist/typechain-types/contracts/interfaces/IERC7597Permit.js.map +1 -0
  50. package/dist/typechain-types/contracts/interfaces/index.d.ts +1 -0
  51. package/dist/typechain-types/contracts/libraries/BySigTraits.d.ts +20 -0
  52. package/dist/typechain-types/contracts/libraries/BySigTraits.js +3 -0
  53. package/dist/typechain-types/contracts/libraries/BySigTraits.js.map +1 -0
  54. package/dist/typechain-types/contracts/libraries/index.d.ts +1 -0
  55. package/dist/typechain-types/contracts/mixins/BySig.d.ts +214 -0
  56. package/dist/typechain-types/contracts/mixins/BySig.js +3 -0
  57. package/dist/typechain-types/contracts/mixins/BySig.js.map +1 -0
  58. package/dist/typechain-types/contracts/{EthReceiver.d.ts → mixins/EthReceiver.d.ts} +1 -1
  59. package/dist/typechain-types/contracts/mixins/EthReceiver.js.map +1 -0
  60. package/dist/typechain-types/contracts/{OnlyWethReceiver.d.ts → mixins/OnlyWethReceiver.d.ts} +1 -1
  61. package/dist/typechain-types/contracts/mixins/OnlyWethReceiver.js.map +1 -0
  62. package/dist/typechain-types/contracts/{PermitAndCall.d.ts → mixins/PermitAndCall.d.ts} +1 -1
  63. package/dist/typechain-types/contracts/mixins/PermitAndCall.js.map +1 -0
  64. package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.d.ts +29 -0
  65. package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.js +3 -0
  66. package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.js.map +1 -0
  67. package/dist/typechain-types/contracts/mixins/index.d.ts +5 -0
  68. package/dist/typechain-types/contracts/mixins/index.js +3 -0
  69. package/dist/typechain-types/contracts/mixins/index.js.map +1 -0
  70. package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.d.ts +37 -0
  71. package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.js +3 -0
  72. package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.js.map +1 -0
  73. package/dist/typechain-types/contracts/mocks/TokenCustomDecimalsMock.d.ts +1 -5
  74. package/dist/typechain-types/contracts/mocks/index.d.ts +1 -0
  75. package/dist/typechain-types/contracts/tests/mocks/AddressSetMock.d.ts +5 -1
  76. package/dist/typechain-types/contracts/tests/mocks/BySigTraitsMock.d.ts +47 -0
  77. package/dist/typechain-types/contracts/tests/mocks/BySigTraitsMock.js +3 -0
  78. package/dist/typechain-types/contracts/tests/mocks/BySigTraitsMock.js.map +1 -0
  79. package/dist/typechain-types/contracts/tests/mocks/TokenWithBySig.d.ts +422 -0
  80. package/dist/typechain-types/contracts/tests/mocks/TokenWithBySig.js +3 -0
  81. package/dist/typechain-types/contracts/tests/mocks/TokenWithBySig.js.map +1 -0
  82. package/dist/typechain-types/contracts/tests/mocks/USDCLikePermitMock.d.ts +260 -0
  83. package/dist/typechain-types/contracts/tests/mocks/USDCLikePermitMock.js +3 -0
  84. package/dist/typechain-types/contracts/tests/mocks/USDCLikePermitMock.js.map +1 -0
  85. package/dist/typechain-types/contracts/tests/mocks/index.d.ts +3 -0
  86. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +42 -0
  87. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js +67 -0
  88. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js.map +1 -0
  89. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  90. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.js +1 -1
  91. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  92. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.js +1 -1
  93. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  94. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.js +1 -1
  95. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts +1 -0
  96. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/index.js +3 -1
  97. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/index.js.map +1 -1
  98. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +1 -1
  99. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.js +1 -1
  100. package/dist/typechain-types/factories/contracts/index.d.ts +1 -3
  101. package/dist/typechain-types/factories/contracts/index.js +2 -7
  102. package/dist/typechain-types/factories/contracts/index.js.map +1 -1
  103. package/dist/typechain-types/factories/contracts/interfaces/IERC7597Permit__factory.d.ts +33 -0
  104. package/dist/typechain-types/factories/contracts/interfaces/IERC7597Permit__factory.js +53 -0
  105. package/dist/typechain-types/factories/contracts/interfaces/IERC7597Permit__factory.js.map +1 -0
  106. package/dist/typechain-types/factories/contracts/interfaces/index.d.ts +1 -0
  107. package/dist/typechain-types/factories/contracts/interfaces/index.js +3 -1
  108. package/dist/typechain-types/factories/contracts/interfaces/index.js.map +1 -1
  109. package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.d.ts +1 -1
  110. package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.js +1 -1
  111. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.d.ts +26 -0
  112. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js +45 -0
  113. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js.map +1 -0
  114. package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.d.ts +1 -1
  115. package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.js +1 -1
  116. package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.d.ts +1 -1
  117. package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.js +1 -1
  118. package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.d.ts +1 -1
  119. package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.js +1 -1
  120. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
  121. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
  122. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
  123. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
  124. package/dist/typechain-types/factories/contracts/libraries/index.d.ts +1 -0
  125. package/dist/typechain-types/factories/contracts/libraries/index.js +3 -1
  126. package/dist/typechain-types/factories/contracts/libraries/index.js.map +1 -1
  127. package/dist/typechain-types/factories/contracts/mixins/BySig__factory.d.ts +286 -0
  128. package/dist/typechain-types/factories/contracts/mixins/BySig__factory.js +385 -0
  129. package/dist/typechain-types/factories/contracts/mixins/BySig__factory.js.map +1 -0
  130. package/dist/typechain-types/factories/contracts/{EthReceiver__factory.d.ts → mixins/EthReceiver__factory.d.ts} +1 -1
  131. package/dist/typechain-types/factories/contracts/mixins/EthReceiver__factory.js.map +1 -0
  132. package/dist/typechain-types/factories/contracts/{OnlyWethReceiver__factory.d.ts → mixins/OnlyWethReceiver__factory.d.ts} +1 -1
  133. package/dist/typechain-types/factories/contracts/mixins/OnlyWethReceiver__factory.js.map +1 -0
  134. package/dist/typechain-types/factories/contracts/{PermitAndCall__factory.d.ts → mixins/PermitAndCall__factory.d.ts} +1 -1
  135. package/dist/typechain-types/factories/contracts/mixins/PermitAndCall__factory.js.map +1 -0
  136. package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.d.ts +17 -0
  137. package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.js +33 -0
  138. package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.js.map +1 -0
  139. package/dist/typechain-types/factories/contracts/mixins/index.d.ts +5 -0
  140. package/dist/typechain-types/factories/contracts/mixins/index.js +17 -0
  141. package/dist/typechain-types/factories/contracts/mixins/index.js.map +1 -0
  142. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.d.ts +1 -1
  143. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js +1 -1
  144. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js.map +1 -1
  145. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.d.ts +49 -0
  146. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js +75 -0
  147. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js.map +1 -0
  148. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.d.ts +1 -11
  149. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js +1 -14
  150. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js.map +1 -1
  151. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.d.ts +1 -1
  152. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js +1 -1
  153. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js.map +1 -1
  154. package/dist/typechain-types/factories/contracts/mocks/index.d.ts +1 -0
  155. package/dist/typechain-types/factories/contracts/mocks/index.js +3 -1
  156. package/dist/typechain-types/factories/contracts/mocks/index.js.map +1 -1
  157. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.d.ts +1 -1
  158. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js +1 -1
  159. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js.map +1 -1
  160. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.d.ts +1 -1
  161. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js +1 -1
  162. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js.map +1 -1
  163. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.d.ts +1 -1
  164. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js +1 -1
  165. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js.map +1 -1
  166. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.d.ts +1 -5
  167. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js +1 -6
  168. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js.map +1 -1
  169. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.d.ts +1 -1
  170. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.js +1 -1
  171. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.js.map +1 -1
  172. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.d.ts +11 -5
  173. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js +14 -6
  174. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js.map +1 -1
  175. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.d.ts +86 -0
  176. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js +126 -0
  177. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js.map +1 -0
  178. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.d.ts +1 -1
  179. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js +1 -1
  180. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js.map +1 -1
  181. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.d.ts +1 -1
  182. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js +1 -1
  183. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js.map +1 -1
  184. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.d.ts +1 -1
  185. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js +1 -1
  186. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js.map +1 -1
  187. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.d.ts +1 -1
  188. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js +1 -1
  189. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js.map +1 -1
  190. package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.d.ts +1 -1
  191. package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.js +1 -1
  192. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.d.ts +1 -1
  193. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js +1 -1
  194. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js.map +1 -1
  195. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
  196. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
  197. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js.map +1 -1
  198. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
  199. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
  200. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js.map +1 -1
  201. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
  202. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
  203. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js.map +1 -1
  204. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
  205. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
  206. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js.map +1 -1
  207. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
  208. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
  209. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js.map +1 -1
  210. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
  211. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
  212. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js.map +1 -1
  213. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
  214. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
  215. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js.map +1 -1
  216. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
  217. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
  218. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js.map +1 -1
  219. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
  220. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
  221. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js.map +1 -1
  222. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
  223. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
  224. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js.map +1 -1
  225. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
  226. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
  227. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js.map +1 -1
  228. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +675 -0
  229. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +893 -0
  230. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js.map +1 -0
  231. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.d.ts +481 -0
  232. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js +640 -0
  233. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js.map +1 -0
  234. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
  235. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
  236. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js.map +1 -1
  237. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
  238. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
  239. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js.map +1 -1
  240. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
  241. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
  242. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js.map +1 -1
  243. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
  244. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
  245. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js.map +1 -1
  246. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
  247. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
  248. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js.map +1 -1
  249. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.d.ts +1 -1
  250. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js +1 -1
  251. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js.map +1 -1
  252. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.d.ts +1 -1
  253. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js +1 -1
  254. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js.map +1 -1
  255. package/dist/typechain-types/factories/contracts/tests/mocks/index.d.ts +3 -0
  256. package/dist/typechain-types/factories/contracts/tests/mocks/index.js +7 -1
  257. package/dist/typechain-types/factories/contracts/tests/mocks/index.js.map +1 -1
  258. package/dist/typechain-types/index.d.ts +24 -6
  259. package/dist/typechain-types/index.js +26 -8
  260. package/dist/typechain-types/index.js.map +1 -1
  261. package/package.json +23 -18
  262. package/utils/README.md +180 -0
  263. package/utils/docify.utils.js +3 -3
  264. package/utils/file-dependencies.js +0 -0
  265. package/utils/test-docgen.js +0 -0
  266. package/contracts/EthReceiver.sol +0 -16
  267. package/contracts/OnlyWethReceiver.sol +0 -17
  268. package/contracts/PermitAndCall.sol +0 -28
  269. package/dist/typechain-types/contracts/EthReceiver.js.map +0 -1
  270. package/dist/typechain-types/contracts/OnlyWethReceiver.js.map +0 -1
  271. package/dist/typechain-types/contracts/PermitAndCall.js.map +0 -1
  272. package/dist/typechain-types/factories/contracts/EthReceiver__factory.js.map +0 -1
  273. package/dist/typechain-types/factories/contracts/OnlyWethReceiver__factory.js.map +0 -1
  274. package/dist/typechain-types/factories/contracts/PermitAndCall__factory.js.map +0 -1
  275. /package/dist/typechain-types/contracts/{EthReceiver.js → mixins/EthReceiver.js} +0 -0
  276. /package/dist/typechain-types/contracts/{OnlyWethReceiver.js → mixins/OnlyWethReceiver.js} +0 -0
  277. /package/dist/typechain-types/contracts/{PermitAndCall.js → mixins/PermitAndCall.js} +0 -0
  278. /package/dist/typechain-types/factories/contracts/{EthReceiver__factory.js → mixins/EthReceiver__factory.js} +0 -0
  279. /package/dist/typechain-types/factories/contracts/{OnlyWethReceiver__factory.js → mixins/OnlyWethReceiver__factory.js} +0 -0
  280. /package/dist/typechain-types/factories/contracts/{PermitAndCall__factory.js → mixins/PermitAndCall__factory.js} +0 -0
@@ -0,0 +1,385 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BySig__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "target",
14
+ type: "address",
15
+ },
16
+ ],
17
+ name: "AddressEmptyCode",
18
+ type: "error",
19
+ },
20
+ {
21
+ inputs: [],
22
+ name: "DeadlineExceeded",
23
+ type: "error",
24
+ },
25
+ {
26
+ inputs: [],
27
+ name: "FailedInnerCall",
28
+ type: "error",
29
+ },
30
+ {
31
+ inputs: [],
32
+ name: "IndexOutOfBounds",
33
+ type: "error",
34
+ },
35
+ {
36
+ inputs: [],
37
+ name: "InvalidShortString",
38
+ type: "error",
39
+ },
40
+ {
41
+ inputs: [
42
+ {
43
+ internalType: "string",
44
+ name: "str",
45
+ type: "string",
46
+ },
47
+ ],
48
+ name: "StringTooLong",
49
+ type: "error",
50
+ },
51
+ {
52
+ inputs: [],
53
+ name: "WrongNonce",
54
+ type: "error",
55
+ },
56
+ {
57
+ inputs: [],
58
+ name: "WrongNonceType",
59
+ type: "error",
60
+ },
61
+ {
62
+ inputs: [],
63
+ name: "WrongRelayer",
64
+ type: "error",
65
+ },
66
+ {
67
+ inputs: [],
68
+ name: "WrongSignature",
69
+ type: "error",
70
+ },
71
+ {
72
+ anonymous: false,
73
+ inputs: [],
74
+ name: "EIP712DomainChanged",
75
+ type: "event",
76
+ },
77
+ {
78
+ inputs: [],
79
+ name: "SIGNED_CALL_TYPEHASH",
80
+ outputs: [
81
+ {
82
+ internalType: "bytes32",
83
+ name: "",
84
+ type: "bytes32",
85
+ },
86
+ ],
87
+ stateMutability: "view",
88
+ type: "function",
89
+ },
90
+ {
91
+ inputs: [
92
+ {
93
+ internalType: "address",
94
+ name: "signer",
95
+ type: "address",
96
+ },
97
+ {
98
+ components: [
99
+ {
100
+ internalType: "BySigTraits.Value",
101
+ name: "traits",
102
+ type: "uint256",
103
+ },
104
+ {
105
+ internalType: "bytes",
106
+ name: "data",
107
+ type: "bytes",
108
+ },
109
+ ],
110
+ internalType: "struct BySig.SignedCall",
111
+ name: "sig",
112
+ type: "tuple",
113
+ },
114
+ {
115
+ internalType: "bytes",
116
+ name: "signature",
117
+ type: "bytes",
118
+ },
119
+ ],
120
+ name: "bySig",
121
+ outputs: [
122
+ {
123
+ internalType: "bytes",
124
+ name: "ret",
125
+ type: "bytes",
126
+ },
127
+ ],
128
+ stateMutability: "payable",
129
+ type: "function",
130
+ },
131
+ {
132
+ inputs: [
133
+ {
134
+ internalType: "address",
135
+ name: "account",
136
+ type: "address",
137
+ },
138
+ ],
139
+ name: "bySigAccountNonces",
140
+ outputs: [
141
+ {
142
+ internalType: "uint256",
143
+ name: "",
144
+ type: "uint256",
145
+ },
146
+ ],
147
+ stateMutability: "view",
148
+ type: "function",
149
+ },
150
+ {
151
+ inputs: [
152
+ {
153
+ internalType: "address",
154
+ name: "account",
155
+ type: "address",
156
+ },
157
+ {
158
+ internalType: "bytes4",
159
+ name: "selector",
160
+ type: "bytes4",
161
+ },
162
+ ],
163
+ name: "bySigSelectorNonces",
164
+ outputs: [
165
+ {
166
+ internalType: "uint256",
167
+ name: "",
168
+ type: "uint256",
169
+ },
170
+ ],
171
+ stateMutability: "view",
172
+ type: "function",
173
+ },
174
+ {
175
+ inputs: [
176
+ {
177
+ internalType: "address",
178
+ name: "account",
179
+ type: "address",
180
+ },
181
+ {
182
+ internalType: "uint256",
183
+ name: "nonce",
184
+ type: "uint256",
185
+ },
186
+ ],
187
+ name: "bySigUniqueNonces",
188
+ outputs: [
189
+ {
190
+ internalType: "bool",
191
+ name: "",
192
+ type: "bool",
193
+ },
194
+ ],
195
+ stateMutability: "view",
196
+ type: "function",
197
+ },
198
+ {
199
+ inputs: [
200
+ {
201
+ internalType: "address",
202
+ name: "account",
203
+ type: "address",
204
+ },
205
+ {
206
+ internalType: "uint256",
207
+ name: "nonce",
208
+ type: "uint256",
209
+ },
210
+ ],
211
+ name: "bySigUniqueNoncesSlot",
212
+ outputs: [
213
+ {
214
+ internalType: "uint256",
215
+ name: "",
216
+ type: "uint256",
217
+ },
218
+ ],
219
+ stateMutability: "view",
220
+ type: "function",
221
+ },
222
+ {
223
+ inputs: [],
224
+ name: "eip712Domain",
225
+ outputs: [
226
+ {
227
+ internalType: "bytes1",
228
+ name: "fields",
229
+ type: "bytes1",
230
+ },
231
+ {
232
+ internalType: "string",
233
+ name: "name",
234
+ type: "string",
235
+ },
236
+ {
237
+ internalType: "string",
238
+ name: "version",
239
+ type: "string",
240
+ },
241
+ {
242
+ internalType: "uint256",
243
+ name: "chainId",
244
+ type: "uint256",
245
+ },
246
+ {
247
+ internalType: "address",
248
+ name: "verifyingContract",
249
+ type: "address",
250
+ },
251
+ {
252
+ internalType: "bytes32",
253
+ name: "salt",
254
+ type: "bytes32",
255
+ },
256
+ {
257
+ internalType: "uint256[]",
258
+ name: "extensions",
259
+ type: "uint256[]",
260
+ },
261
+ ],
262
+ stateMutability: "view",
263
+ type: "function",
264
+ },
265
+ {
266
+ inputs: [
267
+ {
268
+ components: [
269
+ {
270
+ internalType: "BySigTraits.Value",
271
+ name: "traits",
272
+ type: "uint256",
273
+ },
274
+ {
275
+ internalType: "bytes",
276
+ name: "data",
277
+ type: "bytes",
278
+ },
279
+ ],
280
+ internalType: "struct BySig.SignedCall",
281
+ name: "sig",
282
+ type: "tuple",
283
+ },
284
+ ],
285
+ name: "hashBySig",
286
+ outputs: [
287
+ {
288
+ internalType: "bytes32",
289
+ name: "",
290
+ type: "bytes32",
291
+ },
292
+ ],
293
+ stateMutability: "view",
294
+ type: "function",
295
+ },
296
+ {
297
+ inputs: [
298
+ {
299
+ internalType: "address",
300
+ name: "token",
301
+ type: "address",
302
+ },
303
+ {
304
+ internalType: "uint256",
305
+ name: "amount",
306
+ type: "uint256",
307
+ },
308
+ {
309
+ internalType: "bytes",
310
+ name: "data",
311
+ type: "bytes",
312
+ },
313
+ {
314
+ internalType: "bytes",
315
+ name: "extraData",
316
+ type: "bytes",
317
+ },
318
+ ],
319
+ name: "sponsoredCall",
320
+ outputs: [
321
+ {
322
+ internalType: "bytes",
323
+ name: "ret",
324
+ type: "bytes",
325
+ },
326
+ ],
327
+ stateMutability: "payable",
328
+ type: "function",
329
+ },
330
+ {
331
+ inputs: [
332
+ {
333
+ internalType: "uint32",
334
+ name: "advance",
335
+ type: "uint32",
336
+ },
337
+ ],
338
+ name: "useBySigAccountNonce",
339
+ outputs: [],
340
+ stateMutability: "nonpayable",
341
+ type: "function",
342
+ },
343
+ {
344
+ inputs: [
345
+ {
346
+ internalType: "bytes4",
347
+ name: "selector",
348
+ type: "bytes4",
349
+ },
350
+ {
351
+ internalType: "uint32",
352
+ name: "advance",
353
+ type: "uint32",
354
+ },
355
+ ],
356
+ name: "useBySigSelectorNonce",
357
+ outputs: [],
358
+ stateMutability: "nonpayable",
359
+ type: "function",
360
+ },
361
+ {
362
+ inputs: [
363
+ {
364
+ internalType: "uint256",
365
+ name: "nonce",
366
+ type: "uint256",
367
+ },
368
+ ],
369
+ name: "useBySigUniqueNonce",
370
+ outputs: [],
371
+ stateMutability: "nonpayable",
372
+ type: "function",
373
+ },
374
+ ];
375
+ class BySig__factory {
376
+ static createInterface() {
377
+ return new ethers_1.Interface(_abi);
378
+ }
379
+ static connect(address, runner) {
380
+ return new ethers_1.Contract(address, _abi, runner);
381
+ }
382
+ }
383
+ exports.BySig__factory = BySig__factory;
384
+ BySig__factory.abi = _abi;
385
+ //# sourceMappingURL=BySig__factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BySig__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/mixins/BySig__factory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ContractRunner } from "ethers";
2
- import type { EthReceiver, EthReceiverInterface } from "../../contracts/EthReceiver";
2
+ import type { EthReceiver, EthReceiverInterface } from "../../../contracts/mixins/EthReceiver";
3
3
  export declare class EthReceiver__factory {
4
4
  static readonly abi: readonly [{
5
5
  readonly inputs: readonly [];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EthReceiver__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/mixins/EthReceiver__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAkE;AAMlE,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,SAAS;KAChB;CACO,CAAC;AAEX,MAAa,oBAAoB;IAE/B,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAyB,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAA8B;QAC5D,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAA2B,CAAC;IACvE,CAAC;;AAPH,oDAQC;AAPiB,wBAAG,GAAG,IAAI,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ContractRunner } from "ethers";
2
- import type { OnlyWethReceiver, OnlyWethReceiverInterface } from "../../contracts/OnlyWethReceiver";
2
+ import type { OnlyWethReceiver, OnlyWethReceiverInterface } from "../../../contracts/mixins/OnlyWethReceiver";
3
3
  export declare class OnlyWethReceiver__factory {
4
4
  static readonly abi: readonly [{
5
5
  readonly inputs: readonly [];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnlyWethReceiver__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/mixins/OnlyWethReceiver__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAkE;AAMlE,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,SAAS;KAChB;CACO,CAAC;AAEX,MAAa,yBAAyB;IAEpC,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAA8B,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAgC,CAAC;IAC5E,CAAC;;AAVH,8DAWC;AAViB,6BAAG,GAAG,IAAI,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ContractRunner } from "ethers";
2
- import type { PermitAndCall, PermitAndCallInterface } from "../../contracts/PermitAndCall";
2
+ import type { PermitAndCall, PermitAndCallInterface } from "../../../contracts/mixins/PermitAndCall";
3
3
  export declare class PermitAndCall__factory {
4
4
  static readonly abi: readonly [{
5
5
  readonly inputs: readonly [{
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermitAndCall__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/mixins/PermitAndCall__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAkE;AAMlE,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAa,sBAAsB;IAEjC,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAA2B,CAAC;IACvD,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAA6B,CAAC;IACzE,CAAC;;AAVH,wDAWC;AAViB,0BAAG,GAAG,IAAI,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type ContractRunner } from "ethers";
2
+ import type { SelfdestructEthSender, SelfdestructEthSenderInterface } from "../../../contracts/mixins/SelfdestructEthSender";
3
+ export declare class SelfdestructEthSender__factory {
4
+ static readonly abi: readonly [{
5
+ readonly inputs: readonly [{
6
+ readonly internalType: "address payable";
7
+ readonly name: "receiver";
8
+ readonly type: "address";
9
+ }];
10
+ readonly name: "stopAndTransferBalance";
11
+ readonly outputs: readonly [];
12
+ readonly stateMutability: "nonpayable";
13
+ readonly type: "function";
14
+ }];
15
+ static createInterface(): SelfdestructEthSenderInterface;
16
+ static connect(address: string, runner?: ContractRunner | null): SelfdestructEthSender;
17
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SelfdestructEthSender__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address payable",
13
+ name: "receiver",
14
+ type: "address",
15
+ },
16
+ ],
17
+ name: "stopAndTransferBalance",
18
+ outputs: [],
19
+ stateMutability: "nonpayable",
20
+ type: "function",
21
+ },
22
+ ];
23
+ class SelfdestructEthSender__factory {
24
+ static createInterface() {
25
+ return new ethers_1.Interface(_abi);
26
+ }
27
+ static connect(address, runner) {
28
+ return new ethers_1.Contract(address, _abi, runner);
29
+ }
30
+ }
31
+ exports.SelfdestructEthSender__factory = SelfdestructEthSender__factory;
32
+ SelfdestructEthSender__factory.abi = _abi;
33
+ //# sourceMappingURL=SelfdestructEthSender__factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelfdestructEthSender__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAkE;AAMlE,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAa,8BAA8B;IAEzC,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAmC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,MAA8B;QAE9B,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,MAAM,CAC6B,CAAC;IACxC,CAAC;;AAdH,wEAeC;AAdiB,kCAAG,GAAG,IAAI,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { BySig__factory } from "./BySig__factory";
2
+ export { EthReceiver__factory } from "./EthReceiver__factory";
3
+ export { OnlyWethReceiver__factory } from "./OnlyWethReceiver__factory";
4
+ export { PermitAndCall__factory } from "./PermitAndCall__factory";
5
+ export { SelfdestructEthSender__factory } from "./SelfdestructEthSender__factory";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelfdestructEthSender__factory = exports.PermitAndCall__factory = exports.OnlyWethReceiver__factory = exports.EthReceiver__factory = exports.BySig__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ var BySig__factory_1 = require("./BySig__factory");
8
+ Object.defineProperty(exports, "BySig__factory", { enumerable: true, get: function () { return BySig__factory_1.BySig__factory; } });
9
+ var EthReceiver__factory_1 = require("./EthReceiver__factory");
10
+ Object.defineProperty(exports, "EthReceiver__factory", { enumerable: true, get: function () { return EthReceiver__factory_1.EthReceiver__factory; } });
11
+ var OnlyWethReceiver__factory_1 = require("./OnlyWethReceiver__factory");
12
+ Object.defineProperty(exports, "OnlyWethReceiver__factory", { enumerable: true, get: function () { return OnlyWethReceiver__factory_1.OnlyWethReceiver__factory; } });
13
+ var PermitAndCall__factory_1 = require("./PermitAndCall__factory");
14
+ Object.defineProperty(exports, "PermitAndCall__factory", { enumerable: true, get: function () { return PermitAndCall__factory_1.PermitAndCall__factory; } });
15
+ var SelfdestructEthSender__factory_1 = require("./SelfdestructEthSender__factory");
16
+ Object.defineProperty(exports, "SelfdestructEthSender__factory", { enumerable: true, get: function () { return SelfdestructEthSender__factory_1.SelfdestructEthSender__factory; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/mixins/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,mFAAkF;AAAzE,gJAAA,8BAA8B,OAAA"}
@@ -14,7 +14,7 @@ export declare class ERC20PermitMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC20PermitMock__factory;
17
- static readonly bytecode = "0x610160604081815262001ff280380380916200001c828662000506565b84398201608083820312620005025782516001600160401b0392908381116200050257826200004d9186016200054d565b91602090818601519085821162000502576200006b9187016200054d565b858301516001600160a01b039687821693929184900362000502576060015190845197858901898110898211176200040b578652600197888a52848a0198603160f81b8a5288518281116200040b5760038054918383811c93168015620004f7575b89841014620004e357601f928381116200049b575b5080898482116001146200042b575f916200041f575b505f1982841b1c191690841b1781555b8551918483116200040b5760049687548581811c9116801562000400575b8b821014620003ed57828111620003a5575b50899184116001146200033e579383949184925f9562000332575b50501b925f19911b1c19161783555b6200016d88620005a8565b98610120998a526200017f8b62000743565b98610140998a528681519101209a8b60e0525190206101009a818c524660a052885191878301917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528a84015260608301524660808301523060a083015260a0825260c0820192828410908411176200031f57828952815190206080523060c05233156200030957505060088054336001600160a01b031982168117909255875192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a38415620002f6575060025490828201809211620002e357506002555f8381528083528481208054830190558451918252917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a351916117609384620008928539608051846111a9015260a05184611275015260c0518461117a015260e051846111f80152518361121e015251826107740152518161079e0152f35b601190634e487b7160e01b5f525260245ffd5b5f60249263ec442f0560e01b8352820152fd5b631e4fbdf760e01b82525f60c490910152602490fd5b604185634e487b7160e01b5f525260245ffd5b015193505f8062000153565b9190601f19841692885f52848b5f20945f5b8d898383106200038d575050501062000373575b50505050811b01835562000162565b01519060f8845f19921b161c191690555f80808062000364565b86860151895590970196948501948893500162000350565b885f528a5f208380870160051c8201928d8810620003e3575b0160051c019086905b828110620003d757505062000138565b5f8155018690620003c7565b92508192620003be565b602289634e487b7160e01b5f525260245ffd5b90607f169062000126565b634e487b7160e01b5f52604160045260245ffd5b90508c01515f620000f8565b5f8481528b812087945091908f90601f198516908e5b82821062000479575050841162000461575b505050811b01815562000108565b01515f1983861b60f8161c191690555f808e62000453565b929484849395979892960151815501940192018f909188959493928e62000441565b825f52895f208480840160051c8201928c8510620004d9575b0160051c019085905b828110620004cd575050620000e2565b5f8155018590620004bd565b92508192620004b4565b634e487b7160e01b5f52602260045260245ffd5b92607f1692620000cd565b5f80fd5b601f909101601f19168101906001600160401b038211908210176200040b57604052565b5f5b8381106200053c5750505f910152565b81810151838201526020016200052c565b81601f82011215620005025780516001600160401b0381116200040b576040519262000584601f8301601f19166020018562000506565b818452602082840101116200050257620005a591602080850191016200052a565b90565b8051602091908281101562000627575090601f825111620005e55780825192015190808310620005d757501790565b825f19910360031b1b161790565b604490620006199260405193849263305a27a960e01b8452806004850152825192839182602487015286860191016200052a565b601f01601f19168101030190fd5b6001600160401b0381116200040b576005928354926001938481811c9116801562000738575b83821014620004e357601f811162000704575b5081601f84116001146200069e57509282939183925f9462000692575b50501b915f199060031b1c191617905560ff90565b015192505f806200067d565b919083601f198116875f52845f20945f905b88838310620006e95750505010620006d0575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080620006c3565b858701518855909601959485019487935090810190620006b0565b855f5284601f845f209201871c820191601f8601881c015b8281106200072c57505062000660565b5f81550185906200071c565b90607f16906200064d565b805160209081811015620007705750601f825111620005e55780825192015190808310620005d757501790565b906001600160401b0382116200040b57600654926001938481811c9116801562000886575b83821014620004e357601f81116200084f575b5081601f8411600114620007e757509282939183925f94620007db575b50501b915f199060031b1c19161760065560ff90565b015192505f80620007c5565b919083601f19811660065f52845f20945f905b888383106200083457505050106200081b575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f80806200080d565b858701518855909601959485019487935090810190620007fa565b60065f5284601f845f20920160051c820191601f860160051c015b8281106200087a575050620007a8565b5f81550185906200086a565b90607f16906200079556fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde0314610d9e57508063095ea7b314610d5757806318160ddd14610d1b57806323b872dd14610b94578063313ce56714610b5b5780633644e51514610b1a57806340c10f1914610a0f57806370a08231146109ae578063715018a6146109125780637ecebe00146108b057806384b0196e146107405780638da5cb5b146106ee57806395d89b41146105c75780639dc29fac14610480578063a9059cbb14610432578063d505accf14610241578063dd62ed3e146101cc5763f2fde38b146100e6575f80fd5b346101c85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85761011d610f05565b9061012661129b565b73ffffffffffffffffffffffffffffffffffffffff809216928315610199575050600854827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b82346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857602090610206610f05565b61020e610f28565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b50346101c85760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857610279610f05565b610281610f28565b906044359260643560843560ff811681036101c8578142116104035773ffffffffffffffffffffffffffffffffffffffff9081851692835f526007602052885f209081549160018301905589519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868c840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103d7578a5251902061038e9161038591610344611163565b908b51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a43592206115ab565b90929192611645565b168181036103a3576103a18686866112ec565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602483838951917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b82346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209061047961046f610f05565b6024359033611026565b5160018152f35b5090346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576104b8610f05565b90602435926104c561129b565b73ffffffffffffffffffffffffffffffffffffffff831692831561059857835f525f602052825f205491858310610539575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b610594868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b50346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857815191825f835461060681610f4b565b90818452602095600191876001821691825f146106a957505060011461064d575b505050610649929161063a910385610fe5565b51928284938452830190610ea9565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610691575050508201018161063a610649610627565b8054848a018601528895508794909301928101610678565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061063a91506106499050610627565b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576107987f00000000000000000000000000000000000000000000000000000000000000006113b6565b916107c27f00000000000000000000000000000000000000000000000000000000000000006114ee565b815191602091602084019484861067ffffffffffffffff8711176108845750610839826020928761082c99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610ea9565b9188830390890152610ea9565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061086d57505050500390f35b83518552869550938101939281019260010161085e565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101c85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209073ffffffffffffffffffffffffffffffffffffffff610900610f05565b165f5260078252805f20549051908152f35b346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85761094861129b565b5f73ffffffffffffffffffffffffffffffffffffffff6008547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b82346101c85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209073ffffffffffffffffffffffffffffffffffffffff6109fe610f05565b165f525f8252805f20549051908152f35b5090346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857610a47610f05565b9073ffffffffffffffffffffffffffffffffffffffff60243592610a6961129b565b16928315610aec5760025490838201809211610ac057505f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857602090610b54611163565b9051908152f35b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576020905160128152f35b50346101c85760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857610bcc610f05565b610bd4610f28565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610c3c575b602087610479888888611026565b858310610cd6578115610ca7573315610c7857505f90815260016020908152868220338352815290869020918590039091558290610479610c2e565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576020906002549051908152f35b82346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857602090610479610d94610f05565b60243590336112ec565b83346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760035490825f610ddc84610f4b565b808352602094600190866001821691825f14610e69575050600114610e0e575b5050610649929161063a910385610fe5565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610e51575050508201018161063a610dfc565b8054848a018601528895508794909301928101610e3b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061063a9050610dfc565b91908251928382525f5b848110610ef15750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b602081830181015184830182015201610eb3565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101c857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101c857565b90600182811c92168015610f92575b6020831014610f6557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610f5a565b6040810190811067ffffffffffffffff821117610fb857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610fb857604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611133571692831561110357825f525f60205260405f2054908282106110ab5750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611272575b156111cb577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610fb85760405251902090565b507f000000000000000000000000000000000000000000000000000000000000000046146111a2565b73ffffffffffffffffffffffffffffffffffffffff6008541633036112bc57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561138657169182156113565760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff811461140c5760ff811690601f82116113e257604051916113d883610f9c565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61141e83610f4b565b808352926020906001908181169081156114ab575060011461144c575b505061144992500382610fe5565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061149357506114499450505081016020015f8061143b565b85548785018301529485019486945092810192611478565b9050602093506114499592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f8061143b565b60ff81146115105760ff811690601f82116113e257604051916113d883610f9c565b50604051600654815f61152283610f4b565b808352926020906001908181169081156114ab575060011461154c57505061144992500382610fe5565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061159357506114499450505081016020015f8061143b565b85548785018301529485019486945092810192611578565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161163a579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561162f575f5173ffffffffffffffffffffffffffffffffffffffff81161561162557905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156116fd5780611657575050565b600181036116895760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b600281036116c257602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146116cc5750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea264697066735822122025f8ff8cd864cef9faa0567ba32b57d865d6315f7dbaf927662beefe94cc169364736f6c63430008170033";
17
+ static readonly bytecode = "0x6101606040818152611f4e803803809161001982866104cd565b843982016080838203126104c95782516001600160401b0392908381116104c957826100469186016104f0565b9160209081860151908582116104c9576100619187016104f0565b858301516001600160a01b03968782169392918490036104c9576060015190845197858901898110898211176103de578652600197888a52848a0198603160f81b8a5288518281116103de5760038054918383811c931680156104bf575b898410146104ab57601f92838111610468575b5080898482116001146103fd575f916103f2575b505f1982841b1c191690841b1781555b8551918483116103de5760049687548581811c911680156103d4575b8b8210146103c15782811161037e575b508991841160011461031c579383949184925f95610311575b50501b925f19911b1c19161783555b61015388610545565b98610120998a526101638b6106ca565b98610140998a528681519101209a8b60e0525190206101009a818c524660a052885191878301917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528a84015260608301524660808301523060a083015260a0825260c0820192828410908411176102fe57828952815190206080523060c05233156102e857505060088054336001600160a01b031982168117909255875192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a384156102d55750600254908282018092116102c257506002555f8381528083528481208054830190558451918252917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a351916117479384610807853960805184611190015260a0518461125c015260c05184611161015260e051846111df01525183611205015251826107740152518161079e0152f35b601190634e487b7160e01b5f525260245ffd5b5f60249263ec442f0560e01b8352820152fd5b631e4fbdf760e01b82525f60c490910152602490fd5b604185634e487b7160e01b5f525260245ffd5b015193505f8061013b565b9190601f19841692885f52848b5f20945f5b8d89838310610367575050501061034e575b50505050811b01835561014a565b01519060f8845f19921b161c191690555f808080610340565b86860151895590970196948501948893500161032e565b885f528a5f208380870160051c8201928d88106103b8575b0160051c019086905b8281106103ad575050610122565b5f815501869061039f565b92508192610396565b602289634e487b7160e01b5f525260245ffd5b90607f1690610112565b634e487b7160e01b5f52604160045260245ffd5b90508c01515f6100e6565b5f8481528b812087945091908f90601f198516908e5b8282106104475750508411610430575b505050811b0181556100f6565b01515f1983861b60f8161c191690555f808e610423565b929484849395979892960151815501940192018f909188959493928e610413565b825f52895f208480840160051c8201928c85106104a2575b0160051c019085905b8281106104975750506100d2565b5f8155018590610489565b92508192610480565b634e487b7160e01b5f52602260045260245ffd5b92607f16926100bf565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103de57604052565b81601f820112156104c9578051906001600160401b0382116103de5760405192610524601f8401601f1916602001856104cd565b828452602083830101116104c957815f9260208093018386015e8301015290565b805160209190828110156105bd575090601f82511161057f578082519201519080831061057157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103de576005928354926001938481811c911680156106c0575b838210146104ab57601f811161068f575b5081601f841160011461062d57509282939183925f94610622575b50501b915f199060031b1c191617905560ff90565b015192505f8061060d565b919083601f198116875f52845f20945f905b88838310610675575050501061065d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610650565b85870151885590960195948501948793509081019061063f565b855f5284601f845f209201871c820191601f8601881c015b8281106106b55750506105f2565b5f81550185906106a7565b90607f16906105e1565b8051602090818110156106f45750601f82511161057f578082519201519080831061057157501790565b906001600160401b0382116103de57600654926001938481811c911680156107fc575b838210146104ab57601f81116107c8575b5081601f841160011461076457509282939183925f94610759575b50501b915f199060031b1c19161760065560ff90565b015192505f80610743565b919083601f19811660065f52845f20945f905b888383106107ae5750505010610796575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610788565b858701518855909601959485019487935090810190610777565b60065f5284601f845f20920160051c820191601f860160051c015b8281106107f1575050610728565b5f81550185906107e3565b90607f169061071756fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde0314610d9e57508063095ea7b314610d5757806318160ddd14610d1b57806323b872dd14610b94578063313ce56714610b5b5780633644e51514610b1a57806340c10f1914610a0f57806370a08231146109ae578063715018a6146109125780637ecebe00146108b057806384b0196e146107405780638da5cb5b146106ee57806395d89b41146105c75780639dc29fac14610480578063a9059cbb14610432578063d505accf14610241578063dd62ed3e146101cc5763f2fde38b146100e6575f80fd5b346101c85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85761011d610eec565b90610126611282565b73ffffffffffffffffffffffffffffffffffffffff809216928315610199575050600854827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b82346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857602090610206610eec565b61020e610f0f565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b50346101c85760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857610279610eec565b610281610f0f565b906044359260643560843560ff811681036101c8578142116104035773ffffffffffffffffffffffffffffffffffffffff9081851692835f526007602052885f209081549160018301905589519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868c840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103d7578a5251902061038e916103859161034461114a565b908b51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611592565b9092919261162c565b168181036103a3576103a18686866112d3565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602483838951917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b82346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209061047961046f610eec565b602435903361100d565b5160018152f35b5090346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576104b8610eec565b90602435926104c5611282565b73ffffffffffffffffffffffffffffffffffffffff831692831561059857835f525f602052825f205491858310610539575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b610594868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b50346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857815191825f835461060681610f32565b90818452602095600191876001821691825f146106a957505060011461064d575b505050610649929161063a910385610fcc565b51928284938452830190610ea9565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610691575050508201018161063a610649610627565b8054848a018601528895508794909301928101610678565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061063a91506106499050610627565b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576107987f000000000000000000000000000000000000000000000000000000000000000061139d565b916107c27f00000000000000000000000000000000000000000000000000000000000000006114d5565b815191602091602084019484861067ffffffffffffffff8711176108845750610839826020928761082c99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610ea9565b9188830390890152610ea9565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061086d57505050500390f35b83518552869550938101939281019260010161085e565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101c85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209073ffffffffffffffffffffffffffffffffffffffff610900610eec565b165f5260078252805f20549051908152f35b346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857610948611282565b5f73ffffffffffffffffffffffffffffffffffffffff6008547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b82346101c85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760209073ffffffffffffffffffffffffffffffffffffffff6109fe610eec565b165f525f8252805f20549051908152f35b5090346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857610a47610eec565b9073ffffffffffffffffffffffffffffffffffffffff60243592610a69611282565b16928315610aec5760025490838201809211610ac057505f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857602090610b5461114a565b9051908152f35b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576020905160128152f35b50346101c85760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857610bcc610eec565b610bd4610f0f565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610c3c575b60208761047988888861100d565b858310610cd6578115610ca7573315610c7857505f90815260016020908152868220338352815290869020918590039091558290610479610c2e565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b82346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c8576020906002549051908152f35b82346101c857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c857602090610479610d94610eec565b60243590336112d3565b83346101c8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c85760035490825f610ddc84610f32565b808352602094600190866001821691825f14610e69575050600114610e0e575b5050610649929161063a910385610fcc565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610e51575050508201018161063a610dfc565b8054848a018601528895508794909301928101610e3b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061063a9050610dfc565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101c857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101c857565b90600182811c92168015610f79575b6020831014610f4c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610f41565b6040810190811067ffffffffffffffff821117610f9f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f9f57604052565b9173ffffffffffffffffffffffffffffffffffffffff80841692831561111a57169283156110ea57825f525f60205260405f2054908282106110925750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611259575b156111b2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610f9f5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611189565b73ffffffffffffffffffffffffffffffffffffffff6008541633036112a357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561136d571691821561133d5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146113f35760ff811690601f82116113c957604051916113bf83610f83565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61140583610f32565b808352926020906001908181169081156114925750600114611433575b505061143092500382610fcc565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061147a57506114309450505081016020015f80611422565b8554878501830152948501948694509281019261145f565b9050602093506114309592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f80611422565b60ff81146114f75760ff811690601f82116113c957604051916113bf83610f83565b50604051600654815f61150983610f32565b80835292602090600190818116908115611492575060011461153357505061143092500382610fcc565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061157a57506114309450505081016020015f80611422565b8554878501830152948501948694509281019261155f565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611621579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611616575f5173ffffffffffffffffffffffffffffffffffffffff81161561160c57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156116e4578061163e575050565b600181036116705760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b600281036116a957602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146116b35750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220d982351d49e206d2f1ca9b7892dcbd18890a01bdf8f890d231af9572624f243a64736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "string";