@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
@@ -25,6 +25,8 @@ export type { IERC20Permit } from "./@openzeppelin/contracts/token/ERC20/extensi
25
25
  export { IERC20Permit__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit__factory";
26
26
  export type { IERC20 } from "./@openzeppelin/contracts/token/ERC20/IERC20";
27
27
  export { IERC20__factory } from "./factories/@openzeppelin/contracts/token/ERC20/IERC20__factory";
28
+ export type { Address } from "./@openzeppelin/contracts/utils/Address";
29
+ export { Address__factory } from "./factories/@openzeppelin/contracts/utils/Address__factory";
28
30
  export type { ECDSA } from "./@openzeppelin/contracts/utils/cryptography/ECDSA";
29
31
  export { ECDSA__factory } from "./factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory";
30
32
  export type { EIP712 } from "./@openzeppelin/contracts/utils/cryptography/EIP712";
@@ -37,20 +39,22 @@ export type { ShortStrings } from "./@openzeppelin/contracts/utils/ShortStrings"
37
39
  export { ShortStrings__factory } from "./factories/@openzeppelin/contracts/utils/ShortStrings__factory";
38
40
  export type { Strings } from "./@openzeppelin/contracts/utils/Strings";
39
41
  export { Strings__factory } from "./factories/@openzeppelin/contracts/utils/Strings__factory";
40
- export type { EthReceiver } from "./contracts/EthReceiver";
41
- export { EthReceiver__factory } from "./factories/contracts/EthReceiver__factory";
42
42
  export type { ICreate3Deployer } from "./contracts/interfaces/ICreate3Deployer";
43
43
  export { ICreate3Deployer__factory } from "./factories/contracts/interfaces/ICreate3Deployer__factory";
44
44
  export type { IDaiLikePermit } from "./contracts/interfaces/IDaiLikePermit";
45
45
  export { IDaiLikePermit__factory } from "./factories/contracts/interfaces/IDaiLikePermit__factory";
46
46
  export type { IERC20MetadataUppercase } from "./contracts/interfaces/IERC20MetadataUppercase";
47
47
  export { IERC20MetadataUppercase__factory } from "./factories/contracts/interfaces/IERC20MetadataUppercase__factory";
48
+ export type { IERC7597Permit } from "./contracts/interfaces/IERC7597Permit";
49
+ export { IERC7597Permit__factory } from "./factories/contracts/interfaces/IERC7597Permit__factory";
48
50
  export type { IPermit2 } from "./contracts/interfaces/IPermit2";
49
51
  export { IPermit2__factory } from "./factories/contracts/interfaces/IPermit2__factory";
50
52
  export type { IWETH } from "./contracts/interfaces/IWETH";
51
53
  export { IWETH__factory } from "./factories/contracts/interfaces/IWETH__factory";
52
54
  export type { AddressArray } from "./contracts/libraries/AddressArray";
53
55
  export { AddressArray__factory } from "./factories/contracts/libraries/AddressArray__factory";
56
+ export type { BySigTraits } from "./contracts/libraries/BySigTraits";
57
+ export { BySigTraits__factory } from "./factories/contracts/libraries/BySigTraits__factory";
54
58
  export type { BytesMemory } from "./contracts/libraries/BytesMemory";
55
59
  export { BytesMemory__factory } from "./factories/contracts/libraries/BytesMemory__factory";
56
60
  export type { BytesStorage } from "./contracts/libraries/BytesStorage";
@@ -61,16 +65,24 @@ export type { SafeERC20 } from "./contracts/libraries/SafeERC20";
61
65
  export { SafeERC20__factory } from "./factories/contracts/libraries/SafeERC20__factory";
62
66
  export type { UniERC20 } from "./contracts/libraries/UniERC20";
63
67
  export { UniERC20__factory } from "./factories/contracts/libraries/UniERC20__factory";
68
+ export type { BySig } from "./contracts/mixins/BySig";
69
+ export { BySig__factory } from "./factories/contracts/mixins/BySig__factory";
70
+ export type { EthReceiver } from "./contracts/mixins/EthReceiver";
71
+ export { EthReceiver__factory } from "./factories/contracts/mixins/EthReceiver__factory";
72
+ export type { OnlyWethReceiver } from "./contracts/mixins/OnlyWethReceiver";
73
+ export { OnlyWethReceiver__factory } from "./factories/contracts/mixins/OnlyWethReceiver__factory";
74
+ export type { PermitAndCall } from "./contracts/mixins/PermitAndCall";
75
+ export { PermitAndCall__factory } from "./factories/contracts/mixins/PermitAndCall__factory";
76
+ export type { SelfdestructEthSender } from "./contracts/mixins/SelfdestructEthSender";
77
+ export { SelfdestructEthSender__factory } from "./factories/contracts/mixins/SelfdestructEthSender__factory";
64
78
  export type { ERC20PermitMock } from "./contracts/mocks/ERC20PermitMock";
65
79
  export { ERC20PermitMock__factory } from "./factories/contracts/mocks/ERC20PermitMock__factory";
80
+ export type { SelfdestructEthSenderMock } from "./contracts/mocks/SelfdestructEthSenderMock";
81
+ export { SelfdestructEthSenderMock__factory } from "./factories/contracts/mocks/SelfdestructEthSenderMock__factory";
66
82
  export type { TokenCustomDecimalsMock } from "./contracts/mocks/TokenCustomDecimalsMock";
67
83
  export { TokenCustomDecimalsMock__factory } from "./factories/contracts/mocks/TokenCustomDecimalsMock__factory";
68
84
  export type { TokenMock } from "./contracts/mocks/TokenMock";
69
85
  export { TokenMock__factory } from "./factories/contracts/mocks/TokenMock__factory";
70
- export type { OnlyWethReceiver } from "./contracts/OnlyWethReceiver";
71
- export { OnlyWethReceiver__factory } from "./factories/contracts/OnlyWethReceiver__factory";
72
- export type { PermitAndCall } from "./contracts/PermitAndCall";
73
- export { PermitAndCall__factory } from "./factories/contracts/PermitAndCall__factory";
74
86
  export type { ECDSATest } from "./contracts/tests/ECDSATest";
75
87
  export { ECDSATest__factory } from "./factories/contracts/tests/ECDSATest__factory";
76
88
  export type { AddressArrayMock } from "./contracts/tests/mocks/AddressArrayMock";
@@ -79,6 +91,8 @@ export type { AddressLibMock } from "./contracts/tests/mocks/AddressLibMock";
79
91
  export { AddressLibMock__factory } from "./factories/contracts/tests/mocks/AddressLibMock__factory";
80
92
  export type { AddressSetMock } from "./contracts/tests/mocks/AddressSetMock";
81
93
  export { AddressSetMock__factory } from "./factories/contracts/tests/mocks/AddressSetMock__factory";
94
+ export type { BySigTraitsMock } from "./contracts/tests/mocks/BySigTraitsMock";
95
+ export { BySigTraitsMock__factory } from "./factories/contracts/tests/mocks/BySigTraitsMock__factory";
82
96
  export type { BytesMemoryMock } from "./contracts/tests/mocks/BytesMemoryMock";
83
97
  export { BytesMemoryMock__factory } from "./factories/contracts/tests/mocks/BytesMemoryMock__factory";
84
98
  export type { BytesStorageMock } from "./contracts/tests/mocks/BytesStorageMock";
@@ -113,6 +127,8 @@ export type { SafeERC20Wrapper } from "./contracts/tests/mocks/SafeERC20Helper.s
113
127
  export { SafeERC20Wrapper__factory } from "./factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory";
114
128
  export type { SafeWETHWrapper } from "./contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper";
115
129
  export { SafeWETHWrapper__factory } from "./factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory";
130
+ export type { TokenWithBySig } from "./contracts/tests/mocks/TokenWithBySig";
131
+ export { TokenWithBySig__factory } from "./factories/contracts/tests/mocks/TokenWithBySig__factory";
116
132
  export type { ERC20bytes32 } from "./contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32";
117
133
  export { ERC20bytes32__factory } from "./factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory";
118
134
  export type { ERC20bytes32Capitals } from "./contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals";
@@ -125,6 +141,8 @@ export type { IUniERC20Wrapper } from "./contracts/tests/mocks/UniERC20Helper.so
125
141
  export { IUniERC20Wrapper__factory } from "./factories/contracts/tests/mocks/UniERC20Helper.sol/IUniERC20Wrapper__factory";
126
142
  export type { UniERC20Wrapper } from "./contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper";
127
143
  export { UniERC20Wrapper__factory } from "./factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory";
144
+ export type { USDCLikePermitMock } from "./contracts/tests/mocks/USDCLikePermitMock";
145
+ export { USDCLikePermitMock__factory } from "./factories/contracts/tests/mocks/USDCLikePermitMock__factory";
128
146
  export type { WETH } from "./contracts/tests/mocks/WETH";
129
147
  export { WETH__factory } from "./factories/contracts/tests/mocks/WETH__factory";
130
148
  export type { WethReceiverMock } from "./contracts/tests/mocks/WethReceiverMock";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERC20ReturnFalseMock__factory = exports.ERC20PermitNoRevertMock__factory = exports.ERC20NoReturnMock__factory = exports.PermitAndCallMock__factory = exports.PermitableMock__factory = exports.EthSenderMock__factory = exports.EthReceiverMock__factory = exports.ERC1271WalletMock__factory = exports.DaiLikePermitMock__factory = exports.BytesStorageMock__factory = exports.BytesMemoryMock__factory = exports.AddressSetMock__factory = exports.AddressLibMock__factory = exports.AddressArrayMock__factory = exports.ECDSATest__factory = exports.PermitAndCall__factory = exports.OnlyWethReceiver__factory = exports.TokenMock__factory = exports.TokenCustomDecimalsMock__factory = exports.ERC20PermitMock__factory = exports.UniERC20__factory = exports.SafeERC20__factory = exports.RevertReasonParser__factory = exports.BytesStorage__factory = exports.BytesMemory__factory = exports.AddressArray__factory = exports.IWETH__factory = exports.IPermit2__factory = exports.IERC20MetadataUppercase__factory = exports.IDaiLikePermit__factory = exports.ICreate3Deployer__factory = exports.EthReceiver__factory = exports.Strings__factory = exports.ShortStrings__factory = exports.Nonces__factory = exports.Math__factory = exports.EIP712__factory = exports.ECDSA__factory = exports.IERC20__factory = exports.IERC20Permit__factory = exports.IERC20Metadata__factory = exports.ERC20Permit__factory = exports.ERC20__factory = exports.IERC5267__factory = exports.IERC1271__factory = exports.IERC721Errors__factory = exports.IERC20Errors__factory = exports.IERC1155Errors__factory = exports.Ownable__factory = exports.factories = void 0;
4
- exports.StringUtilTest__factory = exports.RevertReasonParserTest__factory = exports.WethReceiverMock__factory = exports.WETH__factory = exports.UniERC20Wrapper__factory = exports.IUniERC20Wrapper__factory = exports.ETHBadReceiver__factory = exports.ERC20Capitals__factory = exports.ERC20bytes32Capitals__factory = exports.ERC20bytes32__factory = exports.SafeWETHWrapper__factory = exports.SafeERC20Wrapper__factory = exports.Permit2ReturnTrueMock__factory = exports.ERC20WithSafeBalance__factory = exports.ERC20ThroughZeroApprove__factory = exports.ERC20ReturnTrueMock__factory = void 0;
3
+ exports.ERC1271WalletMock__factory = exports.DaiLikePermitMock__factory = exports.BytesStorageMock__factory = exports.BytesMemoryMock__factory = exports.BySigTraitsMock__factory = exports.AddressSetMock__factory = exports.AddressLibMock__factory = exports.AddressArrayMock__factory = exports.ECDSATest__factory = exports.TokenMock__factory = exports.TokenCustomDecimalsMock__factory = exports.SelfdestructEthSenderMock__factory = exports.ERC20PermitMock__factory = exports.SelfdestructEthSender__factory = exports.PermitAndCall__factory = exports.OnlyWethReceiver__factory = exports.EthReceiver__factory = exports.BySig__factory = exports.UniERC20__factory = exports.SafeERC20__factory = exports.RevertReasonParser__factory = exports.BytesStorage__factory = exports.BytesMemory__factory = exports.BySigTraits__factory = exports.AddressArray__factory = exports.IWETH__factory = exports.IPermit2__factory = exports.IERC7597Permit__factory = exports.IERC20MetadataUppercase__factory = exports.IDaiLikePermit__factory = exports.ICreate3Deployer__factory = exports.Strings__factory = exports.ShortStrings__factory = exports.Nonces__factory = exports.Math__factory = exports.EIP712__factory = exports.ECDSA__factory = exports.Address__factory = exports.IERC20__factory = exports.IERC20Permit__factory = exports.IERC20Metadata__factory = exports.ERC20Permit__factory = exports.ERC20__factory = exports.IERC5267__factory = exports.IERC1271__factory = exports.IERC721Errors__factory = exports.IERC20Errors__factory = exports.IERC1155Errors__factory = exports.Ownable__factory = exports.factories = void 0;
4
+ exports.StringUtilTest__factory = exports.RevertReasonParserTest__factory = exports.WethReceiverMock__factory = exports.WETH__factory = exports.USDCLikePermitMock__factory = exports.UniERC20Wrapper__factory = exports.IUniERC20Wrapper__factory = exports.ETHBadReceiver__factory = exports.ERC20Capitals__factory = exports.ERC20bytes32Capitals__factory = exports.ERC20bytes32__factory = exports.TokenWithBySig__factory = exports.SafeWETHWrapper__factory = exports.SafeERC20Wrapper__factory = exports.Permit2ReturnTrueMock__factory = exports.ERC20WithSafeBalance__factory = exports.ERC20ThroughZeroApprove__factory = exports.ERC20ReturnTrueMock__factory = exports.ERC20ReturnFalseMock__factory = exports.ERC20PermitNoRevertMock__factory = exports.ERC20NoReturnMock__factory = exports.PermitAndCallMock__factory = exports.PermitableMock__factory = exports.EthSenderMock__factory = exports.EthReceiverMock__factory = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  exports.factories = tslib_1.__importStar(require("./factories"));
7
7
  var Ownable__factory_1 = require("./factories/@openzeppelin/contracts/access/Ownable__factory");
@@ -26,6 +26,8 @@ var IERC20Permit__factory_1 = require("./factories/@openzeppelin/contracts/token
26
26
  Object.defineProperty(exports, "IERC20Permit__factory", { enumerable: true, get: function () { return IERC20Permit__factory_1.IERC20Permit__factory; } });
27
27
  var IERC20__factory_1 = require("./factories/@openzeppelin/contracts/token/ERC20/IERC20__factory");
28
28
  Object.defineProperty(exports, "IERC20__factory", { enumerable: true, get: function () { return IERC20__factory_1.IERC20__factory; } });
29
+ var Address__factory_1 = require("./factories/@openzeppelin/contracts/utils/Address__factory");
30
+ Object.defineProperty(exports, "Address__factory", { enumerable: true, get: function () { return Address__factory_1.Address__factory; } });
29
31
  var ECDSA__factory_1 = require("./factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory");
30
32
  Object.defineProperty(exports, "ECDSA__factory", { enumerable: true, get: function () { return ECDSA__factory_1.ECDSA__factory; } });
31
33
  var EIP712__factory_1 = require("./factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory");
@@ -38,20 +40,22 @@ var ShortStrings__factory_1 = require("./factories/@openzeppelin/contracts/utils
38
40
  Object.defineProperty(exports, "ShortStrings__factory", { enumerable: true, get: function () { return ShortStrings__factory_1.ShortStrings__factory; } });
39
41
  var Strings__factory_1 = require("./factories/@openzeppelin/contracts/utils/Strings__factory");
40
42
  Object.defineProperty(exports, "Strings__factory", { enumerable: true, get: function () { return Strings__factory_1.Strings__factory; } });
41
- var EthReceiver__factory_1 = require("./factories/contracts/EthReceiver__factory");
42
- Object.defineProperty(exports, "EthReceiver__factory", { enumerable: true, get: function () { return EthReceiver__factory_1.EthReceiver__factory; } });
43
43
  var ICreate3Deployer__factory_1 = require("./factories/contracts/interfaces/ICreate3Deployer__factory");
44
44
  Object.defineProperty(exports, "ICreate3Deployer__factory", { enumerable: true, get: function () { return ICreate3Deployer__factory_1.ICreate3Deployer__factory; } });
45
45
  var IDaiLikePermit__factory_1 = require("./factories/contracts/interfaces/IDaiLikePermit__factory");
46
46
  Object.defineProperty(exports, "IDaiLikePermit__factory", { enumerable: true, get: function () { return IDaiLikePermit__factory_1.IDaiLikePermit__factory; } });
47
47
  var IERC20MetadataUppercase__factory_1 = require("./factories/contracts/interfaces/IERC20MetadataUppercase__factory");
48
48
  Object.defineProperty(exports, "IERC20MetadataUppercase__factory", { enumerable: true, get: function () { return IERC20MetadataUppercase__factory_1.IERC20MetadataUppercase__factory; } });
49
+ var IERC7597Permit__factory_1 = require("./factories/contracts/interfaces/IERC7597Permit__factory");
50
+ Object.defineProperty(exports, "IERC7597Permit__factory", { enumerable: true, get: function () { return IERC7597Permit__factory_1.IERC7597Permit__factory; } });
49
51
  var IPermit2__factory_1 = require("./factories/contracts/interfaces/IPermit2__factory");
50
52
  Object.defineProperty(exports, "IPermit2__factory", { enumerable: true, get: function () { return IPermit2__factory_1.IPermit2__factory; } });
51
53
  var IWETH__factory_1 = require("./factories/contracts/interfaces/IWETH__factory");
52
54
  Object.defineProperty(exports, "IWETH__factory", { enumerable: true, get: function () { return IWETH__factory_1.IWETH__factory; } });
53
55
  var AddressArray__factory_1 = require("./factories/contracts/libraries/AddressArray__factory");
54
56
  Object.defineProperty(exports, "AddressArray__factory", { enumerable: true, get: function () { return AddressArray__factory_1.AddressArray__factory; } });
57
+ var BySigTraits__factory_1 = require("./factories/contracts/libraries/BySigTraits__factory");
58
+ Object.defineProperty(exports, "BySigTraits__factory", { enumerable: true, get: function () { return BySigTraits__factory_1.BySigTraits__factory; } });
55
59
  var BytesMemory__factory_1 = require("./factories/contracts/libraries/BytesMemory__factory");
56
60
  Object.defineProperty(exports, "BytesMemory__factory", { enumerable: true, get: function () { return BytesMemory__factory_1.BytesMemory__factory; } });
57
61
  var BytesStorage__factory_1 = require("./factories/contracts/libraries/BytesStorage__factory");
@@ -62,16 +66,24 @@ var SafeERC20__factory_1 = require("./factories/contracts/libraries/SafeERC20__f
62
66
  Object.defineProperty(exports, "SafeERC20__factory", { enumerable: true, get: function () { return SafeERC20__factory_1.SafeERC20__factory; } });
63
67
  var UniERC20__factory_1 = require("./factories/contracts/libraries/UniERC20__factory");
64
68
  Object.defineProperty(exports, "UniERC20__factory", { enumerable: true, get: function () { return UniERC20__factory_1.UniERC20__factory; } });
69
+ var BySig__factory_1 = require("./factories/contracts/mixins/BySig__factory");
70
+ Object.defineProperty(exports, "BySig__factory", { enumerable: true, get: function () { return BySig__factory_1.BySig__factory; } });
71
+ var EthReceiver__factory_1 = require("./factories/contracts/mixins/EthReceiver__factory");
72
+ Object.defineProperty(exports, "EthReceiver__factory", { enumerable: true, get: function () { return EthReceiver__factory_1.EthReceiver__factory; } });
73
+ var OnlyWethReceiver__factory_1 = require("./factories/contracts/mixins/OnlyWethReceiver__factory");
74
+ Object.defineProperty(exports, "OnlyWethReceiver__factory", { enumerable: true, get: function () { return OnlyWethReceiver__factory_1.OnlyWethReceiver__factory; } });
75
+ var PermitAndCall__factory_1 = require("./factories/contracts/mixins/PermitAndCall__factory");
76
+ Object.defineProperty(exports, "PermitAndCall__factory", { enumerable: true, get: function () { return PermitAndCall__factory_1.PermitAndCall__factory; } });
77
+ var SelfdestructEthSender__factory_1 = require("./factories/contracts/mixins/SelfdestructEthSender__factory");
78
+ Object.defineProperty(exports, "SelfdestructEthSender__factory", { enumerable: true, get: function () { return SelfdestructEthSender__factory_1.SelfdestructEthSender__factory; } });
65
79
  var ERC20PermitMock__factory_1 = require("./factories/contracts/mocks/ERC20PermitMock__factory");
66
80
  Object.defineProperty(exports, "ERC20PermitMock__factory", { enumerable: true, get: function () { return ERC20PermitMock__factory_1.ERC20PermitMock__factory; } });
81
+ var SelfdestructEthSenderMock__factory_1 = require("./factories/contracts/mocks/SelfdestructEthSenderMock__factory");
82
+ Object.defineProperty(exports, "SelfdestructEthSenderMock__factory", { enumerable: true, get: function () { return SelfdestructEthSenderMock__factory_1.SelfdestructEthSenderMock__factory; } });
67
83
  var TokenCustomDecimalsMock__factory_1 = require("./factories/contracts/mocks/TokenCustomDecimalsMock__factory");
68
84
  Object.defineProperty(exports, "TokenCustomDecimalsMock__factory", { enumerable: true, get: function () { return TokenCustomDecimalsMock__factory_1.TokenCustomDecimalsMock__factory; } });
69
85
  var TokenMock__factory_1 = require("./factories/contracts/mocks/TokenMock__factory");
70
86
  Object.defineProperty(exports, "TokenMock__factory", { enumerable: true, get: function () { return TokenMock__factory_1.TokenMock__factory; } });
71
- var OnlyWethReceiver__factory_1 = require("./factories/contracts/OnlyWethReceiver__factory");
72
- Object.defineProperty(exports, "OnlyWethReceiver__factory", { enumerable: true, get: function () { return OnlyWethReceiver__factory_1.OnlyWethReceiver__factory; } });
73
- var PermitAndCall__factory_1 = require("./factories/contracts/PermitAndCall__factory");
74
- Object.defineProperty(exports, "PermitAndCall__factory", { enumerable: true, get: function () { return PermitAndCall__factory_1.PermitAndCall__factory; } });
75
87
  var ECDSATest__factory_1 = require("./factories/contracts/tests/ECDSATest__factory");
76
88
  Object.defineProperty(exports, "ECDSATest__factory", { enumerable: true, get: function () { return ECDSATest__factory_1.ECDSATest__factory; } });
77
89
  var AddressArrayMock__factory_1 = require("./factories/contracts/tests/mocks/AddressArrayMock__factory");
@@ -80,6 +92,8 @@ var AddressLibMock__factory_1 = require("./factories/contracts/tests/mocks/Addre
80
92
  Object.defineProperty(exports, "AddressLibMock__factory", { enumerable: true, get: function () { return AddressLibMock__factory_1.AddressLibMock__factory; } });
81
93
  var AddressSetMock__factory_1 = require("./factories/contracts/tests/mocks/AddressSetMock__factory");
82
94
  Object.defineProperty(exports, "AddressSetMock__factory", { enumerable: true, get: function () { return AddressSetMock__factory_1.AddressSetMock__factory; } });
95
+ var BySigTraitsMock__factory_1 = require("./factories/contracts/tests/mocks/BySigTraitsMock__factory");
96
+ Object.defineProperty(exports, "BySigTraitsMock__factory", { enumerable: true, get: function () { return BySigTraitsMock__factory_1.BySigTraitsMock__factory; } });
83
97
  var BytesMemoryMock__factory_1 = require("./factories/contracts/tests/mocks/BytesMemoryMock__factory");
84
98
  Object.defineProperty(exports, "BytesMemoryMock__factory", { enumerable: true, get: function () { return BytesMemoryMock__factory_1.BytesMemoryMock__factory; } });
85
99
  var BytesStorageMock__factory_1 = require("./factories/contracts/tests/mocks/BytesStorageMock__factory");
@@ -114,6 +128,8 @@ var SafeERC20Wrapper__factory_1 = require("./factories/contracts/tests/mocks/Saf
114
128
  Object.defineProperty(exports, "SafeERC20Wrapper__factory", { enumerable: true, get: function () { return SafeERC20Wrapper__factory_1.SafeERC20Wrapper__factory; } });
115
129
  var SafeWETHWrapper__factory_1 = require("./factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory");
116
130
  Object.defineProperty(exports, "SafeWETHWrapper__factory", { enumerable: true, get: function () { return SafeWETHWrapper__factory_1.SafeWETHWrapper__factory; } });
131
+ var TokenWithBySig__factory_1 = require("./factories/contracts/tests/mocks/TokenWithBySig__factory");
132
+ Object.defineProperty(exports, "TokenWithBySig__factory", { enumerable: true, get: function () { return TokenWithBySig__factory_1.TokenWithBySig__factory; } });
117
133
  var ERC20bytes32__factory_1 = require("./factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory");
118
134
  Object.defineProperty(exports, "ERC20bytes32__factory", { enumerable: true, get: function () { return ERC20bytes32__factory_1.ERC20bytes32__factory; } });
119
135
  var ERC20bytes32Capitals__factory_1 = require("./factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory");
@@ -126,6 +142,8 @@ var IUniERC20Wrapper__factory_1 = require("./factories/contracts/tests/mocks/Uni
126
142
  Object.defineProperty(exports, "IUniERC20Wrapper__factory", { enumerable: true, get: function () { return IUniERC20Wrapper__factory_1.IUniERC20Wrapper__factory; } });
127
143
  var UniERC20Wrapper__factory_1 = require("./factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory");
128
144
  Object.defineProperty(exports, "UniERC20Wrapper__factory", { enumerable: true, get: function () { return UniERC20Wrapper__factory_1.UniERC20Wrapper__factory; } });
145
+ var USDCLikePermitMock__factory_1 = require("./factories/contracts/tests/mocks/USDCLikePermitMock__factory");
146
+ Object.defineProperty(exports, "USDCLikePermitMock__factory", { enumerable: true, get: function () { return USDCLikePermitMock__factory_1.USDCLikePermitMock__factory; } });
129
147
  var WETH__factory_1 = require("./factories/contracts/tests/mocks/WETH__factory");
130
148
  Object.defineProperty(exports, "WETH__factory", { enumerable: true, get: function () { return WETH__factory_1.WETH__factory; } });
131
149
  var WethReceiverMock__factory_1 = require("./factories/contracts/tests/mocks/WethReceiverMock__factory");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typechain-types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typechain-types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1inch/solidity-utils",
3
- "version": "3.8.3",
3
+ "version": "4.1.0",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "exports": {
@@ -17,6 +17,7 @@
17
17
  "build": "yarn typechain && cti src hardhat-setup -b && tsc -p tsconfig.publish.json",
18
18
  "prepack": "yarn clean && yarn build",
19
19
  "coverage": "hardhat coverage",
20
+ "docify": "npx solidity-utils-docify && npx typedoc --options typedoc.json",
20
21
  "format": "yarn format-ts && yarn format-sol",
21
22
  "format-ts": "prettier '**/*.ts' --write",
22
23
  "format-sol": "prettier '**/*.sol' --write",
@@ -32,49 +33,53 @@
32
33
  "test:us": "UPDATE_SNAPSHOT=1 yarn test:ci",
33
34
  "typecheck": "tsc --noEmit --skipLibCheck",
34
35
  "typechain": "hardhat typechain"
35
-
36
36
  },
37
37
  "dependencies": {
38
38
  "@metamask/eth-sig-util": "7.0.1",
39
39
  "@nomicfoundation/hardhat-ethers": "3.0.5",
40
40
  "@nomicfoundation/hardhat-network-helpers": "1.0.10",
41
- "@nomicfoundation/hardhat-verify": "2.0.4",
42
- "@openzeppelin/contracts": "5.0.1",
41
+ "@nomicfoundation/hardhat-verify": "2.0.5",
42
+ "@openzeppelin/contracts": "5.0.2",
43
43
  "@uniswap/permit2-sdk": "1.2.0",
44
44
  "chai": "4.4.0",
45
- "dotenv": "16.4.3",
45
+ "dotenv": "16.4.5",
46
46
  "ethereumjs-util": "7.1.5",
47
- "ethers": "6.11.0",
48
- "hardhat": "2.19.5",
49
- "hardhat-deploy": "0.11.45",
50
- "mocha-chai-jest-snapshot": "1.1.4"
47
+ "ethers": "6.11.1",
48
+ "hardhat": "2.22.2",
49
+ "hardhat-deploy": "0.12.2",
50
+ "mocha-chai-jest-snapshot": "1.1.4",
51
+ "node-fetch": "2.7.0"
51
52
  },
52
53
  "devDependencies": {
53
- "@nomicfoundation/hardhat-chai-matchers": "2.0.4",
54
+ "@nomicfoundation/hardhat-chai-matchers": "2.0.6",
54
55
  "@typechain/ethers-v6": "0.5.1",
55
56
  "@typechain/hardhat": "9.1.0",
56
57
  "@types/mocha": "10.0.6",
57
- "@typescript-eslint/eslint-plugin": "7.0.1",
58
- "@typescript-eslint/parser": "7.0.1",
58
+ "@types/node-fetch": "2.6.11",
59
+ "@typescript-eslint/eslint-plugin": "7.5.0",
60
+ "@typescript-eslint/parser": "7.5.0",
59
61
  "acquit": "1.3.0",
60
62
  "commander": "12.0.0",
61
63
  "create-ts-index": "1.14.0",
62
64
  "cross-spawn": "7.0.3",
63
- "eslint": "8.56.0",
65
+ "eslint": "8.57.0",
64
66
  "eslint-config-standard": "17.1.0",
65
67
  "eslint-plugin-import": "2.29.1",
66
68
  "eslint-plugin-n": "16.6.2",
67
69
  "eslint-plugin-promise": "6.1.1",
68
- "hardhat-gas-reporter": "1.0.10",
69
- "hardhat-tracer": "2.7.0",
70
+ "hardhat-gas-reporter": "2.0.2",
70
71
  "prettier": "3.2.5",
71
72
  "prettier-plugin-solidity": "1.3.1",
72
73
  "rimraf": "5.0.5",
73
- "solhint": "4.1.1",
74
- "solidity-coverage": "0.8.7",
74
+ "solc": "0.8.25",
75
+ "solhint": "4.5.2",
76
+ "solidity-coverage": "0.8.11",
77
+ "solidity-docgen": "0.5.17",
75
78
  "ts-node": "10.9.2",
76
79
  "typechain": "8.3.2",
77
- "typescript": "5.3.3"
80
+ "typedoc": "0.25.12",
81
+ "typedoc-plugin-markdown": "3.17.1",
82
+ "typescript": "5.4.3"
78
83
  },
79
84
  "bin": {
80
85
  "solidity-utils-docify": "utils/docify.utils.js",
@@ -0,0 +1,180 @@
1
+ ### UTILS
2
+
3
+ #### Docify
4
+
5
+ Generates documentation in markdown format from natspec docs
6
+
7
+ ##### Usage
8
+ Add to `package.json` file solidity compiler version (add version you use), solidity-docgen (0.5, 0.6 is unstable) util and shortcut to run command
9
+
10
+ `devDependencies` section
11
+
12
+ ```
13
+ "solc": "0.8.23",
14
+ "solidity-docgen": "0.5.17",
15
+ ```
16
+
17
+ `scripts` section
18
+ ```
19
+ "docify": "npx solidity-utils-docify"
20
+ ```
21
+
22
+ You can set output directory with ENV variable:
23
+ ```
24
+ "docify": "DOCGEN_OUTPUT_DIR=./docs npx solidity-utils-docify"
25
+ ```
26
+
27
+ ...
28
+
29
+ #### Dependencies list (imports-list)
30
+
31
+ Lists all imports recursively for the given solidity contract file.
32
+
33
+ ##### Usage
34
+ ```
35
+ npx imports-list -i <solidity file> [-a <alias list>]
36
+ ```
37
+
38
+ Available parameters
39
+ ```
40
+ Options:
41
+ -i, --input <input> file to get dependencies for
42
+ -a, --alias [alias...] projects alias list
43
+ -h, --help display help for command
44
+ ```
45
+ Aliases are used to provide source code for third-party projects.
46
+ For example, your contract uses imports from your other project and import is defined as
47
+ ```
48
+ import "@1inch/otherproject/contracts/dependency.sol";
49
+ ```
50
+ and you've got source code for `@1inch/otherproject` locally. Then you provide local path for the project to rip dependencies from `dependency.sol` as well.
51
+ If there are several dependencies they should be provided using space as separator.
52
+
53
+ ##### Example
54
+ File imports
55
+ ```Solidity
56
+ #rootFile.sol
57
+ import '@1inch/otherproject/contracts/dependency.sol'
58
+
59
+ #@1inch/otherproject/contracts/dependency.sol
60
+ import 'helpers/helper.sol'
61
+ ```
62
+ File and folder structure
63
+ ```
64
+ rootFolder/
65
+
66
+ -- mainProject/
67
+ ---- contracts/
68
+ ------ rootFile.sol
69
+
70
+ -- dependencyProject/
71
+ ---- helpers/
72
+ ------ helper.sol
73
+ ---- dependency.sol
74
+ ```
75
+ Command
76
+ ```
77
+ rootFolder/mainProject % npx imports-list -i './contracts/rootFile.sol' -a '@1inch/otherproject' '../dependencyProject'
78
+ ```
79
+ Output
80
+ ```
81
+ Project => root
82
+ not set
83
+
84
+ Project => @1inch/otherproject
85
+ ../otherproject/contracts/dependency.sol
86
+ ../otherproject/contracts/helpers/helper.sol
87
+ ```
88
+
89
+ #### Test documentation generator (test-docgen)
90
+ Script generates documentation for tests in markdown format.
91
+ Give descriptions for `describe` and `it` sections and build documentation using these descriptions.
92
+
93
+ ##### Example
94
+ Test described as shown below
95
+
96
+ ```JavaScript
97
+ // Test suite
98
+ describe('My feature', function() {
99
+ // Nested test suite
100
+ describe("My subfeature", function() {
101
+ /*
102
+ **Test case 1**
103
+ Test case should work
104
+ */
105
+ it("My case", function() {
106
+ // code here
107
+ })
108
+ })
109
+ })
110
+ ```
111
+ will generated the following output
112
+ ```Markdown
113
+
114
+ # My feature
115
+
116
+ Test suite
117
+
118
+ ## My subfeature
119
+
120
+ Nested test suite
121
+
122
+ ### My case
123
+
124
+ **Test case 1**
125
+ Test case should work
126
+ ```
127
+
128
+ ##### Installation
129
+ - Before use install documentation parser
130
+ ```
131
+ yarn add acquit --dev
132
+ ```
133
+ - Optionally configure script for default usage. Add to `script` section in `package.json`
134
+ ```
135
+ "test:docs": "npx test-docgen"
136
+ ```
137
+ - Optionally configure script for generating test list only. Add to `script` section in `package.json`
138
+ ```
139
+ "test:docs": "npx test-docgen -l"
140
+ ```
141
+
142
+ ##### Usage
143
+ If script configured
144
+ ```
145
+ yarn test:docs
146
+ ```
147
+ or
148
+ ```
149
+ npx test-docgen
150
+ ```
151
+
152
+ Available parameters
153
+ ```
154
+ Options:
155
+ -i, --input <input> tests directory (default: "test")
156
+ -x, --exclude [exclude] exclude directories and files. omit argument to exclude all subdirectories (default: false)
157
+ -o, --output <output> file to write output (default: "TESTS.md")
158
+ -c, --code include code (default: false)
159
+ -l, --list list tests only, do not include description (default: false)
160
+ -d, --debug debug mode (default: false)
161
+ -h, --help display help for command
162
+ ```
163
+ ##### Examples
164
+ Generate docs with default input and output
165
+ ```
166
+ npx test-docgen
167
+ ```
168
+
169
+ Generate docs for files in folders `tests/mocks` and `tests/utils`
170
+ ```
171
+ npx test-docgen -i "tests/mocks;tests/utils"
172
+ ```
173
+ Exclude from docs file `test/mock-exclude.js` and `test/utils folder`
174
+ ```
175
+ npx test-docgen -x "tests/mock-exclude.js;tests/utils"
176
+ ```
177
+ Generate list of tests only
178
+ ```
179
+ npx test-docgen -l
180
+ ```
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  const SOLC_NPM_NAME = 'solc';
3
- const BASE_DIR = 'docgen';
3
+ const BASE_DIR = 'docs';
4
4
  const SCRIPT_DIR = __dirname;
5
5
  const INPUT_DIR = 'contracts';
6
- const OUTPUT_DIR = process.env.DOCGEN_OUTPUT_DIR || `${BASE_DIR}/docs`;
6
+ const OUTPUT_DIR = process.env.DOCGEN_OUTPUT_DIR || `${BASE_DIR}/contracts`;
7
7
  const HELPERS_PATH = `${SCRIPT_DIR}/solidity-docgen-helpers.js`;
8
8
 
9
9
  const fs = require('fs');
@@ -93,7 +93,7 @@ function generateGitbookFiles () {
93
93
  if (fs.existsSync(path.join(BASE_DIR, 'README.md'))){
94
94
  fs.copyFileSync(path.join(BASE_DIR, 'README.md'), path.join(OUTPUT_DIR, 'README.md'));
95
95
  }
96
-
96
+
97
97
  const readmesToGenerate = getReadmes(OUTPUT_DIR);
98
98
  const summary = getSummary(OUTPUT_DIR);
99
99
 
File without changes
File without changes
@@ -1,16 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.0;
4
-
5
- abstract contract EthReceiver {
6
- error EthDepositRejected();
7
-
8
- receive() external payable {
9
- _receive();
10
- }
11
-
12
- function _receive() internal virtual {
13
- // solhint-disable-next-line avoid-tx-origin
14
- if (msg.sender == tx.origin) revert EthDepositRejected();
15
- }
16
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.0;
4
-
5
- import "./EthReceiver.sol";
6
-
7
- abstract contract OnlyWethReceiver is EthReceiver {
8
- address private immutable _WETH; // solhint-disable-line var-name-mixedcase
9
-
10
- constructor(address weth) {
11
- _WETH = address(weth);
12
- }
13
-
14
- function _receive() internal virtual override {
15
- if (msg.sender != _WETH) revert EthDepositRejected();
16
- }
17
- }
@@ -1,28 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.0;
4
-
5
- import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
6
- import { SafeERC20 } from "./libraries/SafeERC20.sol";
7
-
8
- abstract contract PermitAndCall {
9
- using SafeERC20 for IERC20;
10
-
11
- function permitAndCall(bytes calldata permit, bytes calldata action) external payable {
12
- IERC20(address(bytes20(permit))).tryPermit(permit[20:]);
13
- // solhint-disable-next-line no-inline-assembly
14
- assembly ("memory-safe") {
15
- let ptr := mload(0x40)
16
- calldatacopy(ptr, action.offset, action.length)
17
- let success := delegatecall(gas(), address(), ptr, action.length, 0, 0)
18
- returndatacopy(ptr, 0, returndatasize())
19
- switch success
20
- case 0 {
21
- revert(ptr, returndatasize())
22
- }
23
- default {
24
- return(ptr, returndatasize())
25
- }
26
- }
27
- }
28
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"EthReceiver.js","sourceRoot":"","sources":["../../../typechain-types/contracts/EthReceiver.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OnlyWethReceiver.js","sourceRoot":"","sources":["../../../typechain-types/contracts/OnlyWethReceiver.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PermitAndCall.js","sourceRoot":"","sources":["../../../typechain-types/contracts/PermitAndCall.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EthReceiver__factory.js","sourceRoot":"","sources":["../../../../typechain-types/factories/contracts/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 +0,0 @@
1
- {"version":3,"file":"OnlyWethReceiver__factory.js","sourceRoot":"","sources":["../../../../typechain-types/factories/contracts/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 +0,0 @@
1
- {"version":3,"file":"PermitAndCall__factory.js","sourceRoot":"","sources":["../../../../typechain-types/factories/contracts/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"}