@sudobility/contracts 1.16.5 → 1.17.10

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 (663) hide show
  1. package/README.md +16 -2
  2. package/artifacts/contracts/Mailer.sol/Mailer.d.ts +242 -16
  3. package/artifacts/contracts/Mailer.sol/Mailer.dbg.json +1 -1
  4. package/artifacts/contracts/Mailer.sol/Mailer.json +237 -11
  5. package/artifacts/contracts/MockUSDC.sol/MockUSDC.d.ts +2 -2
  6. package/artifacts/contracts/MockUSDC.sol/MockUSDC.dbg.json +1 -1
  7. package/artifacts/contracts/MockUSDC.sol/MockUSDC.json +2 -2
  8. package/artifacts/contracts/examples/MailerIntegrationExample.sol/MailerIntegrationExample.d.ts +299 -0
  9. package/artifacts/contracts/examples/MailerIntegrationExample.sol/MailerIntegrationExample.dbg.json +4 -0
  10. package/artifacts/contracts/examples/MailerIntegrationExample.sol/MailerIntegrationExample.json +249 -0
  11. package/artifacts/contracts/examples/MailerIntegrationExample.sol/artifacts.d.ts +21 -0
  12. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.dbg.json +1 -1
  13. package/artifacts/contracts/interfaces/IMailer.sol/IMailer.d.ts +216 -0
  14. package/artifacts/contracts/interfaces/IMailer.sol/IMailer.dbg.json +4 -0
  15. package/artifacts/contracts/interfaces/IMailer.sol/IMailer.json +166 -0
  16. package/artifacts/contracts/interfaces/IMailer.sol/artifacts.d.ts +21 -0
  17. package/contracts/Mailer.sol +922 -0
  18. package/contracts/MockUSDC.sol +106 -0
  19. package/contracts/examples/MailerIntegrationExample.sol +189 -0
  20. package/contracts/interfaces/IERC20.sol +33 -0
  21. package/contracts/interfaces/IMailer.sol +86 -0
  22. package/dist/evm/src/evm/evm-mailer-client.d.ts +184 -8
  23. package/dist/evm/src/evm/evm-mailer-client.d.ts.map +1 -1
  24. package/dist/evm/src/evm/evm-mailer-client.js +3 -2
  25. package/dist/evm/src/evm/evm-mailer-client.js.map +1 -1
  26. package/dist/evm/src/evm/index.d.ts +2 -2
  27. package/dist/evm/src/evm/index.d.ts.map +1 -1
  28. package/dist/evm/src/evm/index.js +1 -1
  29. package/dist/evm/src/evm/index.js.map +1 -1
  30. package/dist/evm/typechain-types/@openzeppelin/contracts/index.d.ts +7 -0
  31. package/dist/evm/typechain-types/@openzeppelin/contracts/index.d.ts.map +1 -0
  32. package/dist/evm/typechain-types/@openzeppelin/contracts/index.js +3 -0
  33. package/dist/evm/typechain-types/@openzeppelin/contracts/index.js.map +1 -0
  34. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +66 -0
  35. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts.map +1 -0
  36. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.js +3 -0
  37. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.js.map +1 -0
  38. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.d.ts +26 -0
  39. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.d.ts.map +1 -0
  40. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.js +3 -0
  41. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.js.map +1 -0
  42. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts +2 -0
  43. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts.map +1 -0
  44. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js +3 -0
  45. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js.map +1 -0
  46. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +4 -0
  47. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
  48. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/index.js +3 -0
  49. package/dist/evm/typechain-types/@openzeppelin/contracts/interfaces/index.js.map +1 -0
  50. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts +21 -0
  51. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts.map +1 -0
  52. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.js +3 -0
  53. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.js.map +1 -0
  54. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  55. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts.map +1 -0
  56. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.js +3 -0
  57. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.js.map +1 -0
  58. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +26 -0
  59. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts.map +1 -0
  60. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.js +3 -0
  61. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.js.map +1 -0
  62. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +2 -0
  63. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts.map +1 -0
  64. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/index.js +3 -0
  65. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/beacon/index.js.map +1 -0
  66. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +5 -0
  67. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  68. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/index.js +3 -0
  69. package/dist/evm/typechain-types/@openzeppelin/contracts/proxy/index.js.map +1 -0
  70. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Address.d.ts +21 -0
  71. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Address.d.ts.map +1 -0
  72. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Address.js +3 -0
  73. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Address.js.map +1 -0
  74. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Errors.d.ts +21 -0
  75. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Errors.d.ts.map +1 -0
  76. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Errors.js +3 -0
  77. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/Errors.js.map +1 -0
  78. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/index.d.ts +3 -0
  79. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/index.d.ts.map +1 -0
  80. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/index.js +3 -0
  81. package/dist/evm/typechain-types/@openzeppelin/contracts/utils/index.js.map +1 -0
  82. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.d.ts +69 -0
  83. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.d.ts.map +1 -0
  84. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.js +3 -0
  85. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.js.map +1 -0
  86. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/access/index.d.ts +2 -0
  87. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/access/index.d.ts.map +1 -0
  88. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/access/index.js.map +1 -0
  89. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts +7 -0
  90. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -0
  91. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/index.js +3 -0
  92. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/index.js.map +1 -0
  93. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.d.ts +3 -0
  94. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.d.ts.map +1 -0
  95. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.js +3 -0
  96. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.js.map +1 -0
  97. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.d.ts +37 -0
  98. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.d.ts.map +1 -0
  99. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.js +3 -0
  100. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.js.map +1 -0
  101. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.d.ts +74 -0
  102. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.d.ts.map +1 -0
  103. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.js +3 -0
  104. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.js.map +1 -0
  105. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts +3 -0
  106. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts.map +1 -0
  107. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +3 -0
  108. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.js.map +1 -0
  109. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.d.ts +37 -0
  110. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.d.ts.map +1 -0
  111. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.js +3 -0
  112. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.js.map +1 -0
  113. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts +2 -0
  114. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts.map +1 -0
  115. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.js +3 -0
  116. package/dist/evm/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.js.map +1 -0
  117. package/dist/evm/typechain-types/@openzeppelin/index.d.ts +5 -0
  118. package/dist/evm/typechain-types/@openzeppelin/index.d.ts.map +1 -0
  119. package/dist/evm/typechain-types/@openzeppelin/index.js +3 -0
  120. package/dist/evm/typechain-types/@openzeppelin/index.js.map +1 -0
  121. package/dist/evm/typechain-types/{Mailer.d.ts → contracts/Mailer.d.ts} +135 -21
  122. package/dist/evm/typechain-types/contracts/Mailer.d.ts.map +1 -0
  123. package/dist/evm/typechain-types/contracts/Mailer.js.map +1 -0
  124. package/dist/evm/typechain-types/{MockUSDC.d.ts → contracts/MockUSDC.d.ts} +1 -1
  125. package/dist/evm/typechain-types/contracts/MockUSDC.d.ts.map +1 -0
  126. package/dist/evm/typechain-types/contracts/MockUSDC.js.map +1 -0
  127. package/dist/evm/typechain-types/contracts/examples/MailerIntegrationExample.d.ts +170 -0
  128. package/dist/evm/typechain-types/contracts/examples/MailerIntegrationExample.d.ts.map +1 -0
  129. package/dist/evm/typechain-types/contracts/examples/MailerIntegrationExample.js +3 -0
  130. package/dist/evm/typechain-types/contracts/examples/MailerIntegrationExample.js.map +1 -0
  131. package/dist/evm/typechain-types/contracts/examples/index.d.ts +2 -0
  132. package/dist/evm/typechain-types/contracts/examples/index.d.ts.map +1 -0
  133. package/dist/evm/typechain-types/contracts/examples/index.js +3 -0
  134. package/dist/evm/typechain-types/contracts/examples/index.js.map +1 -0
  135. package/dist/evm/typechain-types/contracts/index.d.ts +7 -0
  136. package/dist/evm/typechain-types/contracts/index.d.ts.map +1 -0
  137. package/dist/evm/typechain-types/contracts/index.js +3 -0
  138. package/dist/evm/typechain-types/contracts/index.js.map +1 -0
  139. package/dist/{unified/typechain-types → evm/typechain-types/contracts}/interfaces/IERC20.d.ts +1 -1
  140. package/dist/evm/typechain-types/contracts/interfaces/IERC20.d.ts.map +1 -0
  141. package/dist/evm/typechain-types/contracts/interfaces/IERC20.js.map +1 -0
  142. package/dist/evm/typechain-types/contracts/interfaces/IMailer.d.ts +118 -0
  143. package/dist/evm/typechain-types/contracts/interfaces/IMailer.d.ts.map +1 -0
  144. package/dist/evm/typechain-types/contracts/interfaces/IMailer.js +3 -0
  145. package/dist/evm/typechain-types/contracts/interfaces/IMailer.js.map +1 -0
  146. package/dist/evm/typechain-types/contracts/interfaces/index.d.ts +3 -0
  147. package/dist/evm/typechain-types/contracts/interfaces/index.d.ts.map +1 -0
  148. package/dist/evm/typechain-types/contracts/interfaces/index.js +3 -0
  149. package/dist/evm/typechain-types/contracts/interfaces/index.js.map +1 -0
  150. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/index.d.ts +4 -0
  151. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/index.d.ts.map +1 -0
  152. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/index.js +43 -0
  153. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/index.js.map +1 -0
  154. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +43 -0
  155. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts.map +1 -0
  156. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.js +65 -0
  157. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.js.map +1 -0
  158. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts +18 -0
  159. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts.map +1 -0
  160. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js +33 -0
  161. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js.map +1 -0
  162. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts +2 -0
  163. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts.map +1 -0
  164. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js +9 -0
  165. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js.map +1 -0
  166. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +3 -0
  167. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
  168. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/index.js +43 -0
  169. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/interfaces/index.js.map +1 -0
  170. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +51 -0
  171. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts.map +1 -0
  172. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.js +78 -0
  173. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.js.map +1 -0
  174. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  175. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts.map +1 -0
  176. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.js +9 -0
  177. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.js.map +1 -0
  178. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +18 -0
  179. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts.map +1 -0
  180. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js +33 -0
  181. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js.map +1 -0
  182. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +2 -0
  183. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts.map +1 -0
  184. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.js +9 -0
  185. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.js.map +1 -0
  186. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +3 -0
  187. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  188. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/index.js +42 -0
  189. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/proxy/index.js.map +1 -0
  190. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +31 -0
  191. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts.map +1 -0
  192. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js +51 -0
  193. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js.map +1 -0
  194. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +51 -0
  195. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts.map +1 -0
  196. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.js +77 -0
  197. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.js.map +1 -0
  198. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts +3 -0
  199. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts.map +1 -0
  200. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/index.js +11 -0
  201. package/dist/evm/typechain-types/factories/@openzeppelin/contracts/utils/index.js.map +1 -0
  202. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.d.ts +83 -0
  203. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.d.ts.map +1 -0
  204. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.js +117 -0
  205. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.js.map +1 -0
  206. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.d.ts +2 -0
  207. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.d.ts.map +1 -0
  208. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.js +9 -0
  209. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.js.map +1 -0
  210. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts +4 -0
  211. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -0
  212. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.js +43 -0
  213. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.js.map +1 -0
  214. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.d.ts +2 -0
  215. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.d.ts.map +1 -0
  216. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.js +41 -0
  217. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.js.map +1 -0
  218. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.d.ts +26 -0
  219. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.d.ts.map +1 -0
  220. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js +43 -0
  221. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js.map +1 -0
  222. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.d.ts +106 -0
  223. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.d.ts.map +1 -0
  224. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.js +148 -0
  225. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.js.map +1 -0
  226. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts +3 -0
  227. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts.map +1 -0
  228. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +11 -0
  229. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.js.map +1 -0
  230. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.d.ts +26 -0
  231. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.d.ts.map +1 -0
  232. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.js +43 -0
  233. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.js.map +1 -0
  234. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts +2 -0
  235. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts.map +1 -0
  236. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.js +9 -0
  237. package/dist/evm/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.js.map +1 -0
  238. package/dist/evm/typechain-types/factories/@openzeppelin/index.d.ts +3 -0
  239. package/dist/evm/typechain-types/factories/@openzeppelin/index.d.ts.map +1 -0
  240. package/dist/evm/typechain-types/factories/@openzeppelin/index.js +42 -0
  241. package/dist/evm/typechain-types/factories/@openzeppelin/index.js.map +1 -0
  242. package/dist/evm/typechain-types/factories/contracts/Mailer__factory.d.ts +1061 -0
  243. package/dist/evm/typechain-types/factories/contracts/Mailer__factory.d.ts.map +1 -0
  244. package/dist/evm/typechain-types/factories/contracts/Mailer__factory.js +1364 -0
  245. package/dist/evm/typechain-types/factories/contracts/Mailer__factory.js.map +1 -0
  246. package/dist/evm/typechain-types/factories/{MockUSDC__factory.d.ts → contracts/MockUSDC__factory.d.ts} +3 -3
  247. package/dist/evm/typechain-types/factories/contracts/MockUSDC__factory.d.ts.map +1 -0
  248. package/dist/evm/typechain-types/factories/{MockUSDC__factory.js → contracts/MockUSDC__factory.js} +1 -1
  249. package/dist/evm/typechain-types/factories/contracts/MockUSDC__factory.js.map +1 -0
  250. package/dist/evm/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.d.ts +209 -0
  251. package/dist/evm/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.d.ts.map +1 -0
  252. package/dist/evm/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.js +278 -0
  253. package/dist/evm/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.js.map +1 -0
  254. package/dist/evm/typechain-types/factories/contracts/examples/index.d.ts +2 -0
  255. package/dist/evm/typechain-types/factories/contracts/examples/index.d.ts.map +1 -0
  256. package/dist/evm/typechain-types/factories/contracts/examples/index.js +9 -0
  257. package/dist/evm/typechain-types/factories/contracts/examples/index.js.map +1 -0
  258. package/dist/evm/typechain-types/factories/contracts/index.d.ts +5 -0
  259. package/dist/evm/typechain-types/factories/contracts/index.d.ts.map +1 -0
  260. package/dist/evm/typechain-types/factories/contracts/index.js +46 -0
  261. package/dist/evm/typechain-types/factories/contracts/index.js.map +1 -0
  262. package/dist/evm/typechain-types/factories/{interfaces → contracts/interfaces}/IERC20__factory.d.ts +1 -1
  263. package/dist/evm/typechain-types/factories/contracts/interfaces/IERC20__factory.d.ts.map +1 -0
  264. package/dist/evm/typechain-types/factories/contracts/interfaces/IERC20__factory.js.map +1 -0
  265. package/dist/evm/typechain-types/factories/contracts/interfaces/IMailer__factory.d.ts +130 -0
  266. package/dist/evm/typechain-types/factories/contracts/interfaces/IMailer__factory.d.ts.map +1 -0
  267. package/dist/evm/typechain-types/factories/contracts/interfaces/IMailer__factory.js +175 -0
  268. package/dist/evm/typechain-types/factories/contracts/interfaces/IMailer__factory.js.map +1 -0
  269. package/dist/evm/typechain-types/factories/contracts/interfaces/index.d.ts +3 -0
  270. package/dist/evm/typechain-types/factories/contracts/interfaces/index.d.ts.map +1 -0
  271. package/dist/evm/typechain-types/factories/{interfaces → contracts/interfaces}/index.js +3 -1
  272. package/dist/evm/typechain-types/factories/contracts/interfaces/index.js.map +1 -0
  273. package/dist/evm/typechain-types/factories/index.d.ts +2 -3
  274. package/dist/evm/typechain-types/factories/index.d.ts.map +1 -1
  275. package/dist/evm/typechain-types/factories/index.js +3 -6
  276. package/dist/evm/typechain-types/factories/index.js.map +1 -1
  277. package/dist/evm/typechain-types/index.d.ts +34 -8
  278. package/dist/evm/typechain-types/index.d.ts.map +1 -1
  279. package/dist/evm/typechain-types/index.js +28 -4
  280. package/dist/evm/typechain-types/index.js.map +1 -1
  281. package/dist/unified/src/evm/evm-mailer-client.d.ts +184 -8
  282. package/dist/unified/src/evm/evm-mailer-client.d.ts.map +1 -1
  283. package/dist/unified/src/evm/evm-mailer-client.js +3 -2
  284. package/dist/unified/src/evm/evm-mailer-client.js.map +1 -1
  285. package/dist/unified/src/evm/index.d.ts +2 -2
  286. package/dist/unified/src/evm/index.d.ts.map +1 -1
  287. package/dist/unified/src/evm/index.js +1 -1
  288. package/dist/unified/src/evm/index.js.map +1 -1
  289. package/dist/unified/typechain-types/@openzeppelin/contracts/index.d.ts +7 -0
  290. package/dist/unified/typechain-types/@openzeppelin/contracts/index.d.ts.map +1 -0
  291. package/dist/unified/typechain-types/@openzeppelin/contracts/index.js +2 -0
  292. package/dist/unified/typechain-types/@openzeppelin/contracts/index.js.map +1 -0
  293. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +66 -0
  294. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts.map +1 -0
  295. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.js +2 -0
  296. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.js.map +1 -0
  297. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.d.ts +26 -0
  298. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.d.ts.map +1 -0
  299. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.js +2 -0
  300. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.js.map +1 -0
  301. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts +2 -0
  302. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts.map +1 -0
  303. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js +2 -0
  304. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js.map +1 -0
  305. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +4 -0
  306. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
  307. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/index.js +2 -0
  308. package/dist/unified/typechain-types/@openzeppelin/contracts/interfaces/index.js.map +1 -0
  309. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts +21 -0
  310. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts.map +1 -0
  311. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.js +2 -0
  312. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.js.map +1 -0
  313. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  314. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts.map +1 -0
  315. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.js +2 -0
  316. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.js.map +1 -0
  317. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +26 -0
  318. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts.map +1 -0
  319. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.js +2 -0
  320. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.js.map +1 -0
  321. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +2 -0
  322. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts.map +1 -0
  323. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/index.js +2 -0
  324. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/beacon/index.js.map +1 -0
  325. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +5 -0
  326. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  327. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/index.js +2 -0
  328. package/dist/unified/typechain-types/@openzeppelin/contracts/proxy/index.js.map +1 -0
  329. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Address.d.ts +21 -0
  330. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Address.d.ts.map +1 -0
  331. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Address.js +2 -0
  332. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Address.js.map +1 -0
  333. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Errors.d.ts +21 -0
  334. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Errors.d.ts.map +1 -0
  335. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Errors.js +2 -0
  336. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/Errors.js.map +1 -0
  337. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/index.d.ts +3 -0
  338. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/index.d.ts.map +1 -0
  339. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/index.js +2 -0
  340. package/dist/unified/typechain-types/@openzeppelin/contracts/utils/index.js.map +1 -0
  341. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.d.ts +69 -0
  342. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.d.ts.map +1 -0
  343. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.js +2 -0
  344. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.js.map +1 -0
  345. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/access/index.d.ts +2 -0
  346. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/access/index.d.ts.map +1 -0
  347. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/access/index.js.map +1 -0
  348. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts +7 -0
  349. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -0
  350. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/index.js +2 -0
  351. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/index.js.map +1 -0
  352. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.d.ts +3 -0
  353. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.d.ts.map +1 -0
  354. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.js +2 -0
  355. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.js.map +1 -0
  356. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.d.ts +37 -0
  357. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.d.ts.map +1 -0
  358. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.js +2 -0
  359. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.js.map +1 -0
  360. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.d.ts +74 -0
  361. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.d.ts.map +1 -0
  362. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.js +2 -0
  363. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.js.map +1 -0
  364. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts +3 -0
  365. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts.map +1 -0
  366. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +2 -0
  367. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.js.map +1 -0
  368. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.d.ts +37 -0
  369. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.d.ts.map +1 -0
  370. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.js +2 -0
  371. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.js.map +1 -0
  372. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts +2 -0
  373. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts.map +1 -0
  374. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.js +2 -0
  375. package/dist/unified/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.js.map +1 -0
  376. package/dist/unified/typechain-types/@openzeppelin/index.d.ts +5 -0
  377. package/dist/unified/typechain-types/@openzeppelin/index.d.ts.map +1 -0
  378. package/dist/unified/typechain-types/@openzeppelin/index.js +2 -0
  379. package/dist/unified/typechain-types/@openzeppelin/index.js.map +1 -0
  380. package/dist/unified/typechain-types/{Mailer.d.ts → contracts/Mailer.d.ts} +135 -21
  381. package/dist/unified/typechain-types/contracts/Mailer.d.ts.map +1 -0
  382. package/dist/unified/typechain-types/contracts/Mailer.js.map +1 -0
  383. package/dist/unified/typechain-types/{MockUSDC.d.ts → contracts/MockUSDC.d.ts} +1 -1
  384. package/dist/unified/typechain-types/contracts/MockUSDC.d.ts.map +1 -0
  385. package/dist/unified/typechain-types/contracts/MockUSDC.js.map +1 -0
  386. package/dist/unified/typechain-types/contracts/examples/MailerIntegrationExample.d.ts +170 -0
  387. package/dist/unified/typechain-types/contracts/examples/MailerIntegrationExample.d.ts.map +1 -0
  388. package/dist/unified/typechain-types/contracts/examples/MailerIntegrationExample.js +2 -0
  389. package/dist/unified/typechain-types/contracts/examples/MailerIntegrationExample.js.map +1 -0
  390. package/dist/unified/typechain-types/contracts/examples/index.d.ts +2 -0
  391. package/dist/unified/typechain-types/contracts/examples/index.d.ts.map +1 -0
  392. package/dist/unified/typechain-types/contracts/examples/index.js +2 -0
  393. package/dist/unified/typechain-types/contracts/examples/index.js.map +1 -0
  394. package/dist/unified/typechain-types/contracts/index.d.ts +7 -0
  395. package/dist/unified/typechain-types/contracts/index.d.ts.map +1 -0
  396. package/dist/unified/typechain-types/contracts/index.js +2 -0
  397. package/dist/unified/typechain-types/contracts/index.js.map +1 -0
  398. package/dist/{evm/typechain-types → unified/typechain-types/contracts}/interfaces/IERC20.d.ts +1 -1
  399. package/dist/unified/typechain-types/contracts/interfaces/IERC20.d.ts.map +1 -0
  400. package/dist/unified/typechain-types/contracts/interfaces/IERC20.js.map +1 -0
  401. package/dist/unified/typechain-types/contracts/interfaces/IMailer.d.ts +118 -0
  402. package/dist/unified/typechain-types/contracts/interfaces/IMailer.d.ts.map +1 -0
  403. package/dist/unified/typechain-types/contracts/interfaces/IMailer.js +2 -0
  404. package/dist/unified/typechain-types/contracts/interfaces/IMailer.js.map +1 -0
  405. package/dist/unified/typechain-types/contracts/interfaces/index.d.ts +3 -0
  406. package/dist/unified/typechain-types/contracts/interfaces/index.d.ts.map +1 -0
  407. package/dist/unified/typechain-types/contracts/interfaces/index.js +2 -0
  408. package/dist/unified/typechain-types/contracts/interfaces/index.js.map +1 -0
  409. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/index.d.ts +4 -0
  410. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/index.d.ts.map +1 -0
  411. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/index.js +7 -0
  412. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/index.js.map +1 -0
  413. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +43 -0
  414. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts.map +1 -0
  415. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.js +61 -0
  416. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.js.map +1 -0
  417. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts +18 -0
  418. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts.map +1 -0
  419. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js +29 -0
  420. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js.map +1 -0
  421. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts +2 -0
  422. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts.map +1 -0
  423. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js +5 -0
  424. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js.map +1 -0
  425. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +3 -0
  426. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
  427. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/index.js +6 -0
  428. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/interfaces/index.js.map +1 -0
  429. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +51 -0
  430. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts.map +1 -0
  431. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.js +74 -0
  432. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.js.map +1 -0
  433. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  434. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts.map +1 -0
  435. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.js +5 -0
  436. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.js.map +1 -0
  437. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +18 -0
  438. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts.map +1 -0
  439. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js +29 -0
  440. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js.map +1 -0
  441. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +2 -0
  442. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts.map +1 -0
  443. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.js +5 -0
  444. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.js.map +1 -0
  445. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +3 -0
  446. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  447. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/index.js +6 -0
  448. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/proxy/index.js.map +1 -0
  449. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +31 -0
  450. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts.map +1 -0
  451. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js +47 -0
  452. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js.map +1 -0
  453. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +51 -0
  454. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts.map +1 -0
  455. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.js +73 -0
  456. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.js.map +1 -0
  457. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts +3 -0
  458. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts.map +1 -0
  459. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/index.js +6 -0
  460. package/dist/unified/typechain-types/factories/@openzeppelin/contracts/utils/index.js.map +1 -0
  461. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.d.ts +83 -0
  462. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.d.ts.map +1 -0
  463. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.js +113 -0
  464. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.js.map +1 -0
  465. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.d.ts +2 -0
  466. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.d.ts.map +1 -0
  467. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.js +5 -0
  468. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.js.map +1 -0
  469. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts +4 -0
  470. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -0
  471. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.js +7 -0
  472. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.js.map +1 -0
  473. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.d.ts +2 -0
  474. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.d.ts.map +1 -0
  475. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.js +5 -0
  476. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.js.map +1 -0
  477. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.d.ts +26 -0
  478. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.d.ts.map +1 -0
  479. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js +39 -0
  480. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js.map +1 -0
  481. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.d.ts +106 -0
  482. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.d.ts.map +1 -0
  483. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.js +144 -0
  484. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.js.map +1 -0
  485. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts +3 -0
  486. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts.map +1 -0
  487. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +6 -0
  488. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.js.map +1 -0
  489. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.d.ts +26 -0
  490. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.d.ts.map +1 -0
  491. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.js +39 -0
  492. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.js.map +1 -0
  493. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts +2 -0
  494. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts.map +1 -0
  495. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.js +5 -0
  496. package/dist/unified/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.js.map +1 -0
  497. package/dist/unified/typechain-types/factories/@openzeppelin/index.d.ts +3 -0
  498. package/dist/unified/typechain-types/factories/@openzeppelin/index.d.ts.map +1 -0
  499. package/dist/unified/typechain-types/factories/@openzeppelin/index.js +6 -0
  500. package/dist/unified/typechain-types/factories/@openzeppelin/index.js.map +1 -0
  501. package/dist/unified/typechain-types/factories/contracts/Mailer__factory.d.ts +1061 -0
  502. package/dist/unified/typechain-types/factories/contracts/Mailer__factory.d.ts.map +1 -0
  503. package/dist/unified/typechain-types/factories/contracts/Mailer__factory.js +1360 -0
  504. package/dist/unified/typechain-types/factories/contracts/Mailer__factory.js.map +1 -0
  505. package/dist/unified/typechain-types/factories/{MockUSDC__factory.d.ts → contracts/MockUSDC__factory.d.ts} +3 -3
  506. package/dist/unified/typechain-types/factories/contracts/MockUSDC__factory.d.ts.map +1 -0
  507. package/dist/unified/typechain-types/factories/{MockUSDC__factory.js → contracts/MockUSDC__factory.js} +1 -1
  508. package/dist/unified/typechain-types/factories/contracts/MockUSDC__factory.js.map +1 -0
  509. package/dist/unified/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.d.ts +209 -0
  510. package/dist/unified/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.d.ts.map +1 -0
  511. package/dist/unified/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.js +274 -0
  512. package/dist/unified/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.js.map +1 -0
  513. package/dist/unified/typechain-types/factories/contracts/examples/index.d.ts +2 -0
  514. package/dist/unified/typechain-types/factories/contracts/examples/index.d.ts.map +1 -0
  515. package/dist/unified/typechain-types/factories/contracts/examples/index.js +5 -0
  516. package/dist/unified/typechain-types/factories/contracts/examples/index.js.map +1 -0
  517. package/dist/unified/typechain-types/factories/contracts/index.d.ts +5 -0
  518. package/dist/unified/typechain-types/factories/contracts/index.d.ts.map +1 -0
  519. package/dist/unified/typechain-types/factories/contracts/index.js +8 -0
  520. package/dist/unified/typechain-types/factories/contracts/index.js.map +1 -0
  521. package/dist/unified/typechain-types/factories/{interfaces → contracts/interfaces}/IERC20__factory.d.ts +1 -1
  522. package/dist/unified/typechain-types/factories/contracts/interfaces/IERC20__factory.d.ts.map +1 -0
  523. package/dist/unified/typechain-types/factories/contracts/interfaces/IERC20__factory.js.map +1 -0
  524. package/dist/unified/typechain-types/factories/contracts/interfaces/IMailer__factory.d.ts +130 -0
  525. package/dist/unified/typechain-types/factories/contracts/interfaces/IMailer__factory.d.ts.map +1 -0
  526. package/dist/unified/typechain-types/factories/contracts/interfaces/IMailer__factory.js +171 -0
  527. package/dist/unified/typechain-types/factories/contracts/interfaces/IMailer__factory.js.map +1 -0
  528. package/dist/unified/typechain-types/factories/contracts/interfaces/index.d.ts +3 -0
  529. package/dist/unified/typechain-types/factories/contracts/interfaces/index.d.ts.map +1 -0
  530. package/dist/unified/typechain-types/factories/{interfaces → contracts/interfaces}/index.js +1 -0
  531. package/dist/unified/typechain-types/factories/contracts/interfaces/index.js.map +1 -0
  532. package/dist/unified/typechain-types/factories/index.d.ts +2 -3
  533. package/dist/unified/typechain-types/factories/index.d.ts.map +1 -1
  534. package/dist/unified/typechain-types/factories/index.js +2 -3
  535. package/dist/unified/typechain-types/factories/index.js.map +1 -1
  536. package/dist/unified/typechain-types/index.d.ts +34 -8
  537. package/dist/unified/typechain-types/index.d.ts.map +1 -1
  538. package/dist/unified/typechain-types/index.js +15 -3
  539. package/dist/unified/typechain-types/index.js.map +1 -1
  540. package/package.json +9 -3
  541. package/programs/mailer/Cargo.toml +13 -0
  542. package/programs/mailer/src/cpi.rs +330 -0
  543. package/programs/mailer/src/lib.rs +252 -114
  544. package/programs/mailer/tests/integration_tests.rs +8399 -146
  545. package/programs/mailer/tests/integration_tests.rs.backup +5124 -0
  546. package/programs/mailer-integration-example/Cargo.toml +23 -0
  547. package/programs/mailer-integration-example/src/lib.rs +362 -0
  548. package/typechain-types/@openzeppelin/contracts/index.ts +9 -0
  549. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +168 -0
  550. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts +90 -0
  551. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  552. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +6 -0
  553. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +69 -0
  554. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +4 -0
  555. package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +90 -0
  556. package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  557. package/typechain-types/@openzeppelin/contracts/proxy/index.ts +7 -0
  558. package/typechain-types/@openzeppelin/contracts/utils/Address.ts +69 -0
  559. package/typechain-types/@openzeppelin/contracts/utils/Errors.ts +69 -0
  560. package/typechain-types/@openzeppelin/contracts/utils/index.ts +5 -0
  561. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +186 -0
  562. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +4 -0
  563. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  564. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
  565. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +105 -0
  566. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +196 -0
  567. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  568. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +105 -0
  569. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +4 -0
  570. package/typechain-types/@openzeppelin/index.ts +7 -0
  571. package/typechain-types/{Mailer.ts → contracts/Mailer.ts} +237 -19
  572. package/typechain-types/{MockUSDC.ts → contracts/MockUSDC.ts} +1 -1
  573. package/typechain-types/contracts/examples/MailerIntegrationExample.ts +352 -0
  574. package/typechain-types/contracts/examples/index.ts +4 -0
  575. package/typechain-types/contracts/index.ts +9 -0
  576. package/typechain-types/{interfaces → contracts/interfaces}/IERC20.ts +1 -1
  577. package/typechain-types/contracts/interfaces/IMailer.ts +225 -0
  578. package/typechain-types/{interfaces → contracts/interfaces}/index.ts +1 -0
  579. package/typechain-types/factories/@openzeppelin/contracts/index.ts +6 -0
  580. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +67 -0
  581. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +38 -0
  582. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  583. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +5 -0
  584. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +105 -0
  585. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +4 -0
  586. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +35 -0
  587. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  588. package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +5 -0
  589. package/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.ts +75 -0
  590. package/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.ts +101 -0
  591. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +5 -0
  592. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +122 -0
  593. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +4 -0
  594. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
  595. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  596. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +48 -0
  597. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +153 -0
  598. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  599. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +48 -0
  600. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +4 -0
  601. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  602. package/typechain-types/factories/contracts/Mailer__factory.ts +1385 -0
  603. package/typechain-types/factories/{MockUSDC__factory.ts → contracts/MockUSDC__factory.ts} +3 -3
  604. package/typechain-types/factories/contracts/examples/MailerIntegrationExample__factory.ts +330 -0
  605. package/typechain-types/factories/contracts/examples/index.ts +4 -0
  606. package/typechain-types/factories/contracts/index.ts +7 -0
  607. package/typechain-types/factories/{interfaces → contracts/interfaces}/IERC20__factory.ts +4 -1
  608. package/typechain-types/factories/contracts/interfaces/IMailer__factory.ts +177 -0
  609. package/typechain-types/factories/{interfaces → contracts/interfaces}/index.ts +1 -0
  610. package/typechain-types/factories/index.ts +2 -3
  611. package/typechain-types/hardhat.d.ts +216 -0
  612. package/typechain-types/index.ts +34 -8
  613. package/dist/evm/typechain-types/Mailer.d.ts.map +0 -1
  614. package/dist/evm/typechain-types/Mailer.js.map +0 -1
  615. package/dist/evm/typechain-types/MockUSDC.d.ts.map +0 -1
  616. package/dist/evm/typechain-types/MockUSDC.js.map +0 -1
  617. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts +0 -885
  618. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts.map +0 -1
  619. package/dist/evm/typechain-types/factories/Mailer__factory.js +0 -1138
  620. package/dist/evm/typechain-types/factories/Mailer__factory.js.map +0 -1
  621. package/dist/evm/typechain-types/factories/MockUSDC__factory.d.ts.map +0 -1
  622. package/dist/evm/typechain-types/factories/MockUSDC__factory.js.map +0 -1
  623. package/dist/evm/typechain-types/factories/interfaces/IERC20__factory.d.ts.map +0 -1
  624. package/dist/evm/typechain-types/factories/interfaces/IERC20__factory.js.map +0 -1
  625. package/dist/evm/typechain-types/factories/interfaces/index.d.ts +0 -2
  626. package/dist/evm/typechain-types/factories/interfaces/index.d.ts.map +0 -1
  627. package/dist/evm/typechain-types/factories/interfaces/index.js.map +0 -1
  628. package/dist/evm/typechain-types/interfaces/IERC20.d.ts.map +0 -1
  629. package/dist/evm/typechain-types/interfaces/IERC20.js.map +0 -1
  630. package/dist/evm/typechain-types/interfaces/index.d.ts +0 -2
  631. package/dist/evm/typechain-types/interfaces/index.d.ts.map +0 -1
  632. package/dist/evm/typechain-types/interfaces/index.js.map +0 -1
  633. package/dist/unified/typechain-types/Mailer.d.ts.map +0 -1
  634. package/dist/unified/typechain-types/Mailer.js.map +0 -1
  635. package/dist/unified/typechain-types/MockUSDC.d.ts.map +0 -1
  636. package/dist/unified/typechain-types/MockUSDC.js.map +0 -1
  637. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts +0 -885
  638. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts.map +0 -1
  639. package/dist/unified/typechain-types/factories/Mailer__factory.js +0 -1134
  640. package/dist/unified/typechain-types/factories/Mailer__factory.js.map +0 -1
  641. package/dist/unified/typechain-types/factories/MockUSDC__factory.d.ts.map +0 -1
  642. package/dist/unified/typechain-types/factories/MockUSDC__factory.js.map +0 -1
  643. package/dist/unified/typechain-types/factories/interfaces/IERC20__factory.d.ts.map +0 -1
  644. package/dist/unified/typechain-types/factories/interfaces/IERC20__factory.js.map +0 -1
  645. package/dist/unified/typechain-types/factories/interfaces/index.d.ts +0 -2
  646. package/dist/unified/typechain-types/factories/interfaces/index.d.ts.map +0 -1
  647. package/dist/unified/typechain-types/factories/interfaces/index.js.map +0 -1
  648. package/dist/unified/typechain-types/interfaces/IERC20.d.ts.map +0 -1
  649. package/dist/unified/typechain-types/interfaces/IERC20.js.map +0 -1
  650. package/dist/unified/typechain-types/interfaces/index.d.ts +0 -2
  651. package/dist/unified/typechain-types/interfaces/index.d.ts.map +0 -1
  652. package/dist/unified/typechain-types/interfaces/index.js.map +0 -1
  653. package/typechain-types/factories/Mailer__factory.ts +0 -1170
  654. /package/dist/evm/typechain-types/{interfaces → @openzeppelin/contracts-upgradeable/access}/index.js +0 -0
  655. /package/dist/evm/typechain-types/{Mailer.js → contracts/Mailer.js} +0 -0
  656. /package/dist/evm/typechain-types/{MockUSDC.js → contracts/MockUSDC.js} +0 -0
  657. /package/dist/evm/typechain-types/{interfaces → contracts/interfaces}/IERC20.js +0 -0
  658. /package/dist/evm/typechain-types/factories/{interfaces → contracts/interfaces}/IERC20__factory.js +0 -0
  659. /package/dist/unified/typechain-types/{interfaces → @openzeppelin/contracts-upgradeable/access}/index.js +0 -0
  660. /package/dist/unified/typechain-types/{Mailer.js → contracts/Mailer.js} +0 -0
  661. /package/dist/unified/typechain-types/{MockUSDC.js → contracts/MockUSDC.js} +0 -0
  662. /package/dist/unified/typechain-types/{interfaces → contracts/interfaces}/IERC20.js +0 -0
  663. /package/dist/unified/typechain-types/factories/{interfaces → contracts/interfaces}/IERC20__factory.js +0 -0
