@sudobility/contracts 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/README.md +353 -0
  2. package/artifacts/contracts/Mailer.sol/Mailer.d.ts +1146 -0
  3. package/artifacts/contracts/Mailer.sol/Mailer.dbg.json +4 -0
  4. package/artifacts/contracts/Mailer.sol/Mailer.json +1096 -0
  5. package/artifacts/contracts/Mailer.sol/artifacts.d.ts +21 -0
  6. package/artifacts/contracts/MockUSDC.sol/MockUSDC.d.ts +284 -0
  7. package/artifacts/contracts/MockUSDC.sol/MockUSDC.dbg.json +4 -0
  8. package/artifacts/contracts/MockUSDC.sol/MockUSDC.json +234 -0
  9. package/artifacts/contracts/MockUSDC.sol/artifacts.d.ts +21 -0
  10. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.d.ts +157 -0
  11. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.dbg.json +4 -0
  12. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.json +107 -0
  13. package/artifacts/contracts/interfaces/IERC20.sol/artifacts.d.ts +21 -0
  14. package/dist/evm/src/evm/index.d.ts +4 -0
  15. package/dist/evm/src/evm/index.d.ts.map +1 -0
  16. package/dist/evm/src/evm/index.js +10 -0
  17. package/dist/evm/src/evm/index.js.map +1 -0
  18. package/dist/evm/src/evm/mailer-client.d.ts +966 -0
  19. package/dist/evm/src/evm/mailer-client.d.ts.map +1 -0
  20. package/dist/evm/src/evm/mailer-client.js +619 -0
  21. package/dist/evm/src/evm/mailer-client.js.map +1 -0
  22. package/dist/evm/typechain-types/Mailer.d.ts +698 -0
  23. package/dist/evm/typechain-types/Mailer.d.ts.map +1 -0
  24. package/dist/evm/typechain-types/Mailer.js +3 -0
  25. package/dist/evm/typechain-types/Mailer.js.map +1 -0
  26. package/dist/evm/typechain-types/MockUSDC.d.ts +118 -0
  27. package/dist/evm/typechain-types/MockUSDC.d.ts.map +1 -0
  28. package/dist/evm/typechain-types/MockUSDC.js +3 -0
  29. package/dist/evm/typechain-types/MockUSDC.js.map +1 -0
  30. package/dist/evm/typechain-types/common.d.ts +51 -0
  31. package/dist/evm/typechain-types/common.d.ts.map +1 -0
  32. package/dist/evm/typechain-types/common.js +3 -0
  33. package/dist/evm/typechain-types/common.js.map +1 -0
  34. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts +875 -0
  35. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts.map +1 -0
  36. package/dist/evm/typechain-types/factories/Mailer__factory.js +1125 -0
  37. package/dist/evm/typechain-types/factories/Mailer__factory.js.map +1 -0
  38. package/dist/evm/typechain-types/factories/MockUSDC__factory.d.ts +193 -0
  39. package/dist/evm/typechain-types/factories/MockUSDC__factory.d.ts.map +1 -0
  40. package/dist/evm/typechain-types/factories/MockUSDC__factory.js +263 -0
  41. package/dist/evm/typechain-types/factories/MockUSDC__factory.js.map +1 -0
  42. package/dist/evm/typechain-types/factories/index.d.ts +4 -0
  43. package/dist/evm/typechain-types/factories/index.d.ts.map +1 -0
  44. package/dist/evm/typechain-types/factories/index.js +45 -0
  45. package/dist/evm/typechain-types/factories/index.js.map +1 -0
  46. package/dist/evm/typechain-types/factories/interfaces/IERC20__factory.d.ts +80 -0
  47. package/dist/evm/typechain-types/factories/interfaces/IERC20__factory.d.ts.map +1 -0
  48. package/dist/evm/typechain-types/factories/interfaces/IERC20__factory.js +116 -0
  49. package/dist/evm/typechain-types/factories/interfaces/IERC20__factory.js.map +1 -0
  50. package/dist/evm/typechain-types/factories/interfaces/index.d.ts +2 -0
  51. package/dist/evm/typechain-types/factories/interfaces/index.d.ts.map +1 -0
  52. package/dist/evm/typechain-types/factories/interfaces/index.js +9 -0
  53. package/dist/evm/typechain-types/factories/interfaces/index.js.map +1 -0
  54. package/dist/evm/typechain-types/index.d.ts +10 -0
  55. package/dist/evm/typechain-types/index.d.ts.map +1 -0
  56. package/dist/evm/typechain-types/index.js +44 -0
  57. package/dist/evm/typechain-types/index.js.map +1 -0
  58. package/dist/evm/typechain-types/interfaces/IERC20.d.ts +70 -0
  59. package/dist/evm/typechain-types/interfaces/IERC20.d.ts.map +1 -0
  60. package/dist/evm/typechain-types/interfaces/IERC20.js +3 -0
  61. package/dist/evm/typechain-types/interfaces/IERC20.js.map +1 -0
  62. package/dist/evm/typechain-types/interfaces/index.d.ts +2 -0
  63. package/dist/evm/typechain-types/interfaces/index.d.ts.map +1 -0
  64. package/dist/evm/typechain-types/interfaces/index.js +3 -0
  65. package/dist/evm/typechain-types/interfaces/index.js.map +1 -0
  66. package/dist/solana/solana/index.d.ts +3 -0
  67. package/dist/solana/solana/index.d.ts.map +1 -0
  68. package/dist/solana/solana/index.js +21 -0
  69. package/dist/solana/solana/index.js.map +1 -0
  70. package/dist/solana/solana/mailer-client.d.ts +282 -0
  71. package/dist/solana/solana/mailer-client.d.ts.map +1 -0
  72. package/dist/solana/solana/mailer-client.js +989 -0
  73. package/dist/solana/solana/mailer-client.js.map +1 -0
  74. package/dist/solana/solana/types.d.ts +28 -0
  75. package/dist/solana/solana/types.d.ts.map +1 -0
  76. package/dist/solana/solana/types.js +23 -0
  77. package/dist/solana/solana/types.js.map +1 -0
  78. package/dist/solana/utils/currency.d.ts +26 -0
  79. package/dist/solana/utils/currency.d.ts.map +1 -0
  80. package/dist/solana/utils/currency.js +36 -0
  81. package/dist/solana/utils/currency.js.map +1 -0
  82. package/dist/unified/package.json +3 -0
  83. package/dist/unified/src/evm/index.d.ts +4 -0
  84. package/dist/unified/src/evm/index.d.ts.map +1 -0
  85. package/dist/unified/src/evm/index.js +10 -0
  86. package/dist/unified/src/evm/index.js.map +1 -0
  87. package/dist/unified/src/evm/mailer-client.d.ts +966 -0
  88. package/dist/unified/src/evm/mailer-client.d.ts.map +1 -0
  89. package/dist/unified/src/evm/mailer-client.js +619 -0
  90. package/dist/unified/src/evm/mailer-client.js.map +1 -0
  91. package/dist/unified/src/react/context/MailerProvider.d.ts +102 -0
  92. package/dist/unified/src/react/context/MailerProvider.d.ts.map +1 -0
  93. package/dist/unified/src/react/context/MailerProvider.js +160 -0
  94. package/dist/unified/src/react/context/MailerProvider.js.map +1 -0
  95. package/dist/unified/src/react/hooks/useMailerMutations.d.ts +301 -0
  96. package/dist/unified/src/react/hooks/useMailerMutations.d.ts.map +1 -0
  97. package/dist/unified/src/react/hooks/useMailerMutations.js +417 -0
  98. package/dist/unified/src/react/hooks/useMailerMutations.js.map +1 -0
  99. package/dist/unified/src/react/hooks/useMailerQueries.d.ts +130 -0
  100. package/dist/unified/src/react/hooks/useMailerQueries.d.ts.map +1 -0
  101. package/dist/unified/src/react/hooks/useMailerQueries.js +197 -0
  102. package/dist/unified/src/react/hooks/useMailerQueries.js.map +1 -0
  103. package/dist/unified/src/react/index.d.ts +37 -0
  104. package/dist/unified/src/react/index.d.ts.map +1 -0
  105. package/dist/unified/src/react/index.js +70 -0
  106. package/dist/unified/src/react/index.js.map +1 -0
  107. package/dist/unified/src/solana/index.d.ts +3 -0
  108. package/dist/unified/src/solana/index.d.ts.map +1 -0
  109. package/dist/unified/src/solana/index.js +21 -0
  110. package/dist/unified/src/solana/index.js.map +1 -0
  111. package/dist/unified/src/solana/mailer-client.d.ts +282 -0
  112. package/dist/unified/src/solana/mailer-client.d.ts.map +1 -0
  113. package/dist/unified/src/solana/mailer-client.js +989 -0
  114. package/dist/unified/src/solana/mailer-client.js.map +1 -0
  115. package/dist/unified/src/solana/types.d.ts +28 -0
  116. package/dist/unified/src/solana/types.d.ts.map +1 -0
  117. package/dist/unified/src/solana/types.js +23 -0
  118. package/dist/unified/src/solana/types.js.map +1 -0
  119. package/dist/unified/src/unified/index.d.ts +4 -0
  120. package/dist/unified/src/unified/index.d.ts.map +1 -0
  121. package/dist/unified/src/unified/index.js +9 -0
  122. package/dist/unified/src/unified/index.js.map +1 -0
  123. package/dist/unified/src/unified/onchain-mailer-client.d.ts +173 -0
  124. package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -0
  125. package/dist/unified/src/unified/onchain-mailer-client.js +1048 -0
  126. package/dist/unified/src/unified/onchain-mailer-client.js.map +1 -0
  127. package/dist/unified/src/unified/types.d.ts +47 -0
  128. package/dist/unified/src/unified/types.d.ts.map +1 -0
  129. package/dist/unified/src/unified/types.js +3 -0
  130. package/dist/unified/src/unified/types.js.map +1 -0
  131. package/dist/unified/src/unified/wallet-detector.d.ts +28 -0
  132. package/dist/unified/src/unified/wallet-detector.d.ts.map +1 -0
  133. package/dist/unified/src/unified/wallet-detector.js +63 -0
  134. package/dist/unified/src/unified/wallet-detector.js.map +1 -0
  135. package/dist/unified/src/utils/chain-config.d.ts +75 -0
  136. package/dist/unified/src/utils/chain-config.d.ts.map +1 -0
  137. package/dist/unified/src/utils/chain-config.js +203 -0
  138. package/dist/unified/src/utils/chain-config.js.map +1 -0
  139. package/dist/unified/src/utils/currency.d.ts +26 -0
  140. package/dist/unified/src/utils/currency.d.ts.map +1 -0
  141. package/dist/unified/src/utils/currency.js +36 -0
  142. package/dist/unified/src/utils/currency.js.map +1 -0
  143. package/dist/unified/src/utils/index.d.ts +4 -0
  144. package/dist/unified/src/utils/index.d.ts.map +1 -0
  145. package/dist/unified/src/utils/index.js +20 -0
  146. package/dist/unified/src/utils/index.js.map +1 -0
  147. package/dist/unified/src/utils/validation.d.ts +10 -0
  148. package/dist/unified/src/utils/validation.d.ts.map +1 -0
  149. package/dist/unified/src/utils/validation.js +102 -0
  150. package/dist/unified/src/utils/validation.js.map +1 -0
  151. package/dist/unified/typechain-types/Mailer.d.ts +698 -0
  152. package/dist/unified/typechain-types/Mailer.d.ts.map +1 -0
  153. package/dist/unified/typechain-types/Mailer.js +3 -0
  154. package/dist/unified/typechain-types/Mailer.js.map +1 -0
  155. package/dist/unified/typechain-types/MockUSDC.d.ts +118 -0
  156. package/dist/unified/typechain-types/MockUSDC.d.ts.map +1 -0
  157. package/dist/unified/typechain-types/MockUSDC.js +3 -0
  158. package/dist/unified/typechain-types/MockUSDC.js.map +1 -0
  159. package/dist/unified/typechain-types/common.d.ts +51 -0
  160. package/dist/unified/typechain-types/common.d.ts.map +1 -0
  161. package/dist/unified/typechain-types/common.js +3 -0
  162. package/dist/unified/typechain-types/common.js.map +1 -0
  163. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts +875 -0
  164. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts.map +1 -0
  165. package/dist/unified/typechain-types/factories/Mailer__factory.js +1125 -0
  166. package/dist/unified/typechain-types/factories/Mailer__factory.js.map +1 -0
  167. package/dist/unified/typechain-types/factories/MockUSDC__factory.d.ts +193 -0
  168. package/dist/unified/typechain-types/factories/MockUSDC__factory.d.ts.map +1 -0
  169. package/dist/unified/typechain-types/factories/MockUSDC__factory.js +263 -0
  170. package/dist/unified/typechain-types/factories/MockUSDC__factory.js.map +1 -0
  171. package/dist/unified/typechain-types/factories/index.d.ts +4 -0
  172. package/dist/unified/typechain-types/factories/index.d.ts.map +1 -0
  173. package/dist/unified/typechain-types/factories/index.js +45 -0
  174. package/dist/unified/typechain-types/factories/index.js.map +1 -0
  175. package/dist/unified/typechain-types/factories/interfaces/IERC20__factory.d.ts +80 -0
  176. package/dist/unified/typechain-types/factories/interfaces/IERC20__factory.d.ts.map +1 -0
  177. package/dist/unified/typechain-types/factories/interfaces/IERC20__factory.js +116 -0
  178. package/dist/unified/typechain-types/factories/interfaces/IERC20__factory.js.map +1 -0
  179. package/dist/unified/typechain-types/factories/interfaces/index.d.ts +2 -0
  180. package/dist/unified/typechain-types/factories/interfaces/index.d.ts.map +1 -0
  181. package/dist/unified/typechain-types/factories/interfaces/index.js +9 -0
  182. package/dist/unified/typechain-types/factories/interfaces/index.js.map +1 -0
  183. package/dist/unified/typechain-types/index.d.ts +10 -0
  184. package/dist/unified/typechain-types/index.d.ts.map +1 -0
  185. package/dist/unified/typechain-types/index.js +44 -0
  186. package/dist/unified/typechain-types/index.js.map +1 -0
  187. package/dist/unified/typechain-types/interfaces/IERC20.d.ts +70 -0
  188. package/dist/unified/typechain-types/interfaces/IERC20.d.ts.map +1 -0
  189. package/dist/unified/typechain-types/interfaces/IERC20.js +3 -0
  190. package/dist/unified/typechain-types/interfaces/IERC20.js.map +1 -0
  191. package/dist/unified/typechain-types/interfaces/index.d.ts +2 -0
  192. package/dist/unified/typechain-types/interfaces/index.d.ts.map +1 -0
  193. package/dist/unified/typechain-types/interfaces/index.js +3 -0
  194. package/dist/unified/typechain-types/interfaces/index.js.map +1 -0
  195. package/dist/unified-esm/src/evm/index.d.ts +4 -0
  196. package/dist/unified-esm/src/evm/index.d.ts.map +1 -0
  197. package/dist/unified-esm/src/evm/index.js +5 -0
  198. package/dist/unified-esm/src/evm/index.js.map +1 -0
  199. package/dist/unified-esm/src/evm/mailer-client.d.ts +966 -0
  200. package/dist/unified-esm/src/evm/mailer-client.d.ts.map +1 -0
  201. package/dist/unified-esm/src/evm/mailer-client.js +615 -0
  202. package/dist/unified-esm/src/evm/mailer-client.js.map +1 -0
  203. package/dist/unified-esm/src/react/context/MailerProvider.d.ts +102 -0
  204. package/dist/unified-esm/src/react/context/MailerProvider.d.ts.map +1 -0
  205. package/dist/unified-esm/src/react/context/MailerProvider.js +120 -0
  206. package/dist/unified-esm/src/react/context/MailerProvider.js.map +1 -0
  207. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts +301 -0
  208. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts.map +1 -0
  209. package/dist/unified-esm/src/react/hooks/useMailerMutations.js +400 -0
  210. package/dist/unified-esm/src/react/hooks/useMailerMutations.js.map +1 -0
  211. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts +130 -0
  212. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts.map +1 -0
  213. package/dist/unified-esm/src/react/hooks/useMailerQueries.js +186 -0
  214. package/dist/unified-esm/src/react/hooks/useMailerQueries.js.map +1 -0
  215. package/dist/unified-esm/src/react/index.d.ts +37 -0
  216. package/dist/unified-esm/src/react/index.d.ts.map +1 -0
  217. package/dist/unified-esm/src/react/index.js +39 -0
  218. package/dist/unified-esm/src/react/index.js.map +1 -0
  219. package/dist/unified-esm/src/solana/index.d.ts +3 -0
  220. package/dist/unified-esm/src/solana/index.d.ts.map +1 -0
  221. package/dist/unified-esm/src/solana/index.js +3 -0
  222. package/dist/unified-esm/src/solana/index.js.map +1 -0
  223. package/dist/unified-esm/src/solana/mailer-client.d.ts +282 -0
  224. package/dist/unified-esm/src/solana/mailer-client.d.ts.map +1 -0
  225. package/dist/unified-esm/src/solana/mailer-client.js +985 -0
  226. package/dist/unified-esm/src/solana/mailer-client.js.map +1 -0
  227. package/dist/unified-esm/src/solana/types.d.ts +28 -0
  228. package/dist/unified-esm/src/solana/types.d.ts.map +1 -0
  229. package/dist/unified-esm/src/solana/types.js +16 -0
  230. package/dist/unified-esm/src/solana/types.js.map +1 -0
  231. package/dist/unified-esm/src/unified/index.d.ts +4 -0
  232. package/dist/unified-esm/src/unified/index.d.ts.map +1 -0
  233. package/dist/unified-esm/src/unified/index.js +4 -0
  234. package/dist/unified-esm/src/unified/index.js.map +1 -0
  235. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts +173 -0
  236. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts.map +1 -0
  237. package/dist/unified-esm/src/unified/onchain-mailer-client.js +1011 -0
  238. package/dist/unified-esm/src/unified/onchain-mailer-client.js.map +1 -0
  239. package/dist/unified-esm/src/unified/types.d.ts +47 -0
  240. package/dist/unified-esm/src/unified/types.d.ts.map +1 -0
  241. package/dist/unified-esm/src/unified/types.js +2 -0
  242. package/dist/unified-esm/src/unified/types.js.map +1 -0
  243. package/dist/unified-esm/src/unified/wallet-detector.d.ts +28 -0
  244. package/dist/unified-esm/src/unified/wallet-detector.d.ts.map +1 -0
  245. package/dist/unified-esm/src/unified/wallet-detector.js +59 -0
  246. package/dist/unified-esm/src/unified/wallet-detector.js.map +1 -0
  247. package/dist/unified-esm/src/utils/chain-config.d.ts +75 -0
  248. package/dist/unified-esm/src/utils/chain-config.d.ts.map +1 -0
  249. package/dist/unified-esm/src/utils/chain-config.js +199 -0
  250. package/dist/unified-esm/src/utils/chain-config.js.map +1 -0
  251. package/dist/unified-esm/src/utils/currency.d.ts +26 -0
  252. package/dist/unified-esm/src/utils/currency.d.ts.map +1 -0
  253. package/dist/unified-esm/src/utils/currency.js +31 -0
  254. package/dist/unified-esm/src/utils/currency.js.map +1 -0
  255. package/dist/unified-esm/src/utils/index.d.ts +4 -0
  256. package/dist/unified-esm/src/utils/index.d.ts.map +1 -0
  257. package/dist/unified-esm/src/utils/index.js +4 -0
  258. package/dist/unified-esm/src/utils/index.js.map +1 -0
  259. package/dist/unified-esm/src/utils/validation.d.ts +10 -0
  260. package/dist/unified-esm/src/utils/validation.d.ts.map +1 -0
  261. package/dist/unified-esm/src/utils/validation.js +96 -0
  262. package/dist/unified-esm/src/utils/validation.js.map +1 -0
  263. package/dist/unified-esm/typechain-types/Mailer.d.ts +698 -0
  264. package/dist/unified-esm/typechain-types/Mailer.d.ts.map +1 -0
  265. package/dist/unified-esm/typechain-types/Mailer.js +2 -0
  266. package/dist/unified-esm/typechain-types/Mailer.js.map +1 -0
  267. package/dist/unified-esm/typechain-types/MockUSDC.d.ts +118 -0
  268. package/dist/unified-esm/typechain-types/MockUSDC.d.ts.map +1 -0
  269. package/dist/unified-esm/typechain-types/MockUSDC.js +2 -0
  270. package/dist/unified-esm/typechain-types/MockUSDC.js.map +1 -0
  271. package/dist/unified-esm/typechain-types/common.d.ts +51 -0
  272. package/dist/unified-esm/typechain-types/common.d.ts.map +1 -0
  273. package/dist/unified-esm/typechain-types/common.js +2 -0
  274. package/dist/unified-esm/typechain-types/common.js.map +1 -0
  275. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts +875 -0
  276. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts.map +1 -0
  277. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js +1121 -0
  278. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js.map +1 -0
  279. package/dist/unified-esm/typechain-types/factories/MockUSDC__factory.d.ts +193 -0
  280. package/dist/unified-esm/typechain-types/factories/MockUSDC__factory.d.ts.map +1 -0
  281. package/dist/unified-esm/typechain-types/factories/MockUSDC__factory.js +259 -0
  282. package/dist/unified-esm/typechain-types/factories/MockUSDC__factory.js.map +1 -0
  283. package/dist/unified-esm/typechain-types/factories/index.d.ts +4 -0
  284. package/dist/unified-esm/typechain-types/factories/index.d.ts.map +1 -0
  285. package/dist/unified-esm/typechain-types/factories/index.js +7 -0
  286. package/dist/unified-esm/typechain-types/factories/index.js.map +1 -0
  287. package/dist/unified-esm/typechain-types/factories/interfaces/IERC20__factory.d.ts +80 -0
  288. package/dist/unified-esm/typechain-types/factories/interfaces/IERC20__factory.d.ts.map +1 -0
  289. package/dist/unified-esm/typechain-types/factories/interfaces/IERC20__factory.js +112 -0
  290. package/dist/unified-esm/typechain-types/factories/interfaces/IERC20__factory.js.map +1 -0
  291. package/dist/unified-esm/typechain-types/factories/interfaces/index.d.ts +2 -0
  292. package/dist/unified-esm/typechain-types/factories/interfaces/index.d.ts.map +1 -0
  293. package/dist/unified-esm/typechain-types/factories/interfaces/index.js +5 -0
  294. package/dist/unified-esm/typechain-types/factories/interfaces/index.js.map +1 -0
  295. package/dist/unified-esm/typechain-types/index.d.ts +10 -0
  296. package/dist/unified-esm/typechain-types/index.d.ts.map +1 -0
  297. package/dist/unified-esm/typechain-types/index.js +5 -0
  298. package/dist/unified-esm/typechain-types/index.js.map +1 -0
  299. package/dist/unified-esm/typechain-types/interfaces/IERC20.d.ts +70 -0
  300. package/dist/unified-esm/typechain-types/interfaces/IERC20.d.ts.map +1 -0
  301. package/dist/unified-esm/typechain-types/interfaces/IERC20.js +2 -0
  302. package/dist/unified-esm/typechain-types/interfaces/IERC20.js.map +1 -0
  303. package/dist/unified-esm/typechain-types/interfaces/index.d.ts +2 -0
  304. package/dist/unified-esm/typechain-types/interfaces/index.d.ts.map +1 -0
  305. package/dist/unified-esm/typechain-types/interfaces/index.js +2 -0
  306. package/dist/unified-esm/typechain-types/interfaces/index.js.map +1 -0
  307. package/package.json +250 -0
  308. package/programs/mailer/Cargo.toml +29 -0
  309. package/programs/mailer/src/lib.rs +2034 -0
  310. package/programs/mailer/tests/integration_tests.rs +1236 -0
  311. package/typechain-types/Mailer.ts +1393 -0
  312. package/typechain-types/MockUSDC.ts +236 -0
  313. package/typechain-types/common.ts +131 -0
  314. package/typechain-types/factories/Mailer__factory.ts +1157 -0
  315. package/typechain-types/factories/MockUSDC__factory.ts +284 -0
  316. package/typechain-types/factories/index.ts +6 -0
  317. package/typechain-types/factories/interfaces/IERC20__factory.ts +115 -0
  318. package/typechain-types/factories/interfaces/index.ts +4 -0
  319. package/typechain-types/hardhat.d.ts +99 -0
  320. package/typechain-types/index.ts +12 -0
  321. package/typechain-types/interfaces/IERC20.ts +148 -0
  322. package/typechain-types/interfaces/index.ts +4 -0