@@ -4,7 +4,7 @@
4
4
  // eslint-disable
5
5
 
6
6
  import type { Address } from "viem";
7
- import type { AbiParameterToPrimitiveType, GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
7
+ import type { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
8
8
  import "@nomicfoundation/hardhat-viem/types";
9
9
 
10
10
  export interface Mailer$Type {
@@ -12,21 +12,21 @@ export interface Mailer$Type {
12
12
  "contractName": "Mailer",
13
13
  "sourceName": "contracts/Mailer.sol",
14
14
  "abi": [
15
+ {
16
+ "inputs": [],
17
+ "stateMutability": "nonpayable",
18
+ "type": "constructor"
19
+ },
15
20
  {
16
21
  "inputs": [
17
22
  {
18
23
  "internalType": "address",
19
- "name": "_usdcToken",
20
- "type": "address"
21
- },
22
- {
23
- "internalType": "address",
24
- "name": "_owner",
24
+ "name": "target",
25
25
  "type": "address"
26
26
  }
27
27
  ],
28
- "stateMutability": "nonpayable",
29
- "type": "constructor"
28
+ "name": "AddressEmptyCode",
29
+ "type": "error"
30
30
  },
31
31
  {
32
32
  "inputs": [],
@@ -43,6 +43,27 @@ export interface Mailer$Type {
43
43
  "name": "ContractNotPaused",
44
44
  "type": "error"
45
45
  },
46
+ {
47
+ "inputs": [
48
+ {
49
+ "internalType": "address",
50
+ "name": "implementation",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "name": "ERC1967InvalidImplementation",
55
+ "type": "error"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "ERC1967NonPayable",
60
+ "type": "error"
61
+ },
62
+ {
63
+ "inputs": [],
64
+ "name": "FailedCall",
65
+ "type": "error"
66
+ },
46
67
  {
47
68
  "inputs": [],
48
69
  "name": "FeePaymentRequired",
@@ -53,6 +74,11 @@ export interface Mailer$Type {
53
74
  "name": "InvalidAddress",
54
75
  "type": "error"
55
76
  },
77
+ {
78
+ "inputs": [],
79
+ "name": "InvalidInitialization",
80
+ "type": "error"
81
+ },
56
82
  {
57
83
  "inputs": [],
58
84
  "name": "InvalidPercentage",
@@ -68,11 +94,38 @@ export interface Mailer$Type {
68
94
  "name": "NoClaimableAmount",
69
95
  "type": "error"
70
96
  },
97
+ {
98
+ "inputs": [],
99
+ "name": "NotInitializing",
100
+ "type": "error"
101
+ },
71
102
  {
72
103
  "inputs": [],
73
104
  "name": "OnlyOwner",
74
105
  "type": "error"
75
106
  },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "address",
111
+ "name": "owner",
112
+ "type": "address"
113
+ }
114
+ ],
115
+ "name": "OwnableInvalidOwner",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "inputs": [
120
+ {
121
+ "internalType": "address",
122
+ "name": "account",
123
+ "type": "address"
124
+ }
125
+ ],
126
+ "name": "OwnableUnauthorizedAccount",
127
+ "type": "error"
128
+ },
76
129
  {
77
130
  "inputs": [],
78
131
  "name": "ReentrancyGuard",
@@ -83,6 +136,22 @@ export interface Mailer$Type {
83
136
  "name": "TransferFailed",
84
137
  "type": "error"
85
138
  },
139
+ {
140
+ "inputs": [],
141
+ "name": "UUPSUnauthorizedCallContext",
142
+ "type": "error"
143
+ },
144
+ {
145
+ "inputs": [
146
+ {
147
+ "internalType": "bytes32",
148
+ "name": "slot",
149
+ "type": "bytes32"
150
+ }
151
+ ],
152
+ "name": "UUPSUnsupportedProxiableUUID",
153
+ "type": "error"
154
+ },
86
155
  {
87
156
  "inputs": [],
88
157
  "name": "UnpermittedPayer",
@@ -188,7 +257,7 @@ export interface Mailer$Type {
188
257
  {
189
258
  "indexed": false,
190
259
  "internalType": "bool",
191
- "name": "enabled",
260
+ "name": "feePaused",
192
261
  "type": "bool"
193
262
  }
194
263
  ],
@@ -233,6 +302,19 @@ export interface Mailer$Type {
233
302
  "name": "FundsDistributed",
234
303
  "type": "event"
235
304
  },
305
+ {
306
+ "anonymous": false,
307
+ "inputs": [
308
+ {
309
+ "indexed": false,
310
+ "internalType": "uint64",
311
+ "name": "version",
312
+ "type": "uint64"
313
+ }
314
+ ],
315
+ "name": "Initialized",
316
+ "type": "event"
317
+ },
236
318
  {
237
319
  "anonymous": false,
238
320
  "inputs": [
@@ -271,6 +353,12 @@ export interface Mailer$Type {
271
353
  "internalType": "bool",
272
354
  "name": "resolveSenderToName",
273
355
  "type": "bool"
356
+ },
357
+ {
358
+ "indexed": false,
359
+ "internalType": "bool",
360
+ "name": "feePaid",
361
+ "type": "bool"
274
362
  }
275
363
  ],
276
364
  "name": "MailSent",
@@ -302,6 +390,12 @@ export interface Mailer$Type {
302
390
  "internalType": "string",
303
391
  "name": "body",
304
392
  "type": "string"
393
+ },
394
+ {
395
+ "indexed": false,
396
+ "internalType": "bool",
397
+ "name": "feePaid",
398
+ "type": "bool"
305
399
  }
306
400
  ],
307
401
  "name": "MailSentToEmail",
@@ -320,6 +414,25 @@ export interface Mailer$Type {
320
414
  "name": "OwnerClaimed",
321
415
  "type": "event"
322
416
  },
417
+ {
418
+ "anonymous": false,
419
+ "inputs": [
420
+ {
421
+ "indexed": true,
422
+ "internalType": "address",
423
+ "name": "previousOwner",
424
+ "type": "address"
425
+ },
426
+ {
427
+ "indexed": true,
428
+ "internalType": "address",
429
+ "name": "newOwner",
430
+ "type": "address"
431
+ }
432
+ ],
433
+ "name": "OwnershipTransferred",
434
+ "type": "event"
435
+ },
323
436
  {
324
437
  "anonymous": false,
325
438
  "inputs": [
@@ -390,6 +503,12 @@ export interface Mailer$Type {
390
503
  "internalType": "bool",
391
504
  "name": "resolveSenderToName",
392
505
  "type": "bool"
506
+ },
507
+ {
508
+ "indexed": false,
509
+ "internalType": "bool",
510
+ "name": "feePaid",
511
+ "type": "bool"
393
512
  }
394
513
  ],
395
514
  "name": "PreparedMailSent",
@@ -415,6 +534,12 @@ export interface Mailer$Type {
415
534
  "internalType": "string",
416
535
  "name": "mailId",
417
536
  "type": "string"
537
+ },
538
+ {
539
+ "indexed": false,
540
+ "internalType": "bool",
541
+ "name": "feePaid",
542
+ "type": "bool"
418
543
  }
419
544
  ],
420
545
  "name": "PreparedMailSentToEmail",
@@ -464,6 +589,19 @@ export interface Mailer$Type {
464
589
  "name": "SharesRecorded",
465
590
  "type": "event"
466
591
  },
592
+ {
593
+ "anonymous": false,
594
+ "inputs": [
595
+ {
596
+ "indexed": true,
597
+ "internalType": "address",
598
+ "name": "implementation",
599
+ "type": "address"
600
+ }
601
+ ],
602
+ "name": "Upgraded",
603
+ "type": "event"
604
+ },
467
605
  {
468
606
  "anonymous": false,
469
607
  "inputs": [
@@ -496,6 +634,12 @@ export interface Mailer$Type {
496
634
  "internalType": "bool",
497
635
  "name": "resolveSenderToName",
498
636
  "type": "bool"
637
+ },
638
+ {
639
+ "indexed": false,
640
+ "internalType": "bool",
641
+ "name": "feePaid",
642
+ "type": "bool"
499
643
  }
500
644
  ],
501
645
  "name": "WebhookMailSent",
@@ -514,6 +658,19 @@ export interface Mailer$Type {
514
658
  "stateMutability": "view",
515
659
  "type": "function"
516
660
  },
661
+ {
662
+ "inputs": [],
663
+ "name": "UPGRADE_INTERFACE_VERSION",
664
+ "outputs": [
665
+ {
666
+ "internalType": "string",
667
+ "name": "",
668
+ "type": "string"
669
+ }
670
+ ],
671
+ "stateMutability": "view",
672
+ "type": "function"
673
+ },
517
674
  {
518
675
  "inputs": [
519
676
  {
@@ -719,6 +876,24 @@ export interface Mailer$Type {
719
876
  "stateMutability": "view",
720
877
  "type": "function"
721
878
  },
879
+ {
880
+ "inputs": [
881
+ {
882
+ "internalType": "address",
883
+ "name": "_usdcToken",
884
+ "type": "address"
885
+ },
886
+ {
887
+ "internalType": "address",
888
+ "name": "_owner",
889
+ "type": "address"
890
+ }
891
+ ],
892
+ "name": "initialize",
893
+ "outputs": [],
894
+ "stateMutability": "nonpayable",
895
+ "type": "function"
896
+ },
722
897
  {
723
898
  "inputs": [],
724
899
  "name": "isPaused",
@@ -802,6 +977,19 @@ export interface Mailer$Type {
802
977
  "stateMutability": "view",
803
978
  "type": "function"
804
979
  },
980
+ {
981
+ "inputs": [],
982
+ "name": "proxiableUUID",
983
+ "outputs": [
984
+ {
985
+ "internalType": "bytes32",
986
+ "name": "",
987
+ "type": "bytes32"
988
+ }
989
+ ],
990
+ "stateMutability": "view",
991
+ "type": "function"
992
+ },
805
993
  {
806
994
  "inputs": [
807
995
  {
@@ -852,6 +1040,13 @@ export interface Mailer$Type {
852
1040
  "stateMutability": "nonpayable",
853
1041
  "type": "function"
854
1042
  },
1043
+ {
1044
+ "inputs": [],
1045
+ "name": "renounceOwnership",
1046
+ "outputs": [],
1047
+ "stateMutability": "nonpayable",
1048
+ "type": "function"
1049
+ },
855
1050
  {
856
1051
  "inputs": [
857
1052
  {
@@ -1090,6 +1285,19 @@ export interface Mailer$Type {
1090
1285
  "stateMutability": "nonpayable",
1091
1286
  "type": "function"
1092
1287
  },
1288
+ {
1289
+ "inputs": [
1290
+ {
1291
+ "internalType": "address",
1292
+ "name": "newOwner",
1293
+ "type": "address"
1294
+ }
1295
+ ],
1296
+ "name": "transferOwnership",
1297
+ "outputs": [],
1298
+ "stateMutability": "nonpayable",
1299
+ "type": "function"
1300
+ },
1093
1301
  {
1094
1302
  "inputs": [],
1095
1303
  "name": "unpause",
@@ -1097,6 +1305,24 @@ export interface Mailer$Type {
1097
1305
  "stateMutability": "nonpayable",
1098
1306
  "type": "function"
1099
1307
  },
1308
+ {
1309
+ "inputs": [
1310
+ {
1311
+ "internalType": "address",
1312
+ "name": "newImplementation",
1313
+ "type": "address"
1314
+ },
1315
+ {
1316
+ "internalType": "bytes",
1317
+ "name": "data",
1318
+ "type": "bytes"
1319
+ }
1320
+ ],
1321
+ "name": "upgradeToAndCall",
1322
+ "outputs": [],
1323
+ "stateMutability": "payable",
1324
+ "type": "function"
1325
+ },
1100
1326
  {
1101
1327
  "inputs": [],
1102
1328
  "name": "usdcToken",
@@ -1111,8 +1337,8 @@ export interface Mailer$Type {
1111
1337
  "type": "function"
1112
1338
  }
1113
1339
  ],
1114
- "bytecode": "0x60c060405272989680000000000000000000000000000186a06000553480156200002857600080fd5b50604051620028ac380380620028ac8339810160408190526200004b91620000bd565b6001600160a01b03821615806200006957506001600160a01b038116155b15620000885760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000f5565b80516001600160a01b0381168114620000b857600080fd5b919050565b60008060408385031215620000d157600080fd5b620000dc83620000a0565b9150620000ec60208401620000a0565b90509250929050565b60805160a05161270c620001a06000396000818161040701528181610604015281816108f5015281816109c701528181610ae301528181610b8e01528181610e120152818161107f0152818161114c015281816112fe015281816113b20152818161147c0152818161189e0152611b1201526000818161025001528181610a0501528181610d32015281816113ec015281816116cc01528181611cd90152611eb3015261270c6000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c80638456cb5911610130578063bbb2fe7c116100b8578063dbb24ff51161007c578063dbb24ff51461059a578063dc06300c146105ad578063e074bb47146105c0578063ebf77de0146105d3578063f2292f09146105e657600080fd5b8063bbb2fe7c1461051b578063c5f0a58f1461052e578063cd564ccd14610548578063ced72f8714610578578063d15786871461058957600080fd5b8063a3a336bf116100ff578063a3a336bf14610454578063ac637c7a146104b8578063ae39279f146104cb578063b187bd26146104f6578063b85a35d21461050857600080fd5b80638456cb59146103fa5780638da5cb5b14610402578063931e0238146104295780639ded51dd1461043c57600080fd5b80633ff5aecd116101be578063573321bb11610182578063573321bb1461039a57806358545014146103ad5780635c975abb146103c057806369fe0e2d146103d4578063720e586f146103e757600080fd5b80633ff5aecd1461032e5780634a4e3bd5146103635780634b0b1b8b1461036b57806350f1c94f1461037357806355bfc81c1461038757600080fd5b806327fe3a031161020557806327fe3a03146102e5578063285298af146102f85780632fad573e1461030b578063358cbf0a1461031e5780633f4ba83a1461032657600080fd5b80620270a41461023657806311eac8551461024b5780631f9838b51461028f57806321241dfe146102cd575b600080fd5b61024961024436600461218d565b6105f9565b005b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6102bd61029d3660046121a8565b600460209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610286565b6102d7624f1a0081565b604051908152602001610286565b6102496102f3366004612235565b6106f2565b6102d761030636600461218d565b6107e3565b610249610319366004612235565b610813565b6102496108ea565b610249610ad8565b61035161033c36600461218d565b60036020526000908152604090205460ff1681565b60405160ff9091168152602001610286565b610249610b83565b610249610c2e565b6001546102bd90600160901b900460ff1681565b6102496103953660046122c0565b610e07565b6102496103a83660046122d9565b610edd565b6102496103bb36600461218d565b610fc4565b6001546102bd90600160881b900460ff1681565b6102496103e23660046122c0565b611074565b6102496103f536600461218d565b611141565b6102496112f3565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b610249610437366004612391565b611519565b600054600160801b90046001600160801b03166102d7565b61049061046236600461218d565b6002602052600090815260409020546001600160c01b03811690600160c01b900467ffffffffffffffff1682565b604080516001600160c01b03909316835267ffffffffffffffff909116602083015201610286565b6102496104c636600461218d565b611604565b6000546104de906001600160801b031681565b6040516001600160801b039091168152602001610286565b600154600160881b900460ff166102bd565b61024961051636600461218d565b6117e8565b610249610529366004612412565b611893565b6000546104de90600160801b90046001600160801b031681565b61055b61055636600461218d565b6119bf565b604080519384526020840192909252151590820152606001610286565b6000546001600160801b03166102d7565b6001546001600160801b03166102d7565b6102496105a836600461243c565b611a2a565b6102496105bb3660046124e7565b611b07565b6102496105ce36600461218d565b611ba4565b6102496105e136600461218d565b611c21565b6001546104de906001600160801b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461064257604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff161561066d576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166106945760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526003602052604090819020805460ff19169055517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906106e7906064815260200190565b60405180910390a250565b60018054600160801b900460ff16900361071f576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561075c576040516306d39fcd60e41b815260040160405180910390fd5b610767838784611dd3565b156107ce57848460405161077c929190612504565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d91015b60405180910390a45b50506001805460ff60801b1916905550505050565b6001600160a01b03811660009081526003602052604081205461080a9060ff16606461252a565b60ff1692915050565b60018054600160801b900460ff169003610840576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561087d576040516306d39fcd60e41b815260040160405180910390fd5b610888838784611dd3565b156107ce57848460405161089d929190612504565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6a00347d56e88979c493ca2baa527a6cd1009b34431c4ef1021a5c0edd78562591016107c5565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461093357604051635fc483c560e01b815260040160405180910390fd5b60018054600160801b900460ff169003610960576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b198116600160801b179091556001600160801b031660000361099e5760405163493c1ab760e01b815260040160405180910390fd5b600180546001600160801b0319811690915560405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160801b0390921660248201819052916000917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190612543565b905080610a94576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506001805460ff60801b19169055565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b2157604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff16610b4b5760405163dcdde9dd60e01b815260040160405180910390fd5b6001805460ff60881b191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bcc57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff16610bf65760405163dcdde9dd60e01b815260040160405180910390fd5b6001805460ff60881b191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b60018054600160801b900460ff169003610c5b576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b179055336000908152600260205260408120805490916001600160c01b039091169003610cab5760405163493c1ab760e01b815260040160405180910390fd5b8054610ccc90624f1a0090600160c01b900467ffffffffffffffff16612560565b421115610cec5760405163493c1ab760e01b815260040160405180910390fd5b8054336000818152600260205260408082208290555163a9059cbb60e01b815260048101929092526001600160c01b039092166024820181905291906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9f9190612543565b905080610dbf576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a250506001805460ff60801b1916905550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e5057604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff1615610e7b576040516306d39fcd60e41b815260040160405180910390fd5b600080546001600160801b03838116600160801b9081028284161790935560408051939092041680835260208301849052917f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b60018054600160801b900460ff169003610f0a576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff1615610f47576040516306d39fcd60e41b815260040160405180910390fd5b610f52838984611dd3565b15610fad57876001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26898989898888604051610fa49695949392919061259c565b60405180910390a35b50506001805460ff60801b19169055505050505050565b60018054600160801b900460ff169003610ff1576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561102e576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506001805460ff60801b19169055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110bd57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff16156110e8576040516306d39fcd60e41b815260040160405180910390fd5b600080546001600160801b038381166001600160801b0319831617909255604080519290911680835260208301849052917f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610ed1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461118a57604051635fc483c560e01b815260040160405180910390fd5b60018054600160801b900460ff1690036111b7576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790556001600160a01b0381166000908152600260205260408120805490916001600160c01b0390911690036112105760405163493c1ab760e01b815260040160405180910390fd5b805461123190624f1a0090600160c01b900467ffffffffffffffff16612560565b4211611250576040516326f6703f60e11b815260040160405180910390fd5b80546001600160a01b0383166000908152600260205260408120819055600180546001600160c01b03909316928392906112949084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826001600160a01b03167fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448182604051610ded91815260200190565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461133c57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff1615611367576040516306d39fcd60e41b815260040160405180910390fd5b6001805460ff60881b198116600160881b179091556001600160801b031680156114ed57600180546001600160801b031916905560405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160801b03831660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b9190612543565b905080156114cf576040516001600160801b03831681526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016907f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd9060200160405180910390a26114eb565b600180546001600160801b0319166001600160801b0384161790555b505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a150565b60018054600160801b900460ff169003611546576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff1615611583576040516306d39fcd60e41b815260040160405180910390fd5b61158f81600080611dd3565b156115f05782826040516115a4929190612504565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c59947044387876040516115e7929190612605565b60405180910390a35b50506001805460ff60801b19169055505050565b60018054600160801b900460ff169003611631576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561166e576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116158015906116905750600154600160901b900460ff16155b156117a2576000546040516323b872dd60e01b8152336004820152306024820152600160801b9091046001600160801b031660448201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af115801561171d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117419190612543565b61175e57604051634aa23e8f60e11b815260040160405180910390fd5b6001805482919060009061177c9084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506001805460ff60801b19169055565b600154600160881b900460ff1615611813576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811661183a5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600460209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118dc57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff1615611907576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03821661192e5760405163e6c4247b60e01b815260040160405180910390fd5b606481111561195057604051631f3b85d360e01b815260040160405180910390fd5b61195b816064612621565b6001600160a01b038316600081815260036020908152604091829020805460ff191660ff95909516949094179093555183815290917fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d910160405180910390a25050565b6001600160a01b038116600090815260026020526040812080546001600160c01b03811692918291611a0690624f1a0090600160c01b900467ffffffffffffffff16612560565b81549093506001600160c01b031615801590611a2157508242115b93959294505050565b60018054600160801b900460ff169003611a57576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff1615611a94576040516306d39fcd60e41b815260040160405180910390fd5b611aa081600080611dd3565b15611af157336001600160a01b03167fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba313888888888888604051611ae896959493929190612634565b60405180910390a25b50506001805460ff60801b191690555050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b5057604051635fc483c560e01b815260040160405180910390fd5b6001805482158015600160901b0260ff60901b19909216919091179091556040519081527f0bb6987e633a7af841f8c4d74c699a4aa006b854376001dd6c0412f2ec13f5c19060200160405180910390a150565b6001600160a01b038116611bcb5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600460209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b600154600160881b900460ff16611c4b5760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600260205260408120805490916001600160c01b039091169003611c915760405163493c1ab760e01b815260040160405180910390fd5b80546001600160a01b038381166000818152600260205260408082208290555163a9059cbb60e01b815260048101929092526001600160c01b039093166024820181905292917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611d22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d469190612543565b90508015611d9657836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd83604051611d8991815260200190565b60405180910390a2611dcd565b6001600160a01b038416600090815260026020526040902067ffffffffffffffff4216600160c01b026001600160c01b0384161790555b50505050565b6000336001600160a01b03851614611e29573360009081526004602090815260408083206001600160a01b038816845290915290205460ff16611e295760405163184d62c560e01b815260040160405180910390fd5b600154600160901b900460ff1615611e4357506001611fa4565b60008054611e5b9086906001600160801b0316611fab565b905080600003611e6f576001915050611fa4565b600083611e82576064600a830204611e84565b815b6040516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af1158015611efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f229190612543565b611f3157600092505050611fa4565b838015611f4657506001600160a01b03851615155b15611f5a57611f558583612011565b611f9d565b60018054829190600090611f789084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001925050505b9392505050565b6001600160a01b03821660009081526003602052604081205460ff16808203611fdf5750506001600160801b03811661200b565b8060ff16606403611ff457600091505061200b565b606490810360ff166001600160801b038416020490505b92915050565b60006064612020600a8461267d565b61202a9190612694565b905060006120416001600160801b03831684612621565b6001600160a01b0385166000908152600260205260408120805492935083929091906120779084906001600160c01b03166126b6565b82546101009290920a6001600160c01b038181021990931691831602179091556001600160a01b03861660009081526002602052604081208054909216600160c01b4267ffffffffffffffff160217909155600180548593509091906120e79084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550836001600160a01b03167fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c82846040516121639291906001600160c01b039290921682526001600160801b0316602082015260400190565b60405180910390a250505050565b80356001600160a01b038116811461218857600080fd5b919050565b60006020828403121561219f57600080fd5b611fa482612171565b600080604083850312156121bb57600080fd5b6121c483612171565b91506121d260208401612171565b90509250929050565b60008083601f8401126121ed57600080fd5b50813567ffffffffffffffff81111561220557600080fd5b60208301915083602082850101111561221d57600080fd5b9250929050565b801515811461223257600080fd5b50565b60008060008060008060a0878903121561224e57600080fd5b61225787612171565b9550602087013567ffffffffffffffff81111561227357600080fd5b61227f89828a016121db565b9096509450612292905060408801612171565b925060608701356122a281612224565b915060808701356122b281612224565b809150509295509295509295565b6000602082840312156122d257600080fd5b5035919050565b60008060008060008060008060c0898b0312156122f557600080fd5b6122fe89612171565b9750602089013567ffffffffffffffff8082111561231b57600080fd5b6123278c838d016121db565b909950975060408b013591508082111561234057600080fd5b5061234d8b828c016121db565b9096509450612360905060608a01612171565b9250608089013561237081612224565b915060a089013561238081612224565b809150509295985092959890939650565b6000806000806000606086880312156123a957600080fd5b853567ffffffffffffffff808211156123c157600080fd5b6123cd89838a016121db565b909750955060208801359150808211156123e657600080fd5b506123f3888289016121db565b9094509250612406905060408701612171565b90509295509295909350565b6000806040838503121561242557600080fd5b61242e83612171565b946020939093013593505050565b60008060008060008060006080888a03121561245757600080fd5b873567ffffffffffffffff8082111561246f57600080fd5b61247b8b838c016121db565b909950975060208a013591508082111561249457600080fd5b6124a08b838c016121db565b909750955060408a01359150808211156124b957600080fd5b506124c68a828b016121db565b90945092506124d9905060608901612171565b905092959891949750929550565b6000602082840312156124f957600080fd5b8135611fa481612224565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b60ff828116828216039081111561200b5761200b612514565b60006020828403121561255557600080fd5b8151611fa481612224565b8082018082111561200b5761200b612514565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006125b060808301888a612573565b82810360208401526125c3818789612573565b94151560408401525050901515606090910152949350505050565b6001600160801b038181168382160190808211156125fe576125fe612514565b5092915050565b602081526000612619602083018486612573565b949350505050565b8181038181111561200b5761200b612514565b60608152600061264860608301888a612573565b828103602084015261265b818789612573565b90508281036040840152612670818587612573565b9998505050505050505050565b808202811582820484141761200b5761200b612514565b6000826126b157634e487b7160e01b600052601260045260246000fd5b500490565b6001600160c01b038181168382160190808211156125fe576125fe61251456fea264697066735822122068a4c839fdfa7816f065308e88071eb5482ef2a9f61b24fce8836a01c1e94fe864736f6c63430008180033",
1115
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102315760003560e01c80638456cb5911610130578063bbb2fe7c116100b8578063dbb24ff51161007c578063dbb24ff51461059a578063dc06300c146105ad578063e074bb47146105c0578063ebf77de0146105d3578063f2292f09146105e657600080fd5b8063bbb2fe7c1461051b578063c5f0a58f1461052e578063cd564ccd14610548578063ced72f8714610578578063d15786871461058957600080fd5b8063a3a336bf116100ff578063a3a336bf14610454578063ac637c7a146104b8578063ae39279f146104cb578063b187bd26146104f6578063b85a35d21461050857600080fd5b80638456cb59146103fa5780638da5cb5b14610402578063931e0238146104295780639ded51dd1461043c57600080fd5b80633ff5aecd116101be578063573321bb11610182578063573321bb1461039a57806358545014146103ad5780635c975abb146103c057806369fe0e2d146103d4578063720e586f146103e757600080fd5b80633ff5aecd1461032e5780634a4e3bd5146103635780634b0b1b8b1461036b57806350f1c94f1461037357806355bfc81c1461038757600080fd5b806327fe3a031161020557806327fe3a03146102e5578063285298af146102f85780632fad573e1461030b578063358cbf0a1461031e5780633f4ba83a1461032657600080fd5b80620270a41461023657806311eac8551461024b5780631f9838b51461028f57806321241dfe146102cd575b600080fd5b61024961024436600461218d565b6105f9565b005b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6102bd61029d3660046121a8565b600460209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610286565b6102d7624f1a0081565b604051908152602001610286565b6102496102f3366004612235565b6106f2565b6102d761030636600461218d565b6107e3565b610249610319366004612235565b610813565b6102496108ea565b610249610ad8565b61035161033c36600461218d565b60036020526000908152604090205460ff1681565b60405160ff9091168152602001610286565b610249610b83565b610249610c2e565b6001546102bd90600160901b900460ff1681565b6102496103953660046122c0565b610e07565b6102496103a83660046122d9565b610edd565b6102496103bb36600461218d565b610fc4565b6001546102bd90600160881b900460ff1681565b6102496103e23660046122c0565b611074565b6102496103f536600461218d565b611141565b6102496112f3565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b610249610437366004612391565b611519565b600054600160801b90046001600160801b03166102d7565b61049061046236600461218d565b6002602052600090815260409020546001600160c01b03811690600160c01b900467ffffffffffffffff1682565b604080516001600160c01b03909316835267ffffffffffffffff909116602083015201610286565b6102496104c636600461218d565b611604565b6000546104de906001600160801b031681565b6040516001600160801b039091168152602001610286565b600154600160881b900460ff166102bd565b61024961051636600461218d565b6117e8565b610249610529366004612412565b611893565b6000546104de90600160801b90046001600160801b031681565b61055b61055636600461218d565b6119bf565b604080519384526020840192909252151590820152606001610286565b6000546001600160801b03166102d7565b6001546001600160801b03166102d7565b6102496105a836600461243c565b611a2a565b6102496105bb3660046124e7565b611b07565b6102496105ce36600461218d565b611ba4565b6102496105e136600461218d565b611c21565b6001546104de906001600160801b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461064257604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff161561066d576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166106945760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526003602052604090819020805460ff19169055517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906106e7906064815260200190565b60405180910390a250565b60018054600160801b900460ff16900361071f576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561075c576040516306d39fcd60e41b815260040160405180910390fd5b610767838784611dd3565b156107ce57848460405161077c929190612504565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d91015b60405180910390a45b50506001805460ff60801b1916905550505050565b6001600160a01b03811660009081526003602052604081205461080a9060ff16606461252a565b60ff1692915050565b60018054600160801b900460ff169003610840576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561087d576040516306d39fcd60e41b815260040160405180910390fd5b610888838784611dd3565b156107ce57848460405161089d929190612504565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6a00347d56e88979c493ca2baa527a6cd1009b34431c4ef1021a5c0edd78562591016107c5565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461093357604051635fc483c560e01b815260040160405180910390fd5b60018054600160801b900460ff169003610960576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b198116600160801b179091556001600160801b031660000361099e5760405163493c1ab760e01b815260040160405180910390fd5b600180546001600160801b0319811690915560405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160801b0390921660248201819052916000917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190612543565b905080610a94576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506001805460ff60801b19169055565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b2157604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff16610b4b5760405163dcdde9dd60e01b815260040160405180910390fd5b6001805460ff60881b191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bcc57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff16610bf65760405163dcdde9dd60e01b815260040160405180910390fd5b6001805460ff60881b191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b60018054600160801b900460ff169003610c5b576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b179055336000908152600260205260408120805490916001600160c01b039091169003610cab5760405163493c1ab760e01b815260040160405180910390fd5b8054610ccc90624f1a0090600160c01b900467ffffffffffffffff16612560565b421115610cec5760405163493c1ab760e01b815260040160405180910390fd5b8054336000818152600260205260408082208290555163a9059cbb60e01b815260048101929092526001600160c01b039092166024820181905291906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9f9190612543565b905080610dbf576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a250506001805460ff60801b1916905550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e5057604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff1615610e7b576040516306d39fcd60e41b815260040160405180910390fd5b600080546001600160801b03838116600160801b9081028284161790935560408051939092041680835260208301849052917f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b60018054600160801b900460ff169003610f0a576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff1615610f47576040516306d39fcd60e41b815260040160405180910390fd5b610f52838984611dd3565b15610fad57876001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26898989898888604051610fa49695949392919061259c565b60405180910390a35b50506001805460ff60801b19169055505050505050565b60018054600160801b900460ff169003610ff1576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561102e576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506001805460ff60801b19169055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110bd57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff16156110e8576040516306d39fcd60e41b815260040160405180910390fd5b600080546001600160801b038381166001600160801b0319831617909255604080519290911680835260208301849052917f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610ed1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461118a57604051635fc483c560e01b815260040160405180910390fd5b60018054600160801b900460ff1690036111b7576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790556001600160a01b0381166000908152600260205260408120805490916001600160c01b0390911690036112105760405163493c1ab760e01b815260040160405180910390fd5b805461123190624f1a0090600160c01b900467ffffffffffffffff16612560565b4211611250576040516326f6703f60e11b815260040160405180910390fd5b80546001600160a01b0383166000908152600260205260408120819055600180546001600160c01b03909316928392906112949084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826001600160a01b03167fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448182604051610ded91815260200190565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461133c57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff1615611367576040516306d39fcd60e41b815260040160405180910390fd5b6001805460ff60881b198116600160881b179091556001600160801b031680156114ed57600180546001600160801b031916905560405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160801b03831660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b9190612543565b905080156114cf576040516001600160801b03831681526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016907f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd9060200160405180910390a26114eb565b600180546001600160801b0319166001600160801b0384161790555b505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a150565b60018054600160801b900460ff169003611546576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff1615611583576040516306d39fcd60e41b815260040160405180910390fd5b61158f81600080611dd3565b156115f05782826040516115a4929190612504565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c59947044387876040516115e7929190612605565b60405180910390a35b50506001805460ff60801b19169055505050565b60018054600160801b900460ff169003611631576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff161561166e576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116158015906116905750600154600160901b900460ff16155b156117a2576000546040516323b872dd60e01b8152336004820152306024820152600160801b9091046001600160801b031660448201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af115801561171d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117419190612543565b61175e57604051634aa23e8f60e11b815260040160405180910390fd5b6001805482919060009061177c9084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506001805460ff60801b19169055565b600154600160881b900460ff1615611813576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811661183a5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600460209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118dc57604051635fc483c560e01b815260040160405180910390fd5b600154600160881b900460ff1615611907576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03821661192e5760405163e6c4247b60e01b815260040160405180910390fd5b606481111561195057604051631f3b85d360e01b815260040160405180910390fd5b61195b816064612621565b6001600160a01b038316600081815260036020908152604091829020805460ff191660ff95909516949094179093555183815290917fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d910160405180910390a25050565b6001600160a01b038116600090815260026020526040812080546001600160c01b03811692918291611a0690624f1a0090600160c01b900467ffffffffffffffff16612560565b81549093506001600160c01b031615801590611a2157508242115b93959294505050565b60018054600160801b900460ff169003611a57576040516345f5ce8b60e11b815260040160405180910390fd5b6001805460ff60801b1916600160801b1790819055600160881b900460ff1615611a94576040516306d39fcd60e41b815260040160405180910390fd5b611aa081600080611dd3565b15611af157336001600160a01b03167fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba313888888888888604051611ae896959493929190612634565b60405180910390a25b50506001805460ff60801b191690555050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b5057604051635fc483c560e01b815260040160405180910390fd5b6001805482158015600160901b0260ff60901b19909216919091179091556040519081527f0bb6987e633a7af841f8c4d74c699a4aa006b854376001dd6c0412f2ec13f5c19060200160405180910390a150565b6001600160a01b038116611bcb5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600460209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b600154600160881b900460ff16611c4b5760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600260205260408120805490916001600160c01b039091169003611c915760405163493c1ab760e01b815260040160405180910390fd5b80546001600160a01b038381166000818152600260205260408082208290555163a9059cbb60e01b815260048101929092526001600160c01b039093166024820181905292917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611d22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d469190612543565b90508015611d9657836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd83604051611d8991815260200190565b60405180910390a2611dcd565b6001600160a01b038416600090815260026020526040902067ffffffffffffffff4216600160c01b026001600160c01b0384161790555b50505050565b6000336001600160a01b03851614611e29573360009081526004602090815260408083206001600160a01b038816845290915290205460ff16611e295760405163184d62c560e01b815260040160405180910390fd5b600154600160901b900460ff1615611e4357506001611fa4565b60008054611e5b9086906001600160801b0316611fab565b905080600003611e6f576001915050611fa4565b600083611e82576064600a830204611e84565b815b6040516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af1158015611efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f229190612543565b611f3157600092505050611fa4565b838015611f4657506001600160a01b03851615155b15611f5a57611f558583612011565b611f9d565b60018054829190600090611f789084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001925050505b9392505050565b6001600160a01b03821660009081526003602052604081205460ff16808203611fdf5750506001600160801b03811661200b565b8060ff16606403611ff457600091505061200b565b606490810360ff166001600160801b038416020490505b92915050565b60006064612020600a8461267d565b61202a9190612694565b905060006120416001600160801b03831684612621565b6001600160a01b0385166000908152600260205260408120805492935083929091906120779084906001600160c01b03166126b6565b82546101009290920a6001600160c01b038181021990931691831602179091556001600160a01b03861660009081526002602052604081208054909216600160c01b4267ffffffffffffffff160217909155600180548593509091906120e79084906001600160801b03166125de565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550836001600160a01b03167fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c82846040516121639291906001600160c01b039290921682526001600160801b0316602082015260400190565b60405180910390a250505050565b80356001600160a01b038116811461218857600080fd5b919050565b60006020828403121561219f57600080fd5b611fa482612171565b600080604083850312156121bb57600080fd5b6121c483612171565b91506121d260208401612171565b90509250929050565b60008083601f8401126121ed57600080fd5b50813567ffffffffffffffff81111561220557600080fd5b60208301915083602082850101111561221d57600080fd5b9250929050565b801515811461223257600080fd5b50565b60008060008060008060a0878903121561224e57600080fd5b61225787612171565b9550602087013567ffffffffffffffff81111561227357600080fd5b61227f89828a016121db565b9096509450612292905060408801612171565b925060608701356122a281612224565b915060808701356122b281612224565b809150509295509295509295565b6000602082840312156122d257600080fd5b5035919050565b60008060008060008060008060c0898b0312156122f557600080fd5b6122fe89612171565b9750602089013567ffffffffffffffff8082111561231b57600080fd5b6123278c838d016121db565b909950975060408b013591508082111561234057600080fd5b5061234d8b828c016121db565b9096509450612360905060608a01612171565b9250608089013561237081612224565b915060a089013561238081612224565b809150509295985092959890939650565b6000806000806000606086880312156123a957600080fd5b853567ffffffffffffffff808211156123c157600080fd5b6123cd89838a016121db565b909750955060208801359150808211156123e657600080fd5b506123f3888289016121db565b9094509250612406905060408701612171565b90509295509295909350565b6000806040838503121561242557600080fd5b61242e83612171565b946020939093013593505050565b60008060008060008060006080888a03121561245757600080fd5b873567ffffffffffffffff8082111561246f57600080fd5b61247b8b838c016121db565b909950975060208a013591508082111561249457600080fd5b6124a08b838c016121db565b909750955060408a01359150808211156124b957600080fd5b506124c68a828b016121db565b90945092506124d9905060608901612171565b905092959891949750929550565b6000602082840312156124f957600080fd5b8135611fa481612224565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b60ff828116828216039081111561200b5761200b612514565b60006020828403121561255557600080fd5b8151611fa481612224565b8082018082111561200b5761200b612514565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006125b060808301888a612573565b82810360208401526125c3818789612573565b94151560408401525050901515606090910152949350505050565b6001600160801b038181168382160190808211156125fe576125fe612514565b5092915050565b602081526000612619602083018486612573565b949350505050565b8181038181111561200b5761200b612514565b60608152600061264860608301888a612573565b828103602084015261265b818789612573565b90508281036040840152612670818587612573565b9998505050505050505050565b808202811582820484141761200b5761200b612514565b6000826126b157634e487b7160e01b600052601260045260246000fd5b500490565b6001600160c01b038181168382160190808211156125fe576125fe61251456fea264697066735822122068a4c839fdfa7816f065308e88071eb5482ef2a9f61b24fce8836a01c1e94fe864736f6c63430008180033",
1340
+ "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612ff362000104600039600081816121c1015281816121ea01526123300152612ff36000f3fe6080604052600436106102665760003560e01c8063720e586f11610144578063bbb2fe7c116100b6578063dbb24ff51161007a578063dbb24ff5146107e2578063dc06300c14610802578063e074bb4714610822578063ebf77de014610842578063f2292f0914610862578063f2fde38b1461088257600080fd5b8063bbb2fe7c14610722578063c5f0a58f14610742578063cd564ccd14610769578063ced72f87146107a6578063d1578687146107c457600080fd5b8063a3a336bf11610108578063a3a336bf146105de578063ac637c7a1461064d578063ad3cb1cc1461066d578063ae39279f146106ab578063b187bd26146106e3578063b85a35d21461070257600080fd5b8063720e586f1461054f5780638456cb591461056f5780638da5cb5b14610584578063931e0238146105995780639ded51dd146105b957600080fd5b80634a4e3bd5116101dd57806355bfc81c116101a157806355bfc81c14610499578063573321bb146104b957806358545014146104d95780635c975abb146104f957806369fe0e2d1461051a578063715018a61461053a57600080fd5b80634a4e3bd5146104265780634b0b1b8b1461043b5780634f1ef2861461045057806350f1c94f1461046357806352d1902d1461048457600080fd5b8063285298af1161022f578063285298af1461035a5780632fad573e1461037a578063358cbf0a1461039a5780633f4ba83a146103af5780633ff5aecd146103c4578063485cc9551461040657600080fd5b80620270a41461026b57806311eac8551461028d5780631f9838b5146102ca57806321241dfe1461031557806327fe3a031461033a575b600080fd5b34801561027757600080fd5b5061028b6102863660046128fe565b6108a2565b005b34801561029957600080fd5b506000546102ad906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102d657600080fd5b506103056102e5366004612919565b600560209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016102c1565b34801561032157600080fd5b5061032c624f1a0081565b6040519081526020016102c1565b34801561034657600080fd5b5061028b6103553660046129a2565b61095a565b34801561036657600080fd5b5061032c6103753660046128fe565b610a56565b34801561038657600080fd5b5061028b6103953660046129a2565b610a86565b3480156103a657600080fd5b5061028b610b68565b3480156103bb57600080fd5b5061028b610ce8565b3480156103d057600080fd5b506103f46103df3660046128fe565b60046020526000908152604090205460ff1681565b60405160ff90911681526020016102c1565b34801561041257600080fd5b5061028b610421366004612919565b610d52565b34801561043257600080fd5b5061028b610ec2565b34801561044757600080fd5b5061028b610f2c565b61028b61045e366004612a42565b6110e9565b34801561046f57600080fd5b5060025461030590600160901b900460ff1681565b34801561049057600080fd5b5061032c611108565b3480156104a557600080fd5b5061028b6104b4366004612b03565b611125565b3480156104c557600080fd5b5061028b6104d4366004612b1c565b6111e2565b3480156104e557600080fd5b5061028b6104f43660046128fe565b6112ca565b34801561050557600080fd5b5060025461030590600160881b900460ff1681565b34801561052657600080fd5b5061028b610535366004612b03565b61137a565b34801561054657600080fd5b5061028b61142e565b34801561055b57600080fd5b5061028b61056a3660046128fe565b611442565b34801561057b57600080fd5b5061028b611577565b34801561059057600080fd5b506102ad611765565b3480156105a557600080fd5b5061028b6105b4366004612bd3565b611793565b3480156105c557600080fd5b50600154600160801b90046001600160801b031661032c565b3480156105ea57600080fd5b506106266105f93660046128fe565b6003602052600090815260409020546001600160c01b03811690600160c01b90046001600160401b031682565b604080516001600160c01b0390931683526001600160401b039091166020830152016102c1565b34801561065957600080fd5b5061028b6106683660046128fe565b61187f565b34801561067957600080fd5b5061069e604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516102c19190612c77565b3480156106b757600080fd5b506001546106cb906001600160801b031681565b6040516001600160801b0390911681526020016102c1565b3480156106ef57600080fd5b50600254600160881b900460ff16610305565b34801561070e57600080fd5b5061028b61071d3660046128fe565b611a17565b34801561072e57600080fd5b5061028b61073d366004612caa565b611ac2565b34801561074e57600080fd5b506001546106cb90600160801b90046001600160801b031681565b34801561077557600080fd5b506107896107843660046128fe565b611bad565b6040805193845260208401929092521515908201526060016102c1565b3480156107b257600080fd5b506001546001600160801b031661032c565b3480156107d057600080fd5b506002546001600160801b031661032c565b3480156107ee57600080fd5b5061028b6107fd366004612cd4565b611c17565b34801561080e57600080fd5b5061028b61081d366004612d7e565b611cf5565b34801561082e57600080fd5b5061028b61083d3660046128fe565b611d55565b34801561084e57600080fd5b5061028b61085d3660046128fe565b611dfd565b34801561086e57600080fd5b506002546106cb906001600160801b031681565b34801561088e57600080fd5b5061028b61089d3660046128fe565b611fef565b6108aa612032565b600254600160881b900460ff16156108d5576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166108fc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526004602052604090819020805460ff19169055517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d9061094f906064815260200190565b60405180910390a250565b600254600160801b900460ff16600103610987576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156109c4576040516306d39fcd60e41b815260040160405180910390fd5b60006109d1848885612064565b905085856040516109e3929190612d9b565b604080519182900382208515158352841515602084015283151591830191909152906001600160a01b0389169033907f180721b7b6f223ae4b7dba66723b1b9a15679d0f109ec546a60d4bdd8db442c9906060015b60405180910390a450506002805460ff60801b191690555050505050565b6001600160a01b038116600090815260046020526040812054610a7d9060ff166064612dc1565b60ff1692915050565b600254600160801b900460ff16600103610ab3576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff1615610af0576040516306d39fcd60e41b815260040160405180910390fd5b6000610afd848885612064565b90508585604051610b0f929190612d9b565b604080519182900382208515158352841515602084015283151591830191909152906001600160a01b0389169033907f468ba7f8a0a9267778048805b10b0cce1c35cbb1bb04d174cb9e462ed602704590606001610a38565b610b70612032565b600254600160801b900460ff16600103610b9d576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b198116600160801b179091556001600160801b0316600003610bdb5760405163493c1ab760e01b815260040160405180910390fd5b600280546001600160801b03198116909155600080546001600160801b03909216916001600160a01b031663a9059cbb610c13611765565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af1158015610c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c849190612dda565b905080610ca4576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506002805460ff60801b19169055565b610cf0612032565b600254600160881b900460ff16610d1a5760405163dcdde9dd60e01b815260040160405180910390fd5b6002805460ff60881b191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b6000610d5c612172565b805490915060ff600160401b82041615906001600160401b0316600081158015610d835750825b90506000826001600160401b03166001148015610d9f5750303b155b905081158015610dad575080155b15610dcb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610df557845460ff60401b1916600160401b1785555b6001600160a01b0387161580610e1257506001600160a01b038616155b15610e305760405163e6c4247b60e01b815260040160405180910390fd5b610e398661219d565b610e416121ae565b600080546001600160a01b0319166001600160a01b03891617905572989680000000000000000000000000000186a06001558315610eb957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610eca612032565b600254600160881b900460ff16610ef45760405163dcdde9dd60e01b815260040160405180910390fd5b6002805460ff60881b191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600254600160801b900460ff16600103610f59576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b179055336000908152600360205260408120805490916001600160c01b039091169003610fa95760405163493c1ab760e01b815260040160405180910390fd5b8054610fc990624f1a0090600160c01b90046001600160401b0316612df7565b421115610fe95760405163493c1ab760e01b815260040160405180910390fd5b8054336000818152600360205260408082208290558154905163a9059cbb60e01b815260048101939093526001600160c01b03909316602483018190529290916001600160a01b039091169063a9059cbb906044016020604051808303816000875af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110819190612dda565b9050806110a1576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a250506002805460ff60801b1916905550565b6110f16121b6565b6110fa8261225b565b6111048282612263565b5050565b6000611112612325565b50600080516020612f9e83398151915290565b61112d612032565b600254600160881b900460ff1615611158576040516306d39fcd60e41b815260040160405180910390fd5b6001600160801b0381111561118057604051634eab2ea760e11b815260040160405180910390fd5b600180546001600160801b03838116600160801b9081028284161790935560408051939092041680835260208301849052917f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600254600160801b900460ff1660010361120f576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff161561124c576040516306d39fcd60e41b815260040160405180910390fd5b6000611259848a85612064565b9050886001600160a01b0316336001600160a01b03167fda076e9b7224dce0ba5ac55d2b00f78c3f1c15703b3ef0889e9c29b132101d058a8a8a8a8989896040516112aa9796959493929190612e33565b60405180910390a350506002805460ff60801b1916905550505050505050565b600254600160801b900460ff166001036112f7576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff1615611334576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506002805460ff60801b19169055565b611382612032565b600254600160881b900460ff16156113ad576040516306d39fcd60e41b815260040160405180910390fd5b6001600160801b038111156113d557604051634eab2ea760e11b815260040160405180910390fd5b600180546001600160801b038381166001600160801b0319831617909255604080519290911680835260208301849052917f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df6130291016111d6565b611436612032565b611440600061236e565b565b61144a612032565b600254600160801b900460ff16600103611477576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790556001600160a01b0381166000908152600360205260408120805490916001600160c01b0390911690036114d05760405163493c1ab760e01b815260040160405180910390fd5b80546114f090624f1a0090600160c01b90046001600160401b0316612df7565b421161150f576040516326f6703f60e11b815260040160405180910390fd5b80546001600160a01b0383166000908152600360205260408120556001600160c01b031661153c816123df565b826001600160a01b03167fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb314481826040516110cf91815260200190565b61157f612032565b600254600160801b900460ff166001036115ac576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156115e9576040516306d39fcd60e41b815260040160405180910390fd5b6002805460ff60881b198116600160881b179091556001600160801b0316801561172c57600280546001600160801b0319169055600080546001600160a01b031663a9059cbb611637611765565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526001600160801b03851660248201526044016020604051808303816000875af115801561168c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b09190612dda565b9050801561170e576116c0611765565b6040516001600160801b03841681526001600160a01b0391909116907f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd9060200160405180910390a261172a565b600280546001600160801b0319166001600160801b0384161790555b505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1506002805460ff60801b19169055565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b600254600160801b900460ff166001036117c0576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156117fd576040516306d39fcd60e41b815260040160405180910390fd5b600061180b82600080612064565b9050838360405161181d929190612d9b565b6040518091039020336001600160a01b03167fa7f47a20cd22aaeae14c5b3df8878382b69b3c388dd7eeaa8b88dabc0de00b6488888560405161186293929190612e7c565b60405180910390a350506002805460ff60801b1916905550505050565b600254600160801b900460ff166001036118ac576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156118e9576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381161580159061190b5750600254600160901b900460ff16155b156119d1576001546000546040516323b872dd60e01b8152336004820152306024820152600160801b9092046001600160801b031660448301819052916001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561197c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a09190612dda565b6119bd57604051634aa23e8f60e11b815260040160405180910390fd5b6119cf816001600160801b03166123df565b505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506002805460ff60801b19169055565b600254600160881b900460ff1615611a42576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116611a695760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600560209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b611aca612032565b600254600160881b900460ff1615611af5576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038216611b1c5760405163e6c4247b60e01b815260040160405180910390fd5b6064811115611b3e57604051631f3b85d360e01b815260040160405180910390fd5b611b49816064612ea2565b6001600160a01b038316600081815260046020908152604091829020805460ff191660ff95909516949094179093555183815290917fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d910160405180910390a25050565b6001600160a01b038116600090815260036020526040812080546001600160c01b03811692918291611bf390624f1a0090600160c01b90046001600160401b0316612df7565b81549093506001600160c01b031615801590611c0e57508242115b93959294505050565b600254600160801b900460ff16600103611c44576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff1615611c81576040516306d39fcd60e41b815260040160405180910390fd5b6000611c8f82600080612064565b9050336001600160a01b03167f1c5adab95a0a545c50248a1182e6e490ffd266608eff7f94596e694a5d2c6a1389898989898988604051611cd69796959493929190612eb5565b60405180910390a250506002805460ff60801b19169055505050505050565b611cfd612032565b60028054821515600160901b0260ff60901b199091161790556040517f0bb6987e633a7af841f8c4d74c699a4aa006b854376001dd6c0412f2ec13f5c190611d4a90831515815260200190565b60405180910390a150565b600254600160881b900460ff1615611d80576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116611da75760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600560209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b600254600160801b900460ff16600103611e2a576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16611e665760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600360205260408120805490916001600160c01b039091169003611eac5760405163493c1ab760e01b815260040160405180910390fd5b80546001600160a01b038381166000818152600360205260408082208290558154905163a9059cbb60e01b815260048101939093526001600160c01b0385166024840181905294600160c01b90046001600160401b031693919291169063a9059cbb906044016020604051808303816000875af1158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f559190612dda565b90508015611fa557846001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd84604051611f9891815260200190565b60405180910390a2611fdb565b6001600160a01b03851660009081526003602052604090206001600160401b038316600160c01b026001600160c01b0385161790555b50506002805460ff60801b19169055505050565b611ff7612032565b6001600160a01b03811661202657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61202f8161236e565b50565b3361203b611765565b6001600160a01b0316146114405760405163118cdaa760e01b815233600482015260240161201d565b6000336001600160a01b038516146120ba573360009081526005602090815260408083206001600160a01b038816845290915290205460ff166120ba5760405163184d62c560e01b815260040160405180910390fd5b600254600160901b900460ff16156120d45750600161216b565b6001546000906120ee9086906001600160801b0316612451565b90508060000361210257600191505061216b565b600083612115576064600a830204612117565b815b905061212386826124b7565b6121325760009250505061216b565b83801561214757506001600160a01b03851615155b1561215b576121568583612551565b612164565b612164816123df565b6001925050505b9392505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005b92915050565b6121a56126c7565b61202f816126ec565b6114406126c7565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061223d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612231600080516020612f9e833981519152546001600160a01b031690565b6001600160a01b031614155b156114405760405163703e46dd60e11b815260040160405180910390fd5b61202f612032565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156122bd575060408051601f3d908101601f191682019092526122ba91810190612f08565b60015b6122e557604051634c9c8ce360e01b81526001600160a01b038316600482015260240161201d565b600080516020612f9e833981519152811461231657604051632a87526960e21b81526004810182905260240161201d565b61232083836126f4565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114405760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b806000036123ea5750565b6002546000906124049083906001600160801b0316612df7565b90506001600160801b0381111561242e57604051634eab2ea760e11b815260040160405180910390fd5b600280546001600160801b0319166001600160801b039290921691909117905550565b6001600160a01b03821660009081526004602052604081205460ff168082036124855750506001600160801b038116612197565b8060ff1660640361249a576000915050612197565b60646001600160801b03841660ff83830316020491505092915050565b6000816000036124c957506001612197565b6000546040516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052909116906323b872dd906064016020604051808303816000875af192505050801561253e575060408051601f3d908101601f1916820190925261253b91810190612dda565b60015b61254a57506000612197565b9050612197565b60006064612560600a84612f21565b61256a9190612f38565b90506001600160801b0381111561259457604051634eab2ea760e11b815260040160405180910390fd5b8060006125aa6001600160801b03831685612ea2565b90506001600160c01b038111156125d457604051634eab2ea760e11b815260040160405180910390fd5b6001600160a01b0385166000908152600360205260408120805483928392916126079084906001600160c01b0316612f5a565b82546101009290920a6001600160c01b038181021990931691831602179091556001600160a01b03881660009081526003602052604090208054909116600160c01b426001600160401b0316021790555061266a6001600160801b0384166123df565b604080516001600160c01b03831681526001600160801b03851660208201526001600160a01b038816917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a2505050505050565b6126cf61274a565b61144057604051631afcd79f60e31b815260040160405180910390fd5b611ff76126c7565b6126fd82612764565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156127425761232082826127c9565b61110461283f565b6000612754612172565b54600160401b900460ff16919050565b806001600160a01b03163b60000361279a57604051634c9c8ce360e01b81526001600160a01b038216600482015260240161201d565b600080516020612f9e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516127e69190612f81565b600060405180830381855af49150503d8060008114612821576040519150601f19603f3d011682016040523d82523d6000602084013e612826565b606091505b509150915061283685838361285e565b95945050505050565b34156114405760405163b398979f60e01b815260040160405180910390fd5b6060826128735761286e826128ba565b61216b565b815115801561288a57506001600160a01b0384163b155b156128b357604051639996b31560e01b81526001600160a01b038516600482015260240161201d565b508061216b565b8051156128c957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b03811681146128f957600080fd5b919050565b60006020828403121561291057600080fd5b61216b826128e2565b6000806040838503121561292c57600080fd5b612935836128e2565b9150612943602084016128e2565b90509250929050565b60008083601f84011261295e57600080fd5b5081356001600160401b0381111561297557600080fd5b60208301915083602082850101111561298d57600080fd5b9250929050565b801515811461202f57600080fd5b60008060008060008060a087890312156129bb57600080fd5b6129c4876128e2565b955060208701356001600160401b038111156129df57600080fd5b6129eb89828a0161294c565b90965094506129fe9050604088016128e2565b92506060870135612a0e81612994565b91506080870135612a1e81612994565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612a5557600080fd5b612a5e836128e2565b915060208301356001600160401b0380821115612a7a57600080fd5b818501915085601f830112612a8e57600080fd5b813581811115612aa057612aa0612a2c565b604051601f8201601f19908116603f01168101908382118183101715612ac857612ac8612a2c565b81604052828152886020848701011115612ae157600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215612b1557600080fd5b5035919050565b60008060008060008060008060c0898b031215612b3857600080fd5b612b41896128e2565b975060208901356001600160401b0380821115612b5d57600080fd5b612b698c838d0161294c565b909950975060408b0135915080821115612b8257600080fd5b50612b8f8b828c0161294c565b9096509450612ba2905060608a016128e2565b92506080890135612bb281612994565b915060a0890135612bc281612994565b809150509295985092959890939650565b600080600080600060608688031215612beb57600080fd5b85356001600160401b0380821115612c0257600080fd5b612c0e89838a0161294c565b90975095506020880135915080821115612c2757600080fd5b50612c348882890161294c565b9094509250612c479050604087016128e2565b90509295509295909350565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6020815260008251806020840152612c96816040850160208701612c53565b601f01601f19169190910160400192915050565b60008060408385031215612cbd57600080fd5b612cc6836128e2565b946020939093013593505050565b60008060008060008060006080888a031215612cef57600080fd5b87356001600160401b0380821115612d0657600080fd5b612d128b838c0161294c565b909950975060208a0135915080821115612d2b57600080fd5b612d378b838c0161294c565b909750955060408a0135915080821115612d5057600080fd5b50612d5d8a828b0161294c565b9094509250612d709050606089016128e2565b905092959891949750929550565b600060208284031215612d9057600080fd5b813561216b81612994565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b60ff828116828216039081111561219757612197612dab565b600060208284031215612dec57600080fd5b815161216b81612994565b8082018082111561219757612197612dab565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a081526000612e4760a08301898b612e0a565b8281036020840152612e5a81888a612e0a565b9515156040840152505091151560608301521515608090910152949350505050565b604081526000612e90604083018587612e0a565b90508215156020830152949350505050565b8181038181111561219757612197612dab565b608081526000612ec960808301898b612e0a565b8281036020840152612edc81888a612e0a565b90508281036040840152612ef1818688612e0a565b915050821515606083015298975050505050505050565b600060208284031215612f1a57600080fd5b5051919050565b808202811582820484141761219757612197612dab565b600082612f5557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160c01b03818116838216019080821115612f7a57612f7a612dab565b5092915050565b60008251612f93818460208701612c53565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d4746df9891b4f88c00afdfb6e5a36a46c189047a7745e426765b49038d6dcca64736f6c63430008180033",
1341
+ "deployedBytecode": "0x6080604052600436106102665760003560e01c8063720e586f11610144578063bbb2fe7c116100b6578063dbb24ff51161007a578063dbb24ff5146107e2578063dc06300c14610802578063e074bb4714610822578063ebf77de014610842578063f2292f0914610862578063f2fde38b1461088257600080fd5b8063bbb2fe7c14610722578063c5f0a58f14610742578063cd564ccd14610769578063ced72f87146107a6578063d1578687146107c457600080fd5b8063a3a336bf11610108578063a3a336bf146105de578063ac637c7a1461064d578063ad3cb1cc1461066d578063ae39279f146106ab578063b187bd26146106e3578063b85a35d21461070257600080fd5b8063720e586f1461054f5780638456cb591461056f5780638da5cb5b14610584578063931e0238146105995780639ded51dd146105b957600080fd5b80634a4e3bd5116101dd57806355bfc81c116101a157806355bfc81c14610499578063573321bb146104b957806358545014146104d95780635c975abb146104f957806369fe0e2d1461051a578063715018a61461053a57600080fd5b80634a4e3bd5146104265780634b0b1b8b1461043b5780634f1ef2861461045057806350f1c94f1461046357806352d1902d1461048457600080fd5b8063285298af1161022f578063285298af1461035a5780632fad573e1461037a578063358cbf0a1461039a5780633f4ba83a146103af5780633ff5aecd146103c4578063485cc9551461040657600080fd5b80620270a41461026b57806311eac8551461028d5780631f9838b5146102ca57806321241dfe1461031557806327fe3a031461033a575b600080fd5b34801561027757600080fd5b5061028b6102863660046128fe565b6108a2565b005b34801561029957600080fd5b506000546102ad906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102d657600080fd5b506103056102e5366004612919565b600560209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016102c1565b34801561032157600080fd5b5061032c624f1a0081565b6040519081526020016102c1565b34801561034657600080fd5b5061028b6103553660046129a2565b61095a565b34801561036657600080fd5b5061032c6103753660046128fe565b610a56565b34801561038657600080fd5b5061028b6103953660046129a2565b610a86565b3480156103a657600080fd5b5061028b610b68565b3480156103bb57600080fd5b5061028b610ce8565b3480156103d057600080fd5b506103f46103df3660046128fe565b60046020526000908152604090205460ff1681565b60405160ff90911681526020016102c1565b34801561041257600080fd5b5061028b610421366004612919565b610d52565b34801561043257600080fd5b5061028b610ec2565b34801561044757600080fd5b5061028b610f2c565b61028b61045e366004612a42565b6110e9565b34801561046f57600080fd5b5060025461030590600160901b900460ff1681565b34801561049057600080fd5b5061032c611108565b3480156104a557600080fd5b5061028b6104b4366004612b03565b611125565b3480156104c557600080fd5b5061028b6104d4366004612b1c565b6111e2565b3480156104e557600080fd5b5061028b6104f43660046128fe565b6112ca565b34801561050557600080fd5b5060025461030590600160881b900460ff1681565b34801561052657600080fd5b5061028b610535366004612b03565b61137a565b34801561054657600080fd5b5061028b61142e565b34801561055b57600080fd5b5061028b61056a3660046128fe565b611442565b34801561057b57600080fd5b5061028b611577565b34801561059057600080fd5b506102ad611765565b3480156105a557600080fd5b5061028b6105b4366004612bd3565b611793565b3480156105c557600080fd5b50600154600160801b90046001600160801b031661032c565b3480156105ea57600080fd5b506106266105f93660046128fe565b6003602052600090815260409020546001600160c01b03811690600160c01b90046001600160401b031682565b604080516001600160c01b0390931683526001600160401b039091166020830152016102c1565b34801561065957600080fd5b5061028b6106683660046128fe565b61187f565b34801561067957600080fd5b5061069e604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516102c19190612c77565b3480156106b757600080fd5b506001546106cb906001600160801b031681565b6040516001600160801b0390911681526020016102c1565b3480156106ef57600080fd5b50600254600160881b900460ff16610305565b34801561070e57600080fd5b5061028b61071d3660046128fe565b611a17565b34801561072e57600080fd5b5061028b61073d366004612caa565b611ac2565b34801561074e57600080fd5b506001546106cb90600160801b90046001600160801b031681565b34801561077557600080fd5b506107896107843660046128fe565b611bad565b6040805193845260208401929092521515908201526060016102c1565b3480156107b257600080fd5b506001546001600160801b031661032c565b3480156107d057600080fd5b506002546001600160801b031661032c565b3480156107ee57600080fd5b5061028b6107fd366004612cd4565b611c17565b34801561080e57600080fd5b5061028b61081d366004612d7e565b611cf5565b34801561082e57600080fd5b5061028b61083d3660046128fe565b611d55565b34801561084e57600080fd5b5061028b61085d3660046128fe565b611dfd565b34801561086e57600080fd5b506002546106cb906001600160801b031681565b34801561088e57600080fd5b5061028b61089d3660046128fe565b611fef565b6108aa612032565b600254600160881b900460ff16156108d5576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166108fc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526004602052604090819020805460ff19169055517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d9061094f906064815260200190565b60405180910390a250565b600254600160801b900460ff16600103610987576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156109c4576040516306d39fcd60e41b815260040160405180910390fd5b60006109d1848885612064565b905085856040516109e3929190612d9b565b604080519182900382208515158352841515602084015283151591830191909152906001600160a01b0389169033907f180721b7b6f223ae4b7dba66723b1b9a15679d0f109ec546a60d4bdd8db442c9906060015b60405180910390a450506002805460ff60801b191690555050505050565b6001600160a01b038116600090815260046020526040812054610a7d9060ff166064612dc1565b60ff1692915050565b600254600160801b900460ff16600103610ab3576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff1615610af0576040516306d39fcd60e41b815260040160405180910390fd5b6000610afd848885612064565b90508585604051610b0f929190612d9b565b604080519182900382208515158352841515602084015283151591830191909152906001600160a01b0389169033907f468ba7f8a0a9267778048805b10b0cce1c35cbb1bb04d174cb9e462ed602704590606001610a38565b610b70612032565b600254600160801b900460ff16600103610b9d576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b198116600160801b179091556001600160801b0316600003610bdb5760405163493c1ab760e01b815260040160405180910390fd5b600280546001600160801b03198116909155600080546001600160801b03909216916001600160a01b031663a9059cbb610c13611765565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af1158015610c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c849190612dda565b905080610ca4576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506002805460ff60801b19169055565b610cf0612032565b600254600160881b900460ff16610d1a5760405163dcdde9dd60e01b815260040160405180910390fd5b6002805460ff60881b191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b6000610d5c612172565b805490915060ff600160401b82041615906001600160401b0316600081158015610d835750825b90506000826001600160401b03166001148015610d9f5750303b155b905081158015610dad575080155b15610dcb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610df557845460ff60401b1916600160401b1785555b6001600160a01b0387161580610e1257506001600160a01b038616155b15610e305760405163e6c4247b60e01b815260040160405180910390fd5b610e398661219d565b610e416121ae565b600080546001600160a01b0319166001600160a01b03891617905572989680000000000000000000000000000186a06001558315610eb957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610eca612032565b600254600160881b900460ff16610ef45760405163dcdde9dd60e01b815260040160405180910390fd5b6002805460ff60881b191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600254600160801b900460ff16600103610f59576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b179055336000908152600360205260408120805490916001600160c01b039091169003610fa95760405163493c1ab760e01b815260040160405180910390fd5b8054610fc990624f1a0090600160c01b90046001600160401b0316612df7565b421115610fe95760405163493c1ab760e01b815260040160405180910390fd5b8054336000818152600360205260408082208290558154905163a9059cbb60e01b815260048101939093526001600160c01b03909316602483018190529290916001600160a01b039091169063a9059cbb906044016020604051808303816000875af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110819190612dda565b9050806110a1576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a250506002805460ff60801b1916905550565b6110f16121b6565b6110fa8261225b565b6111048282612263565b5050565b6000611112612325565b50600080516020612f9e83398151915290565b61112d612032565b600254600160881b900460ff1615611158576040516306d39fcd60e41b815260040160405180910390fd5b6001600160801b0381111561118057604051634eab2ea760e11b815260040160405180910390fd5b600180546001600160801b03838116600160801b9081028284161790935560408051939092041680835260208301849052917f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600254600160801b900460ff1660010361120f576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff161561124c576040516306d39fcd60e41b815260040160405180910390fd5b6000611259848a85612064565b9050886001600160a01b0316336001600160a01b03167fda076e9b7224dce0ba5ac55d2b00f78c3f1c15703b3ef0889e9c29b132101d058a8a8a8a8989896040516112aa9796959493929190612e33565b60405180910390a350506002805460ff60801b1916905550505050505050565b600254600160801b900460ff166001036112f7576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff1615611334576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506002805460ff60801b19169055565b611382612032565b600254600160881b900460ff16156113ad576040516306d39fcd60e41b815260040160405180910390fd5b6001600160801b038111156113d557604051634eab2ea760e11b815260040160405180910390fd5b600180546001600160801b038381166001600160801b0319831617909255604080519290911680835260208301849052917f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df6130291016111d6565b611436612032565b611440600061236e565b565b61144a612032565b600254600160801b900460ff16600103611477576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790556001600160a01b0381166000908152600360205260408120805490916001600160c01b0390911690036114d05760405163493c1ab760e01b815260040160405180910390fd5b80546114f090624f1a0090600160c01b90046001600160401b0316612df7565b421161150f576040516326f6703f60e11b815260040160405180910390fd5b80546001600160a01b0383166000908152600360205260408120556001600160c01b031661153c816123df565b826001600160a01b03167fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb314481826040516110cf91815260200190565b61157f612032565b600254600160801b900460ff166001036115ac576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156115e9576040516306d39fcd60e41b815260040160405180910390fd5b6002805460ff60881b198116600160881b179091556001600160801b0316801561172c57600280546001600160801b0319169055600080546001600160a01b031663a9059cbb611637611765565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526001600160801b03851660248201526044016020604051808303816000875af115801561168c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b09190612dda565b9050801561170e576116c0611765565b6040516001600160801b03841681526001600160a01b0391909116907f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd9060200160405180910390a261172a565b600280546001600160801b0319166001600160801b0384161790555b505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1506002805460ff60801b19169055565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b600254600160801b900460ff166001036117c0576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156117fd576040516306d39fcd60e41b815260040160405180910390fd5b600061180b82600080612064565b9050838360405161181d929190612d9b565b6040518091039020336001600160a01b03167fa7f47a20cd22aaeae14c5b3df8878382b69b3c388dd7eeaa8b88dabc0de00b6488888560405161186293929190612e7c565b60405180910390a350506002805460ff60801b1916905550505050565b600254600160801b900460ff166001036118ac576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16156118e9576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381161580159061190b5750600254600160901b900460ff16155b156119d1576001546000546040516323b872dd60e01b8152336004820152306024820152600160801b9092046001600160801b031660448301819052916001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561197c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a09190612dda565b6119bd57604051634aa23e8f60e11b815260040160405180910390fd5b6119cf816001600160801b03166123df565b505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506002805460ff60801b19169055565b600254600160881b900460ff1615611a42576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116611a695760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600560209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b611aca612032565b600254600160881b900460ff1615611af5576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038216611b1c5760405163e6c4247b60e01b815260040160405180910390fd5b6064811115611b3e57604051631f3b85d360e01b815260040160405180910390fd5b611b49816064612ea2565b6001600160a01b038316600081815260046020908152604091829020805460ff191660ff95909516949094179093555183815290917fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d910160405180910390a25050565b6001600160a01b038116600090815260036020526040812080546001600160c01b03811692918291611bf390624f1a0090600160c01b90046001600160401b0316612df7565b81549093506001600160c01b031615801590611c0e57508242115b93959294505050565b600254600160801b900460ff16600103611c44576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff1615611c81576040516306d39fcd60e41b815260040160405180910390fd5b6000611c8f82600080612064565b9050336001600160a01b03167f1c5adab95a0a545c50248a1182e6e490ffd266608eff7f94596e694a5d2c6a1389898989898988604051611cd69796959493929190612eb5565b60405180910390a250506002805460ff60801b19169055505050505050565b611cfd612032565b60028054821515600160901b0260ff60901b199091161790556040517f0bb6987e633a7af841f8c4d74c699a4aa006b854376001dd6c0412f2ec13f5c190611d4a90831515815260200190565b60405180910390a150565b600254600160881b900460ff1615611d80576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116611da75760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600560209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b600254600160801b900460ff16600103611e2a576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60801b1916600160801b1790819055600160881b900460ff16611e665760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600360205260408120805490916001600160c01b039091169003611eac5760405163493c1ab760e01b815260040160405180910390fd5b80546001600160a01b038381166000818152600360205260408082208290558154905163a9059cbb60e01b815260048101939093526001600160c01b0385166024840181905294600160c01b90046001600160401b031693919291169063a9059cbb906044016020604051808303816000875af1158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f559190612dda565b90508015611fa557846001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd84604051611f9891815260200190565b60405180910390a2611fdb565b6001600160a01b03851660009081526003602052604090206001600160401b038316600160c01b026001600160c01b0385161790555b50506002805460ff60801b19169055505050565b611ff7612032565b6001600160a01b03811661202657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61202f8161236e565b50565b3361203b611765565b6001600160a01b0316146114405760405163118cdaa760e01b815233600482015260240161201d565b6000336001600160a01b038516146120ba573360009081526005602090815260408083206001600160a01b038816845290915290205460ff166120ba5760405163184d62c560e01b815260040160405180910390fd5b600254600160901b900460ff16156120d45750600161216b565b6001546000906120ee9086906001600160801b0316612451565b90508060000361210257600191505061216b565b600083612115576064600a830204612117565b815b905061212386826124b7565b6121325760009250505061216b565b83801561214757506001600160a01b03851615155b1561215b576121568583612551565b612164565b612164816123df565b6001925050505b9392505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005b92915050565b6121a56126c7565b61202f816126ec565b6114406126c7565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061223d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612231600080516020612f9e833981519152546001600160a01b031690565b6001600160a01b031614155b156114405760405163703e46dd60e11b815260040160405180910390fd5b61202f612032565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156122bd575060408051601f3d908101601f191682019092526122ba91810190612f08565b60015b6122e557604051634c9c8ce360e01b81526001600160a01b038316600482015260240161201d565b600080516020612f9e833981519152811461231657604051632a87526960e21b81526004810182905260240161201d565b61232083836126f4565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114405760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b806000036123ea5750565b6002546000906124049083906001600160801b0316612df7565b90506001600160801b0381111561242e57604051634eab2ea760e11b815260040160405180910390fd5b600280546001600160801b0319166001600160801b039290921691909117905550565b6001600160a01b03821660009081526004602052604081205460ff168082036124855750506001600160801b038116612197565b8060ff1660640361249a576000915050612197565b60646001600160801b03841660ff83830316020491505092915050565b6000816000036124c957506001612197565b6000546040516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201859052909116906323b872dd906064016020604051808303816000875af192505050801561253e575060408051601f3d908101601f1916820190925261253b91810190612dda565b60015b61254a57506000612197565b9050612197565b60006064612560600a84612f21565b61256a9190612f38565b90506001600160801b0381111561259457604051634eab2ea760e11b815260040160405180910390fd5b8060006125aa6001600160801b03831685612ea2565b90506001600160c01b038111156125d457604051634eab2ea760e11b815260040160405180910390fd5b6001600160a01b0385166000908152600360205260408120805483928392916126079084906001600160c01b0316612f5a565b82546101009290920a6001600160c01b038181021990931691831602179091556001600160a01b03881660009081526003602052604090208054909116600160c01b426001600160401b0316021790555061266a6001600160801b0384166123df565b604080516001600160c01b03831681526001600160801b03851660208201526001600160a01b038816917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a2505050505050565b6126cf61274a565b61144057604051631afcd79f60e31b815260040160405180910390fd5b611ff76126c7565b6126fd82612764565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156127425761232082826127c9565b61110461283f565b6000612754612172565b54600160401b900460ff16919050565b806001600160a01b03163b60000361279a57604051634c9c8ce360e01b81526001600160a01b038216600482015260240161201d565b600080516020612f9e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516127e69190612f81565b600060405180830381855af49150503d8060008114612821576040519150601f19603f3d011682016040523d82523d6000602084013e612826565b606091505b509150915061283685838361285e565b95945050505050565b34156114405760405163b398979f60e01b815260040160405180910390fd5b6060826128735761286e826128ba565b61216b565b815115801561288a57506001600160a01b0384163b155b156128b357604051639996b31560e01b81526001600160a01b038516600482015260240161201d565b508061216b565b8051156128c957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b03811681146128f957600080fd5b919050565b60006020828403121561291057600080fd5b61216b826128e2565b6000806040838503121561292c57600080fd5b612935836128e2565b9150612943602084016128e2565b90509250929050565b60008083601f84011261295e57600080fd5b5081356001600160401b0381111561297557600080fd5b60208301915083602082850101111561298d57600080fd5b9250929050565b801515811461202f57600080fd5b60008060008060008060a087890312156129bb57600080fd5b6129c4876128e2565b955060208701356001600160401b038111156129df57600080fd5b6129eb89828a0161294c565b90965094506129fe9050604088016128e2565b92506060870135612a0e81612994565b91506080870135612a1e81612994565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612a5557600080fd5b612a5e836128e2565b915060208301356001600160401b0380821115612a7a57600080fd5b818501915085601f830112612a8e57600080fd5b813581811115612aa057612aa0612a2c565b604051601f8201601f19908116603f01168101908382118183101715612ac857612ac8612a2c565b81604052828152886020848701011115612ae157600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215612b1557600080fd5b5035919050565b60008060008060008060008060c0898b031215612b3857600080fd5b612b41896128e2565b975060208901356001600160401b0380821115612b5d57600080fd5b612b698c838d0161294c565b909950975060408b0135915080821115612b8257600080fd5b50612b8f8b828c0161294c565b9096509450612ba2905060608a016128e2565b92506080890135612bb281612994565b915060a0890135612bc281612994565b809150509295985092959890939650565b600080600080600060608688031215612beb57600080fd5b85356001600160401b0380821115612c0257600080fd5b612c0e89838a0161294c565b90975095506020880135915080821115612c2757600080fd5b50612c348882890161294c565b9094509250612c479050604087016128e2565b90509295509295909350565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6020815260008251806020840152612c96816040850160208701612c53565b601f01601f19169190910160400192915050565b60008060408385031215612cbd57600080fd5b612cc6836128e2565b946020939093013593505050565b60008060008060008060006080888a031215612cef57600080fd5b87356001600160401b0380821115612d0657600080fd5b612d128b838c0161294c565b909950975060208a0135915080821115612d2b57600080fd5b612d378b838c0161294c565b909750955060408a0135915080821115612d5057600080fd5b50612d5d8a828b0161294c565b9094509250612d709050606089016128e2565b905092959891949750929550565b600060208284031215612d9057600080fd5b813561216b81612994565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b60ff828116828216039081111561219757612197612dab565b600060208284031215612dec57600080fd5b815161216b81612994565b8082018082111561219757612197612dab565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a081526000612e4760a08301898b612e0a565b8281036020840152612e5a81888a612e0a565b9515156040840152505091151560608301521515608090910152949350505050565b604081526000612e90604083018587612e0a565b90508215156020830152949350505050565b8181038181111561219757612197612dab565b608081526000612ec960808301898b612e0a565b8281036020840152612edc81888a612e0a565b90508281036040840152612ef1818688612e0a565b915050821515606083015298975050505050505050565b600060208284031215612f1a57600080fd5b5051919050565b808202811582820484141761219757612197612dab565b600082612f5557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160c01b03818116838216019080821115612f7a57612f7a612dab565b5092915050565b60008251612f93818460208701612c53565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d4746df9891b4f88c00afdfb6e5a36a46c189047a7745e426765b49038d6dcca64736f6c63430008180033",
1116
1342
  "linkReferences": {},
1117
1343
  "deployedLinkReferences": {}
1118
1344
  }
@@ -1120,18 +1346,18 @@ export interface Mailer$Type {
1120
1346
  declare module "@nomicfoundation/hardhat-viem/types" {
1121
1347
  export function deployContract(
1122
1348
  contractName: "Mailer",
1123
- constructorArgs: [_usdcToken: AbiParameterToPrimitiveType<{"name":"_usdcToken","type":"address"}>, _owner: AbiParameterToPrimitiveType<{"name":"_owner","type":"address"}>],
1349
+ constructorArgs?: [],
1124
1350
  config?: DeployContractConfig
1125
1351
  ): Promise<GetContractReturnType<Mailer$Type["abi"]>>;
1126
1352
  export function deployContract(
1127
1353
  contractName: "contracts/Mailer.sol:Mailer",
1128
- constructorArgs: [_usdcToken: AbiParameterToPrimitiveType<{"name":"_usdcToken","type":"address"}>, _owner: AbiParameterToPrimitiveType<{"name":"_owner","type":"address"}>],
1354
+ constructorArgs?: [],
1129
1355
  config?: DeployContractConfig
1130
1356
  ): Promise<GetContractReturnType<Mailer$Type["abi"]>>;
1131
1357
 
1132
1358
  export function sendDeploymentTransaction(
1133
1359
  contractName: "Mailer",
1134
- constructorArgs: [_usdcToken: AbiParameterToPrimitiveType<{"name":"_usdcToken","type":"address"}>, _owner: AbiParameterToPrimitiveType<{"name":"_owner","type":"address"}>],
1360
+ constructorArgs?: [],
1135
1361
  config?: SendDeploymentTransactionConfig
1136
1362
  ): Promise<{
1137
1363
  contract: GetContractReturnType<Mailer$Type["abi"]>;
@@ -1139,7 +1365,7 @@ declare module "@nomicfoundation/hardhat-viem/types" {
1139
1365
  }>;
1140
1366
  export function sendDeploymentTransaction(
1141
1367
  contractName: "contracts/Mailer.sol:Mailer",
1142
- constructorArgs: [_usdcToken: AbiParameterToPrimitiveType<{"name":"_usdcToken","type":"address"}>, _owner: AbiParameterToPrimitiveType<{"name":"_owner","type":"address"}>],
1368
+ constructorArgs?: [],
1143
1369
  config?: SendDeploymentTransactionConfig
1144
1370
  ): Promise<{
1145
1371
  contract: GetContractReturnType<Mailer$Type["abi"]>;
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/4fcced1fd738eff4fabf1ecfe3b38139.json"
3
+ "buildInfo": "../../build-info/2da7cd0c9ae8ee974b644653d804e963.json"
4
4
  }