@@ -0,0 +1,1157 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type {
11
+ Signer,
12
+ AddressLike,
13
+ ContractDeployTransaction,
14
+ ContractRunner,
15
+ } from "ethers";
16
+ import type { NonPayableOverrides } from "../common";
17
+ import type { Mailer, MailerInterface } from "../Mailer";
18
+
19
+ const _abi = [
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "address",
24
+ name: "_usdcToken",
25
+ type: "address",
26
+ },
27
+ {
28
+ internalType: "address",
29
+ name: "_owner",
30
+ type: "address",
31
+ },
32
+ ],
33
+ stateMutability: "nonpayable",
34
+ type: "constructor",
35
+ },
36
+ {
37
+ inputs: [],
38
+ name: "ClaimPeriodNotExpired",
39
+ type: "error",
40
+ },
41
+ {
42
+ inputs: [],
43
+ name: "ContractIsPaused",
44
+ type: "error",
45
+ },
46
+ {
47
+ inputs: [],
48
+ name: "ContractNotPaused",
49
+ type: "error",
50
+ },
51
+ {
52
+ inputs: [],
53
+ name: "FeePaymentRequired",
54
+ type: "error",
55
+ },
56
+ {
57
+ inputs: [],
58
+ name: "InvalidAddress",
59
+ type: "error",
60
+ },
61
+ {
62
+ inputs: [],
63
+ name: "InvalidPercentage",
64
+ type: "error",
65
+ },
66
+ {
67
+ inputs: [],
68
+ name: "MathOverflow",
69
+ type: "error",
70
+ },
71
+ {
72
+ inputs: [],
73
+ name: "NoClaimableAmount",
74
+ type: "error",
75
+ },
76
+ {
77
+ inputs: [],
78
+ name: "OnlyOwner",
79
+ type: "error",
80
+ },
81
+ {
82
+ inputs: [],
83
+ name: "ReentrancyGuard",
84
+ type: "error",
85
+ },
86
+ {
87
+ inputs: [],
88
+ name: "TransferFailed",
89
+ type: "error",
90
+ },
91
+ {
92
+ inputs: [],
93
+ name: "UnpermittedPayer",
94
+ type: "error",
95
+ },
96
+ {
97
+ anonymous: false,
98
+ inputs: [],
99
+ name: "ContractPaused",
100
+ type: "event",
101
+ },
102
+ {
103
+ anonymous: false,
104
+ inputs: [],
105
+ name: "ContractUnpaused",
106
+ type: "event",
107
+ },
108
+ {
109
+ anonymous: false,
110
+ inputs: [
111
+ {
112
+ indexed: true,
113
+ internalType: "address",
114
+ name: "account",
115
+ type: "address",
116
+ },
117
+ {
118
+ indexed: false,
119
+ internalType: "uint256",
120
+ name: "percentage",
121
+ type: "uint256",
122
+ },
123
+ ],
124
+ name: "CustomFeePercentageSet",
125
+ type: "event",
126
+ },
127
+ {
128
+ anonymous: false,
129
+ inputs: [
130
+ {
131
+ indexed: false,
132
+ internalType: "uint256",
133
+ name: "oldFee",
134
+ type: "uint256",
135
+ },
136
+ {
137
+ indexed: false,
138
+ internalType: "uint256",
139
+ name: "newFee",
140
+ type: "uint256",
141
+ },
142
+ ],
143
+ name: "DelegationFeeUpdated",
144
+ type: "event",
145
+ },
146
+ {
147
+ anonymous: false,
148
+ inputs: [
149
+ {
150
+ indexed: true,
151
+ internalType: "address",
152
+ name: "delegator",
153
+ type: "address",
154
+ },
155
+ {
156
+ indexed: true,
157
+ internalType: "address",
158
+ name: "delegate",
159
+ type: "address",
160
+ },
161
+ ],
162
+ name: "DelegationSet",
163
+ type: "event",
164
+ },
165
+ {
166
+ anonymous: false,
167
+ inputs: [],
168
+ name: "EmergencyUnpaused",
169
+ type: "event",
170
+ },
171
+ {
172
+ anonymous: false,
173
+ inputs: [
174
+ {
175
+ indexed: true,
176
+ internalType: "address",
177
+ name: "recipient",
178
+ type: "address",
179
+ },
180
+ {
181
+ indexed: false,
182
+ internalType: "uint256",
183
+ name: "amount",
184
+ type: "uint256",
185
+ },
186
+ ],
187
+ name: "ExpiredSharesClaimed",
188
+ type: "event",
189
+ },
190
+ {
191
+ anonymous: false,
192
+ inputs: [
193
+ {
194
+ indexed: false,
195
+ internalType: "uint256",
196
+ name: "oldFee",
197
+ type: "uint256",
198
+ },
199
+ {
200
+ indexed: false,
201
+ internalType: "uint256",
202
+ name: "newFee",
203
+ type: "uint256",
204
+ },
205
+ ],
206
+ name: "FeeUpdated",
207
+ type: "event",
208
+ },
209
+ {
210
+ anonymous: false,
211
+ inputs: [
212
+ {
213
+ indexed: true,
214
+ internalType: "address",
215
+ name: "recipient",
216
+ type: "address",
217
+ },
218
+ {
219
+ indexed: false,
220
+ internalType: "uint256",
221
+ name: "amount",
222
+ type: "uint256",
223
+ },
224
+ ],
225
+ name: "FundsDistributed",
226
+ type: "event",
227
+ },
228
+ {
229
+ anonymous: false,
230
+ inputs: [
231
+ {
232
+ indexed: true,
233
+ internalType: "address",
234
+ name: "from",
235
+ type: "address",
236
+ },
237
+ {
238
+ indexed: true,
239
+ internalType: "address",
240
+ name: "to",
241
+ type: "address",
242
+ },
243
+ {
244
+ indexed: false,
245
+ internalType: "string",
246
+ name: "subject",
247
+ type: "string",
248
+ },
249
+ {
250
+ indexed: false,
251
+ internalType: "string",
252
+ name: "body",
253
+ type: "string",
254
+ },
255
+ {
256
+ indexed: false,
257
+ internalType: "bool",
258
+ name: "revenueShareToReceiver",
259
+ type: "bool",
260
+ },
261
+ {
262
+ indexed: false,
263
+ internalType: "bool",
264
+ name: "resolveSenderToName",
265
+ type: "bool",
266
+ },
267
+ ],
268
+ name: "MailSent",
269
+ type: "event",
270
+ },
271
+ {
272
+ anonymous: false,
273
+ inputs: [
274
+ {
275
+ indexed: true,
276
+ internalType: "address",
277
+ name: "from",
278
+ type: "address",
279
+ },
280
+ {
281
+ indexed: false,
282
+ internalType: "string",
283
+ name: "toEmail",
284
+ type: "string",
285
+ },
286
+ {
287
+ indexed: false,
288
+ internalType: "string",
289
+ name: "subject",
290
+ type: "string",
291
+ },
292
+ {
293
+ indexed: false,
294
+ internalType: "string",
295
+ name: "body",
296
+ type: "string",
297
+ },
298
+ ],
299
+ name: "MailSentToEmail",
300
+ type: "event",
301
+ },
302
+ {
303
+ anonymous: false,
304
+ inputs: [
305
+ {
306
+ indexed: false,
307
+ internalType: "uint256",
308
+ name: "amount",
309
+ type: "uint256",
310
+ },
311
+ ],
312
+ name: "OwnerClaimed",
313
+ type: "event",
314
+ },
315
+ {
316
+ anonymous: false,
317
+ inputs: [
318
+ {
319
+ indexed: true,
320
+ internalType: "address",
321
+ name: "contractAddress",
322
+ type: "address",
323
+ },
324
+ {
325
+ indexed: true,
326
+ internalType: "address",
327
+ name: "wallet",
328
+ type: "address",
329
+ },
330
+ ],
331
+ name: "PermissionGranted",
332
+ type: "event",
333
+ },
334
+ {
335
+ anonymous: false,
336
+ inputs: [
337
+ {
338
+ indexed: true,
339
+ internalType: "address",
340
+ name: "contractAddress",
341
+ type: "address",
342
+ },
343
+ {
344
+ indexed: true,
345
+ internalType: "address",
346
+ name: "wallet",
347
+ type: "address",
348
+ },
349
+ ],
350
+ name: "PermissionRevoked",
351
+ type: "event",
352
+ },
353
+ {
354
+ anonymous: false,
355
+ inputs: [
356
+ {
357
+ indexed: true,
358
+ internalType: "address",
359
+ name: "from",
360
+ type: "address",
361
+ },
362
+ {
363
+ indexed: true,
364
+ internalType: "address",
365
+ name: "to",
366
+ type: "address",
367
+ },
368
+ {
369
+ indexed: true,
370
+ internalType: "string",
371
+ name: "mailId",
372
+ type: "string",
373
+ },
374
+ {
375
+ indexed: false,
376
+ internalType: "bool",
377
+ name: "revenueShareToReceiver",
378
+ type: "bool",
379
+ },
380
+ {
381
+ indexed: false,
382
+ internalType: "bool",
383
+ name: "resolveSenderToName",
384
+ type: "bool",
385
+ },
386
+ ],
387
+ name: "PreparedMailSent",
388
+ type: "event",
389
+ },
390
+ {
391
+ anonymous: false,
392
+ inputs: [
393
+ {
394
+ indexed: true,
395
+ internalType: "address",
396
+ name: "from",
397
+ type: "address",
398
+ },
399
+ {
400
+ indexed: false,
401
+ internalType: "string",
402
+ name: "toEmail",
403
+ type: "string",
404
+ },
405
+ {
406
+ indexed: true,
407
+ internalType: "string",
408
+ name: "mailId",
409
+ type: "string",
410
+ },
411
+ ],
412
+ name: "PreparedMailSentToEmail",
413
+ type: "event",
414
+ },
415
+ {
416
+ anonymous: false,
417
+ inputs: [
418
+ {
419
+ indexed: true,
420
+ internalType: "address",
421
+ name: "recipient",
422
+ type: "address",
423
+ },
424
+ {
425
+ indexed: false,
426
+ internalType: "uint256",
427
+ name: "amount",
428
+ type: "uint256",
429
+ },
430
+ ],
431
+ name: "RecipientClaimed",
432
+ type: "event",
433
+ },
434
+ {
435
+ anonymous: false,
436
+ inputs: [
437
+ {
438
+ indexed: true,
439
+ internalType: "address",
440
+ name: "recipient",
441
+ type: "address",
442
+ },
443
+ {
444
+ indexed: false,
445
+ internalType: "uint256",
446
+ name: "recipientAmount",
447
+ type: "uint256",
448
+ },
449
+ {
450
+ indexed: false,
451
+ internalType: "uint256",
452
+ name: "ownerAmount",
453
+ type: "uint256",
454
+ },
455
+ ],
456
+ name: "SharesRecorded",
457
+ type: "event",
458
+ },
459
+ {
460
+ anonymous: false,
461
+ inputs: [
462
+ {
463
+ indexed: true,
464
+ internalType: "address",
465
+ name: "from",
466
+ type: "address",
467
+ },
468
+ {
469
+ indexed: true,
470
+ internalType: "address",
471
+ name: "to",
472
+ type: "address",
473
+ },
474
+ {
475
+ indexed: true,
476
+ internalType: "string",
477
+ name: "webhookId",
478
+ type: "string",
479
+ },
480
+ {
481
+ indexed: false,
482
+ internalType: "bool",
483
+ name: "revenueShareToReceiver",
484
+ type: "bool",
485
+ },
486
+ {
487
+ indexed: false,
488
+ internalType: "bool",
489
+ name: "resolveSenderToName",
490
+ type: "bool",
491
+ },
492
+ ],
493
+ name: "WebhookMailSent",
494
+ type: "event",
495
+ },
496
+ {
497
+ inputs: [],
498
+ name: "CLAIM_PERIOD",
499
+ outputs: [
500
+ {
501
+ internalType: "uint256",
502
+ name: "",
503
+ type: "uint256",
504
+ },
505
+ ],
506
+ stateMutability: "view",
507
+ type: "function",
508
+ },
509
+ {
510
+ inputs: [],
511
+ name: "OWNER_SHARE",
512
+ outputs: [
513
+ {
514
+ internalType: "uint256",
515
+ name: "",
516
+ type: "uint256",
517
+ },
518
+ ],
519
+ stateMutability: "view",
520
+ type: "function",
521
+ },
522
+ {
523
+ inputs: [],
524
+ name: "RECIPIENT_SHARE",
525
+ outputs: [
526
+ {
527
+ internalType: "uint256",
528
+ name: "",
529
+ type: "uint256",
530
+ },
531
+ ],
532
+ stateMutability: "view",
533
+ type: "function",
534
+ },
535
+ {
536
+ inputs: [
537
+ {
538
+ internalType: "address",
539
+ name: "recipient",
540
+ type: "address",
541
+ },
542
+ ],
543
+ name: "claimExpiredShares",
544
+ outputs: [],
545
+ stateMutability: "nonpayable",
546
+ type: "function",
547
+ },
548
+ {
549
+ inputs: [],
550
+ name: "claimOwnerShare",
551
+ outputs: [],
552
+ stateMutability: "nonpayable",
553
+ type: "function",
554
+ },
555
+ {
556
+ inputs: [],
557
+ name: "claimRecipientShare",
558
+ outputs: [],
559
+ stateMutability: "nonpayable",
560
+ type: "function",
561
+ },
562
+ {
563
+ inputs: [
564
+ {
565
+ internalType: "address",
566
+ name: "account",
567
+ type: "address",
568
+ },
569
+ ],
570
+ name: "clearCustomFeePercentage",
571
+ outputs: [],
572
+ stateMutability: "nonpayable",
573
+ type: "function",
574
+ },
575
+ {
576
+ inputs: [
577
+ {
578
+ internalType: "address",
579
+ name: "",
580
+ type: "address",
581
+ },
582
+ ],
583
+ name: "customFeeDiscount",
584
+ outputs: [
585
+ {
586
+ internalType: "uint256",
587
+ name: "",
588
+ type: "uint256",
589
+ },
590
+ ],
591
+ stateMutability: "view",
592
+ type: "function",
593
+ },
594
+ {
595
+ inputs: [
596
+ {
597
+ internalType: "address",
598
+ name: "delegate",
599
+ type: "address",
600
+ },
601
+ ],
602
+ name: "delegateTo",
603
+ outputs: [],
604
+ stateMutability: "nonpayable",
605
+ type: "function",
606
+ },
607
+ {
608
+ inputs: [],
609
+ name: "delegationFee",
610
+ outputs: [
611
+ {
612
+ internalType: "uint256",
613
+ name: "",
614
+ type: "uint256",
615
+ },
616
+ ],
617
+ stateMutability: "view",
618
+ type: "function",
619
+ },
620
+ {
621
+ inputs: [
622
+ {
623
+ internalType: "address",
624
+ name: "recipient",
625
+ type: "address",
626
+ },
627
+ ],
628
+ name: "distributeClaimableFunds",
629
+ outputs: [],
630
+ stateMutability: "nonpayable",
631
+ type: "function",
632
+ },
633
+ {
634
+ inputs: [],
635
+ name: "emergencyUnpause",
636
+ outputs: [],
637
+ stateMutability: "nonpayable",
638
+ type: "function",
639
+ },
640
+ {
641
+ inputs: [
642
+ {
643
+ internalType: "address",
644
+ name: "account",
645
+ type: "address",
646
+ },
647
+ ],
648
+ name: "getCustomFeePercentage",
649
+ outputs: [
650
+ {
651
+ internalType: "uint256",
652
+ name: "",
653
+ type: "uint256",
654
+ },
655
+ ],
656
+ stateMutability: "view",
657
+ type: "function",
658
+ },
659
+ {
660
+ inputs: [],
661
+ name: "getDelegationFee",
662
+ outputs: [
663
+ {
664
+ internalType: "uint256",
665
+ name: "",
666
+ type: "uint256",
667
+ },
668
+ ],
669
+ stateMutability: "view",
670
+ type: "function",
671
+ },
672
+ {
673
+ inputs: [],
674
+ name: "getFee",
675
+ outputs: [
676
+ {
677
+ internalType: "uint256",
678
+ name: "",
679
+ type: "uint256",
680
+ },
681
+ ],
682
+ stateMutability: "view",
683
+ type: "function",
684
+ },
685
+ {
686
+ inputs: [],
687
+ name: "getOwnerClaimable",
688
+ outputs: [
689
+ {
690
+ internalType: "uint256",
691
+ name: "",
692
+ type: "uint256",
693
+ },
694
+ ],
695
+ stateMutability: "view",
696
+ type: "function",
697
+ },
698
+ {
699
+ inputs: [
700
+ {
701
+ internalType: "address",
702
+ name: "recipient",
703
+ type: "address",
704
+ },
705
+ ],
706
+ name: "getRecipientClaimable",
707
+ outputs: [
708
+ {
709
+ internalType: "uint256",
710
+ name: "amount",
711
+ type: "uint256",
712
+ },
713
+ {
714
+ internalType: "uint256",
715
+ name: "expiresAt",
716
+ type: "uint256",
717
+ },
718
+ {
719
+ internalType: "bool",
720
+ name: "isExpired",
721
+ type: "bool",
722
+ },
723
+ ],
724
+ stateMutability: "view",
725
+ type: "function",
726
+ },
727
+ {
728
+ inputs: [],
729
+ name: "isPaused",
730
+ outputs: [
731
+ {
732
+ internalType: "bool",
733
+ name: "",
734
+ type: "bool",
735
+ },
736
+ ],
737
+ stateMutability: "view",
738
+ type: "function",
739
+ },
740
+ {
741
+ inputs: [],
742
+ name: "owner",
743
+ outputs: [
744
+ {
745
+ internalType: "address",
746
+ name: "",
747
+ type: "address",
748
+ },
749
+ ],
750
+ stateMutability: "view",
751
+ type: "function",
752
+ },
753
+ {
754
+ inputs: [],
755
+ name: "ownerClaimable",
756
+ outputs: [
757
+ {
758
+ internalType: "uint256",
759
+ name: "",
760
+ type: "uint256",
761
+ },
762
+ ],
763
+ stateMutability: "view",
764
+ type: "function",
765
+ },
766
+ {
767
+ inputs: [],
768
+ name: "pause",
769
+ outputs: [],
770
+ stateMutability: "nonpayable",
771
+ type: "function",
772
+ },
773
+ {
774
+ inputs: [],
775
+ name: "paused",
776
+ outputs: [
777
+ {
778
+ internalType: "bool",
779
+ name: "",
780
+ type: "bool",
781
+ },
782
+ ],
783
+ stateMutability: "view",
784
+ type: "function",
785
+ },
786
+ {
787
+ inputs: [
788
+ {
789
+ internalType: "address",
790
+ name: "",
791
+ type: "address",
792
+ },
793
+ {
794
+ internalType: "address",
795
+ name: "",
796
+ type: "address",
797
+ },
798
+ ],
799
+ name: "permissions",
800
+ outputs: [
801
+ {
802
+ internalType: "bool",
803
+ name: "",
804
+ type: "bool",
805
+ },
806
+ ],
807
+ stateMutability: "view",
808
+ type: "function",
809
+ },
810
+ {
811
+ inputs: [
812
+ {
813
+ internalType: "address",
814
+ name: "",
815
+ type: "address",
816
+ },
817
+ ],
818
+ name: "recipientClaims",
819
+ outputs: [
820
+ {
821
+ internalType: "uint256",
822
+ name: "amount",
823
+ type: "uint256",
824
+ },
825
+ {
826
+ internalType: "uint256",
827
+ name: "timestamp",
828
+ type: "uint256",
829
+ },
830
+ ],
831
+ stateMutability: "view",
832
+ type: "function",
833
+ },
834
+ {
835
+ inputs: [
836
+ {
837
+ internalType: "address",
838
+ name: "delegatingAddress",
839
+ type: "address",
840
+ },
841
+ ],
842
+ name: "rejectDelegation",
843
+ outputs: [],
844
+ stateMutability: "nonpayable",
845
+ type: "function",
846
+ },
847
+ {
848
+ inputs: [
849
+ {
850
+ internalType: "address",
851
+ name: "contractAddress",
852
+ type: "address",
853
+ },
854
+ ],
855
+ name: "removePermission",
856
+ outputs: [],
857
+ stateMutability: "nonpayable",
858
+ type: "function",
859
+ },
860
+ {
861
+ inputs: [
862
+ {
863
+ internalType: "address",
864
+ name: "to",
865
+ type: "address",
866
+ },
867
+ {
868
+ internalType: "string",
869
+ name: "subject",
870
+ type: "string",
871
+ },
872
+ {
873
+ internalType: "string",
874
+ name: "body",
875
+ type: "string",
876
+ },
877
+ {
878
+ internalType: "address",
879
+ name: "payer",
880
+ type: "address",
881
+ },
882
+ {
883
+ internalType: "bool",
884
+ name: "revenueShareToReceiver",
885
+ type: "bool",
886
+ },
887
+ {
888
+ internalType: "bool",
889
+ name: "resolveSenderToName",
890
+ type: "bool",
891
+ },
892
+ ],
893
+ name: "send",
894
+ outputs: [],
895
+ stateMutability: "nonpayable",
896
+ type: "function",
897
+ },
898
+ {
899
+ inputs: [],
900
+ name: "sendFee",
901
+ outputs: [
902
+ {
903
+ internalType: "uint256",
904
+ name: "",
905
+ type: "uint256",
906
+ },
907
+ ],
908
+ stateMutability: "view",
909
+ type: "function",
910
+ },
911
+ {
912
+ inputs: [
913
+ {
914
+ internalType: "address",
915
+ name: "to",
916
+ type: "address",
917
+ },
918
+ {
919
+ internalType: "string",
920
+ name: "mailId",
921
+ type: "string",
922
+ },
923
+ {
924
+ internalType: "address",
925
+ name: "payer",
926
+ type: "address",
927
+ },
928
+ {
929
+ internalType: "bool",
930
+ name: "revenueShareToReceiver",
931
+ type: "bool",
932
+ },
933
+ {
934
+ internalType: "bool",
935
+ name: "resolveSenderToName",
936
+ type: "bool",
937
+ },
938
+ ],
939
+ name: "sendPrepared",
940
+ outputs: [],
941
+ stateMutability: "nonpayable",
942
+ type: "function",
943
+ },
944
+ {
945
+ inputs: [
946
+ {
947
+ internalType: "string",
948
+ name: "toEmail",
949
+ type: "string",
950
+ },
951
+ {
952
+ internalType: "string",
953
+ name: "mailId",
954
+ type: "string",
955
+ },
956
+ {
957
+ internalType: "address",
958
+ name: "payer",
959
+ type: "address",
960
+ },
961
+ ],
962
+ name: "sendPreparedToEmailAddress",
963
+ outputs: [],
964
+ stateMutability: "nonpayable",
965
+ type: "function",
966
+ },
967
+ {
968
+ inputs: [
969
+ {
970
+ internalType: "address",
971
+ name: "to",
972
+ type: "address",
973
+ },
974
+ {
975
+ internalType: "string",
976
+ name: "webhookId",
977
+ type: "string",
978
+ },
979
+ {
980
+ internalType: "address",
981
+ name: "payer",
982
+ type: "address",
983
+ },
984
+ {
985
+ internalType: "bool",
986
+ name: "revenueShareToReceiver",
987
+ type: "bool",
988
+ },
989
+ {
990
+ internalType: "bool",
991
+ name: "resolveSenderToName",
992
+ type: "bool",
993
+ },
994
+ ],
995
+ name: "sendThroughWebhook",
996
+ outputs: [],
997
+ stateMutability: "nonpayable",
998
+ type: "function",
999
+ },
1000
+ {
1001
+ inputs: [
1002
+ {
1003
+ internalType: "string",
1004
+ name: "toEmail",
1005
+ type: "string",
1006
+ },
1007
+ {
1008
+ internalType: "string",
1009
+ name: "subject",
1010
+ type: "string",
1011
+ },
1012
+ {
1013
+ internalType: "string",
1014
+ name: "body",
1015
+ type: "string",
1016
+ },
1017
+ {
1018
+ internalType: "address",
1019
+ name: "payer",
1020
+ type: "address",
1021
+ },
1022
+ ],
1023
+ name: "sendToEmailAddress",
1024
+ outputs: [],
1025
+ stateMutability: "nonpayable",
1026
+ type: "function",
1027
+ },
1028
+ {
1029
+ inputs: [
1030
+ {
1031
+ internalType: "address",
1032
+ name: "account",
1033
+ type: "address",
1034
+ },
1035
+ {
1036
+ internalType: "uint256",
1037
+ name: "percentage",
1038
+ type: "uint256",
1039
+ },
1040
+ ],
1041
+ name: "setCustomFeePercentage",
1042
+ outputs: [],
1043
+ stateMutability: "nonpayable",
1044
+ type: "function",
1045
+ },
1046
+ {
1047
+ inputs: [
1048
+ {
1049
+ internalType: "uint256",
1050
+ name: "usdcAmount",
1051
+ type: "uint256",
1052
+ },
1053
+ ],
1054
+ name: "setDelegationFee",
1055
+ outputs: [],
1056
+ stateMutability: "nonpayable",
1057
+ type: "function",
1058
+ },
1059
+ {
1060
+ inputs: [
1061
+ {
1062
+ internalType: "uint256",
1063
+ name: "usdcAmount",
1064
+ type: "uint256",
1065
+ },
1066
+ ],
1067
+ name: "setFee",
1068
+ outputs: [],
1069
+ stateMutability: "nonpayable",
1070
+ type: "function",
1071
+ },
1072
+ {
1073
+ inputs: [
1074
+ {
1075
+ internalType: "address",
1076
+ name: "contractAddress",
1077
+ type: "address",
1078
+ },
1079
+ ],
1080
+ name: "setPermission",
1081
+ outputs: [],
1082
+ stateMutability: "nonpayable",
1083
+ type: "function",
1084
+ },
1085
+ {
1086
+ inputs: [],
1087
+ name: "unpause",
1088
+ outputs: [],
1089
+ stateMutability: "nonpayable",
1090
+ type: "function",
1091
+ },
1092
+ {
1093
+ inputs: [],
1094
+ name: "usdcToken",
1095
+ outputs: [
1096
+ {
1097
+ internalType: "contract IERC20",
1098
+ name: "",
1099
+ type: "address",
1100
+ },
1101
+ ],
1102
+ stateMutability: "view",
1103
+ type: "function",
1104
+ },
1105
+ ] as const;
1106
+
1107
+ const _bytecode =
1108
+ "0x60c0604052620186a0600055629896806001553480156200001f57600080fd5b5060405162002251380380620022518339810160408190526200004291620000b4565b6001600160a01b03821615806200006057506001600160a01b038116155b156200007f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000ec565b80516001600160a01b0381168114620000af57600080fd5b919050565b60008060408385031215620000c857600080fd5b620000d38362000097565b9150620000e36020840162000097565b90509250929050565b60805160a0516120c162000190600039600081816103df01528181610543015281816107d30152818161087d0152818161098301528181610a2401528181610c5001528181610e4801528181610ef301528181611030015281816110c80152818161117101526114e2015260008181610250015281816108af01528181610b70015281816110fa0152818161134a015281816117ff015261198901526120c16000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c80638456cb5911610130578063b85a35d2116100b8578063d15786871161007c578063d1578687146104ee578063dbb24ff5146104f6578063e074bb4714610509578063ebf77de01461051c578063f2292f091461052f57600080fd5b8063b85a35d214610487578063bbb2fe7c1461049a578063c5f0a58f146104ad578063cd564ccd146104b6578063ced72f87146104e657600080fd5b80639ded51dd116100ff5780639ded51dd1461041c578063a3a336bf14610424578063ac637c7a14610460578063ae39279f14610473578063b187bd261461047c57600080fd5b80638456cb59146103d25780638da5cb5b146103da5780638db3c5fd14610401578063931e02381461040957600080fd5b80633ff5aecd116101be578063585450141161018257806358545014146103845780635c975abb1461039757806369fe0e2d146103a45780636a1c6e78146103b7578063720e586f146103bf57600080fd5b80633ff5aecd1461032e5780634a4e3bd51461034e5780634b0b1b8b1461035657806355bfc81c1461035e578063573321bb1461037157600080fd5b806327fe3a031161020557806327fe3a03146102e5578063285298af146102f85780632fad573e1461030b578063358cbf0a1461031e5780633f4ba83a1461032657600080fd5b80620270a41461023657806311eac8551461024b5780631f9838b51461028f57806321241dfe146102cd575b600080fd5b610249610244366004611bc0565b610538565b005b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6102bd61029d366004611be2565b600760209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610286565b6102d7624f1a0081565b604051908152602001610286565b6102496102f3366004611c6f565b610625565b6102d7610306366004611bc0565b6106ea565b610249610319366004611c6f565b610714565b6102496107c8565b610249610978565b6102d761033c366004611bc0565b60066020526000908152604090205481565b610249610a19565b610249610aba565b61024961036c366004611cfa565b610c45565b61024961037f366004611d13565b610cf8565b610249610392366004611bc0565b610db3565b6005546102bd9060ff1681565b6102496103b2366004611cfa565b610e3d565b6102d7600a81565b6102496103cd366004611bc0565b610ee8565b610249611025565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6102d7605a81565b610249610417366004611dcb565b61120b565b6001546102d7565b61044b610432366004611bc0565b6002602052600090815260409020805460019091015482565b60408051928352602083019190915201610286565b61024961046e366004611bc0565b6112ca565b6102d760005481565b60055460ff166102bd565b610249610495366004611bc0565b611433565b6102496104a8366004611e4c565b6114d7565b6102d760015481565b6104c96104c4366004611bc0565b6115f3565b604080519384526020840192909252151590820152606001610286565b6000546102d7565b6003546102d7565b610249610504366004611e76565b611640565b610249610517366004611bc0565b6116f1565b61024961052a366004611bc0565b61176e565b6102d760035481565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058157604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156105a5576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166105cc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526006602052604080822091909155517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d9061061a906064815260200190565b60405180910390a250565b600454600103610648576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610671576040516306d39fcd60e41b815260040160405180910390fd5b61067c8387846118cc565b848460405161068c929190611f21565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d91015b60405180910390a45050600060045550505050565b6001600160a01b03811660009081526006602052604081205461070e906064611f47565b92915050565b600454600103610737576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610760576040516306d39fcd60e41b815260040160405180910390fd5b61076b8387846118cc565b848460405161077b929190611f21565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6a00347d56e88979c493ca2baa527a6cd1009b34431c4ef1021a5c0edd78562591016106d5565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461081157604051635fc483c560e01b815260040160405180910390fd5b600454600103610834576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560035460000361085c5760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c9190611f5a565b90508061093c576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109c157604051635fc483c560e01b815260040160405180910390fd5b60055460ff166109e45760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a6257604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610a855760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600454600103610add576040516345f5ce8b60e11b815260040160405180910390fd5b60016004553360009081526002602052604081208054909103610b135760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610b269190611f77565b421115610b465760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be59190611f5a565b905080610c05576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c8e57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610cb2576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610d1b576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610d44576040516306d39fcd60e41b815260040160405180910390fd5b610d4f8389846118cc565b876001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26898989898888604051610d9c96959493929190611fb3565b60405180910390a350506000600455505050505050565b600454600103610dd6576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610dff576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8657604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610eaa576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610cec565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f3157604051635fc483c560e01b815260040160405180910390fd5b600454600103610f54576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b03811660009081526002602052604081208054909103610f935760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610fa69190611f77565b4211610fc5576040516326f6703f60e11b815260040160405180910390fd5b805460008083556001830181905560038054839290610fe5908490611f77565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610c33565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461106e57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611092576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff19166001179055600354156111e0576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190611f5a565b905080156111d7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516111ca91815260200190565b60405180910390a26111dd565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b60045460010361122e576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611257576040516306d39fcd60e41b815260040160405180910390fd5b611263816000806118cc565b8282604051611273929190611f21565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c59947044387876040516112b6929190611ff5565b60405180910390a350506000600455505050565b6004546001036112ed576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611316576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116156113f5576001546040516323b872dd60e01b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af115801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf9190611f5a565b6113dc57604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546113ee9190611f77565b9091555050505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b60055460ff1615611457576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811661147e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461152057604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611544576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03821661156b5760405163e6c4247b60e01b815260040160405180910390fd5b606481111561158d57604051631f3b85d360e01b815260040160405180910390fd5b611598816064611f47565b6001600160a01b038316600081815260066020526040908190209290925590517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906115e79084815260200190565b60405180910390a25050565b6001600160a01b038116600090815260026020526040812080546001820154909291829161162590624f1a0090611f77565b81549093501580159061163757508242115b93959294505050565b600454600103611663576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561168c576040516306d39fcd60e41b815260040160405180910390fd5b611698816000806118cc565b336001600160a01b03167fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba3138888888888886040516116db96959493929190612009565b60405180910390a2505060006004555050505050565b6001600160a01b0381166117185760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b60055460ff166117915760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b038116600090815260026020526040812080549091036117cb5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186c9190611f5a565b905080156118bc57836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516118af91815260200190565b60405180910390a26118c6565b8183554260018401555b50505050565b336001600160a01b0384161480159061190957503360009081526007602090815260408083206001600160a01b038716845290915290205460ff16155b156119275760405163184d62c560e01b815260040160405180910390fd5b600061193584600054611a5d565b9050806000036119455750505050565b600082611958576064600a83020461195a565b815b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156119d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f89190611f5a565b611a1557604051634aa23e8f60e11b815260040160405180910390fd5b828015611a2a57506001600160a01b03841615155b15611a3e57611a398483611a9e565b611a56565b8060036000828254611a509190611f77565b90915550505b5050505050565b6001600160a01b0382166000908152600660205260408120546064611a828282611f47565b611a8c9085612052565b611a969190612069565b949350505050565b611aab605a600019612069565b811115611acb57604051634eab2ea760e11b815260040160405180910390fd5b60006064611ada600a84612052565b611ae49190612069565b90506000611af28284611f47565b6001600160a01b038516600090815260026020526040812080549293508392909190611b1f908490611f77565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611b55908490611f77565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b0381168114611bbb57600080fd5b919050565b600060208284031215611bd257600080fd5b611bdb82611ba4565b9392505050565b60008060408385031215611bf557600080fd5b611bfe83611ba4565b9150611c0c60208401611ba4565b90509250929050565b60008083601f840112611c2757600080fd5b50813567ffffffffffffffff811115611c3f57600080fd5b602083019150836020828501011115611c5757600080fd5b9250929050565b8015158114611c6c57600080fd5b50565b60008060008060008060a08789031215611c8857600080fd5b611c9187611ba4565b9550602087013567ffffffffffffffff811115611cad57600080fd5b611cb989828a01611c15565b9096509450611ccc905060408801611ba4565b92506060870135611cdc81611c5e565b91506080870135611cec81611c5e565b809150509295509295509295565b600060208284031215611d0c57600080fd5b5035919050565b60008060008060008060008060c0898b031215611d2f57600080fd5b611d3889611ba4565b9750602089013567ffffffffffffffff80821115611d5557600080fd5b611d618c838d01611c15565b909950975060408b0135915080821115611d7a57600080fd5b50611d878b828c01611c15565b9096509450611d9a905060608a01611ba4565b92506080890135611daa81611c5e565b915060a0890135611dba81611c5e565b809150509295985092959890939650565b600080600080600060608688031215611de357600080fd5b853567ffffffffffffffff80821115611dfb57600080fd5b611e0789838a01611c15565b90975095506020880135915080821115611e2057600080fd5b50611e2d88828901611c15565b9094509250611e40905060408701611ba4565b90509295509295909350565b60008060408385031215611e5f57600080fd5b611e6883611ba4565b946020939093013593505050565b60008060008060008060006080888a031215611e9157600080fd5b873567ffffffffffffffff80821115611ea957600080fd5b611eb58b838c01611c15565b909950975060208a0135915080821115611ece57600080fd5b611eda8b838c01611c15565b909750955060408a0135915080821115611ef357600080fd5b50611f008a828b01611c15565b9094509250611f13905060608901611ba4565b905092959891949750929550565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561070e5761070e611f31565b600060208284031215611f6c57600080fd5b8151611bdb81611c5e565b8082018082111561070e5761070e611f31565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611fc760808301888a611f8a565b8281036020840152611fda818789611f8a565b94151560408401525050901515606090910152949350505050565b602081526000611a96602083018486611f8a565b60608152600061201d60608301888a611f8a565b8281036020840152612030818789611f8a565b90508281036040840152612045818587611f8a565b9998505050505050505050565b808202811582820484141761070e5761070e611f31565b60008261208657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220bdb7b8067400d75405ab1fb3f11f89738859958485c40e306e1acf1686f2ff8364736f6c63430008180033";
1109
+
1110
+ type MailerConstructorParams =
1111
+ | [signer?: Signer]
1112
+ | ConstructorParameters<typeof ContractFactory>;
1113
+
1114
+ const isSuperArgs = (
1115
+ xs: MailerConstructorParams
1116
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1117
+
1118
+ export class Mailer__factory extends ContractFactory {
1119
+ constructor(...args: MailerConstructorParams) {
1120
+ if (isSuperArgs(args)) {
1121
+ super(...args);
1122
+ } else {
1123
+ super(_abi, _bytecode, args[0]);
1124
+ }
1125
+ }
1126
+
1127
+ override getDeployTransaction(
1128
+ _usdcToken: AddressLike,
1129
+ _owner: AddressLike,
1130
+ overrides?: NonPayableOverrides & { from?: string }
1131
+ ): Promise<ContractDeployTransaction> {
1132
+ return super.getDeployTransaction(_usdcToken, _owner, overrides || {});
1133
+ }
1134
+ override deploy(
1135
+ _usdcToken: AddressLike,
1136
+ _owner: AddressLike,
1137
+ overrides?: NonPayableOverrides & { from?: string }
1138
+ ) {
1139
+ return super.deploy(_usdcToken, _owner, overrides || {}) as Promise<
1140
+ Mailer & {
1141
+ deploymentTransaction(): ContractTransactionResponse;
1142
+ }
1143
+ >;
1144
+ }
1145
+ override connect(runner: ContractRunner | null): Mailer__factory {
1146
+ return super.connect(runner) as Mailer__factory;
1147
+ }
1148
+
1149
+ static readonly bytecode = _bytecode;
1150
+ static readonly abi = _abi;
1151
+ static createInterface(): MailerInterface {
1152
+ return new Interface(_abi) as MailerInterface;
1153
+ }
1154
+ static connect(address: string, runner?: ContractRunner | null): Mailer {
1155
+ return new Contract(address, _abi, runner) as unknown as Mailer;
1156
+ }
1157
+ }