@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,966 @@
1
+ import { Account, Address, Hash, PublicClient, WalletClient } from 'viem';
2
+ type RecipientClaim = {
3
+ amount: bigint;
4
+ expiresAt: bigint;
5
+ isExpired: boolean;
6
+ };
7
+ /**
8
+ * Gas estimation options for transactions
9
+ */
10
+ export interface GasOptions {
11
+ /**
12
+ * Gas multiplier to apply to estimated gas (e.g., 1.2 for 20% buffer)
13
+ * @default 1.2
14
+ */
15
+ gasMultiplier?: number;
16
+ /**
17
+ * Maximum gas limit to use (prevents excessive gas usage)
18
+ */
19
+ maxGasLimit?: bigint;
20
+ /**
21
+ * Skip gas estimation and use provided gas limit
22
+ */
23
+ gasLimit?: bigint;
24
+ /**
25
+ * Max fee per gas for EIP-1559 transactions
26
+ */
27
+ maxFeePerGas?: bigint;
28
+ /**
29
+ * Max priority fee per gas for EIP-1559 transactions
30
+ */
31
+ maxPriorityFeePerGas?: bigint;
32
+ }
33
+ /**
34
+ * Transaction result with gas estimation details
35
+ */
36
+ export interface TransactionResult {
37
+ /**
38
+ * Transaction hash
39
+ */
40
+ hash: Hash;
41
+ /**
42
+ * Estimated gas used
43
+ */
44
+ estimatedGas?: bigint;
45
+ /**
46
+ * Actual gas limit used
47
+ */
48
+ gasLimit?: bigint;
49
+ }
50
+ /**
51
+ * High-level client for interacting with the EVM Mailer contract.
52
+ * Exposes every callable contract function with type-safe wrappers.
53
+ * Includes automatic gas estimation with configurable buffer for all transactions.
54
+ */
55
+ export declare class MailerClient {
56
+ static readonly abi: readonly [{
57
+ readonly inputs: readonly [{
58
+ readonly internalType: "address";
59
+ readonly name: "_usdcToken";
60
+ readonly type: "address";
61
+ }, {
62
+ readonly internalType: "address";
63
+ readonly name: "_owner";
64
+ readonly type: "address";
65
+ }];
66
+ readonly stateMutability: "nonpayable";
67
+ readonly type: "constructor";
68
+ }, {
69
+ readonly inputs: readonly [];
70
+ readonly name: "ClaimPeriodNotExpired";
71
+ readonly type: "error";
72
+ }, {
73
+ readonly inputs: readonly [];
74
+ readonly name: "ContractIsPaused";
75
+ readonly type: "error";
76
+ }, {
77
+ readonly inputs: readonly [];
78
+ readonly name: "ContractNotPaused";
79
+ readonly type: "error";
80
+ }, {
81
+ readonly inputs: readonly [];
82
+ readonly name: "FeePaymentRequired";
83
+ readonly type: "error";
84
+ }, {
85
+ readonly inputs: readonly [];
86
+ readonly name: "InvalidAddress";
87
+ readonly type: "error";
88
+ }, {
89
+ readonly inputs: readonly [];
90
+ readonly name: "InvalidPercentage";
91
+ readonly type: "error";
92
+ }, {
93
+ readonly inputs: readonly [];
94
+ readonly name: "MathOverflow";
95
+ readonly type: "error";
96
+ }, {
97
+ readonly inputs: readonly [];
98
+ readonly name: "NoClaimableAmount";
99
+ readonly type: "error";
100
+ }, {
101
+ readonly inputs: readonly [];
102
+ readonly name: "OnlyOwner";
103
+ readonly type: "error";
104
+ }, {
105
+ readonly inputs: readonly [];
106
+ readonly name: "ReentrancyGuard";
107
+ readonly type: "error";
108
+ }, {
109
+ readonly inputs: readonly [];
110
+ readonly name: "TransferFailed";
111
+ readonly type: "error";
112
+ }, {
113
+ readonly inputs: readonly [];
114
+ readonly name: "UnpermittedPayer";
115
+ readonly type: "error";
116
+ }, {
117
+ readonly anonymous: false;
118
+ readonly inputs: readonly [];
119
+ readonly name: "ContractPaused";
120
+ readonly type: "event";
121
+ }, {
122
+ readonly anonymous: false;
123
+ readonly inputs: readonly [];
124
+ readonly name: "ContractUnpaused";
125
+ readonly type: "event";
126
+ }, {
127
+ readonly anonymous: false;
128
+ readonly inputs: readonly [{
129
+ readonly indexed: true;
130
+ readonly internalType: "address";
131
+ readonly name: "account";
132
+ readonly type: "address";
133
+ }, {
134
+ readonly indexed: false;
135
+ readonly internalType: "uint256";
136
+ readonly name: "percentage";
137
+ readonly type: "uint256";
138
+ }];
139
+ readonly name: "CustomFeePercentageSet";
140
+ readonly type: "event";
141
+ }, {
142
+ readonly anonymous: false;
143
+ readonly inputs: readonly [{
144
+ readonly indexed: false;
145
+ readonly internalType: "uint256";
146
+ readonly name: "oldFee";
147
+ readonly type: "uint256";
148
+ }, {
149
+ readonly indexed: false;
150
+ readonly internalType: "uint256";
151
+ readonly name: "newFee";
152
+ readonly type: "uint256";
153
+ }];
154
+ readonly name: "DelegationFeeUpdated";
155
+ readonly type: "event";
156
+ }, {
157
+ readonly anonymous: false;
158
+ readonly inputs: readonly [{
159
+ readonly indexed: true;
160
+ readonly internalType: "address";
161
+ readonly name: "delegator";
162
+ readonly type: "address";
163
+ }, {
164
+ readonly indexed: true;
165
+ readonly internalType: "address";
166
+ readonly name: "delegate";
167
+ readonly type: "address";
168
+ }];
169
+ readonly name: "DelegationSet";
170
+ readonly type: "event";
171
+ }, {
172
+ readonly anonymous: false;
173
+ readonly inputs: readonly [];
174
+ readonly name: "EmergencyUnpaused";
175
+ readonly type: "event";
176
+ }, {
177
+ readonly anonymous: false;
178
+ readonly inputs: readonly [{
179
+ readonly indexed: true;
180
+ readonly internalType: "address";
181
+ readonly name: "recipient";
182
+ readonly type: "address";
183
+ }, {
184
+ readonly indexed: false;
185
+ readonly internalType: "uint256";
186
+ readonly name: "amount";
187
+ readonly type: "uint256";
188
+ }];
189
+ readonly name: "ExpiredSharesClaimed";
190
+ readonly type: "event";
191
+ }, {
192
+ readonly anonymous: false;
193
+ readonly inputs: readonly [{
194
+ readonly indexed: false;
195
+ readonly internalType: "uint256";
196
+ readonly name: "oldFee";
197
+ readonly type: "uint256";
198
+ }, {
199
+ readonly indexed: false;
200
+ readonly internalType: "uint256";
201
+ readonly name: "newFee";
202
+ readonly type: "uint256";
203
+ }];
204
+ readonly name: "FeeUpdated";
205
+ readonly type: "event";
206
+ }, {
207
+ readonly anonymous: false;
208
+ readonly inputs: readonly [{
209
+ readonly indexed: true;
210
+ readonly internalType: "address";
211
+ readonly name: "recipient";
212
+ readonly type: "address";
213
+ }, {
214
+ readonly indexed: false;
215
+ readonly internalType: "uint256";
216
+ readonly name: "amount";
217
+ readonly type: "uint256";
218
+ }];
219
+ readonly name: "FundsDistributed";
220
+ readonly type: "event";
221
+ }, {
222
+ readonly anonymous: false;
223
+ readonly inputs: readonly [{
224
+ readonly indexed: true;
225
+ readonly internalType: "address";
226
+ readonly name: "from";
227
+ readonly type: "address";
228
+ }, {
229
+ readonly indexed: true;
230
+ readonly internalType: "address";
231
+ readonly name: "to";
232
+ readonly type: "address";
233
+ }, {
234
+ readonly indexed: false;
235
+ readonly internalType: "string";
236
+ readonly name: "subject";
237
+ readonly type: "string";
238
+ }, {
239
+ readonly indexed: false;
240
+ readonly internalType: "string";
241
+ readonly name: "body";
242
+ readonly type: "string";
243
+ }, {
244
+ readonly indexed: false;
245
+ readonly internalType: "bool";
246
+ readonly name: "revenueShareToReceiver";
247
+ readonly type: "bool";
248
+ }, {
249
+ readonly indexed: false;
250
+ readonly internalType: "bool";
251
+ readonly name: "resolveSenderToName";
252
+ readonly type: "bool";
253
+ }];
254
+ readonly name: "MailSent";
255
+ readonly type: "event";
256
+ }, {
257
+ readonly anonymous: false;
258
+ readonly inputs: readonly [{
259
+ readonly indexed: true;
260
+ readonly internalType: "address";
261
+ readonly name: "from";
262
+ readonly type: "address";
263
+ }, {
264
+ readonly indexed: false;
265
+ readonly internalType: "string";
266
+ readonly name: "toEmail";
267
+ readonly type: "string";
268
+ }, {
269
+ readonly indexed: false;
270
+ readonly internalType: "string";
271
+ readonly name: "subject";
272
+ readonly type: "string";
273
+ }, {
274
+ readonly indexed: false;
275
+ readonly internalType: "string";
276
+ readonly name: "body";
277
+ readonly type: "string";
278
+ }];
279
+ readonly name: "MailSentToEmail";
280
+ readonly type: "event";
281
+ }, {
282
+ readonly anonymous: false;
283
+ readonly inputs: readonly [{
284
+ readonly indexed: false;
285
+ readonly internalType: "uint256";
286
+ readonly name: "amount";
287
+ readonly type: "uint256";
288
+ }];
289
+ readonly name: "OwnerClaimed";
290
+ readonly type: "event";
291
+ }, {
292
+ readonly anonymous: false;
293
+ readonly inputs: readonly [{
294
+ readonly indexed: true;
295
+ readonly internalType: "address";
296
+ readonly name: "contractAddress";
297
+ readonly type: "address";
298
+ }, {
299
+ readonly indexed: true;
300
+ readonly internalType: "address";
301
+ readonly name: "wallet";
302
+ readonly type: "address";
303
+ }];
304
+ readonly name: "PermissionGranted";
305
+ readonly type: "event";
306
+ }, {
307
+ readonly anonymous: false;
308
+ readonly inputs: readonly [{
309
+ readonly indexed: true;
310
+ readonly internalType: "address";
311
+ readonly name: "contractAddress";
312
+ readonly type: "address";
313
+ }, {
314
+ readonly indexed: true;
315
+ readonly internalType: "address";
316
+ readonly name: "wallet";
317
+ readonly type: "address";
318
+ }];
319
+ readonly name: "PermissionRevoked";
320
+ readonly type: "event";
321
+ }, {
322
+ readonly anonymous: false;
323
+ readonly inputs: readonly [{
324
+ readonly indexed: true;
325
+ readonly internalType: "address";
326
+ readonly name: "from";
327
+ readonly type: "address";
328
+ }, {
329
+ readonly indexed: true;
330
+ readonly internalType: "address";
331
+ readonly name: "to";
332
+ readonly type: "address";
333
+ }, {
334
+ readonly indexed: true;
335
+ readonly internalType: "string";
336
+ readonly name: "mailId";
337
+ readonly type: "string";
338
+ }, {
339
+ readonly indexed: false;
340
+ readonly internalType: "bool";
341
+ readonly name: "revenueShareToReceiver";
342
+ readonly type: "bool";
343
+ }, {
344
+ readonly indexed: false;
345
+ readonly internalType: "bool";
346
+ readonly name: "resolveSenderToName";
347
+ readonly type: "bool";
348
+ }];
349
+ readonly name: "PreparedMailSent";
350
+ readonly type: "event";
351
+ }, {
352
+ readonly anonymous: false;
353
+ readonly inputs: readonly [{
354
+ readonly indexed: true;
355
+ readonly internalType: "address";
356
+ readonly name: "from";
357
+ readonly type: "address";
358
+ }, {
359
+ readonly indexed: false;
360
+ readonly internalType: "string";
361
+ readonly name: "toEmail";
362
+ readonly type: "string";
363
+ }, {
364
+ readonly indexed: true;
365
+ readonly internalType: "string";
366
+ readonly name: "mailId";
367
+ readonly type: "string";
368
+ }];
369
+ readonly name: "PreparedMailSentToEmail";
370
+ readonly type: "event";
371
+ }, {
372
+ readonly anonymous: false;
373
+ readonly inputs: readonly [{
374
+ readonly indexed: true;
375
+ readonly internalType: "address";
376
+ readonly name: "recipient";
377
+ readonly type: "address";
378
+ }, {
379
+ readonly indexed: false;
380
+ readonly internalType: "uint256";
381
+ readonly name: "amount";
382
+ readonly type: "uint256";
383
+ }];
384
+ readonly name: "RecipientClaimed";
385
+ readonly type: "event";
386
+ }, {
387
+ readonly anonymous: false;
388
+ readonly inputs: readonly [{
389
+ readonly indexed: true;
390
+ readonly internalType: "address";
391
+ readonly name: "recipient";
392
+ readonly type: "address";
393
+ }, {
394
+ readonly indexed: false;
395
+ readonly internalType: "uint256";
396
+ readonly name: "recipientAmount";
397
+ readonly type: "uint256";
398
+ }, {
399
+ readonly indexed: false;
400
+ readonly internalType: "uint256";
401
+ readonly name: "ownerAmount";
402
+ readonly type: "uint256";
403
+ }];
404
+ readonly name: "SharesRecorded";
405
+ readonly type: "event";
406
+ }, {
407
+ readonly anonymous: false;
408
+ readonly inputs: readonly [{
409
+ readonly indexed: true;
410
+ readonly internalType: "address";
411
+ readonly name: "from";
412
+ readonly type: "address";
413
+ }, {
414
+ readonly indexed: true;
415
+ readonly internalType: "address";
416
+ readonly name: "to";
417
+ readonly type: "address";
418
+ }, {
419
+ readonly indexed: true;
420
+ readonly internalType: "string";
421
+ readonly name: "webhookId";
422
+ readonly type: "string";
423
+ }, {
424
+ readonly indexed: false;
425
+ readonly internalType: "bool";
426
+ readonly name: "revenueShareToReceiver";
427
+ readonly type: "bool";
428
+ }, {
429
+ readonly indexed: false;
430
+ readonly internalType: "bool";
431
+ readonly name: "resolveSenderToName";
432
+ readonly type: "bool";
433
+ }];
434
+ readonly name: "WebhookMailSent";
435
+ readonly type: "event";
436
+ }, {
437
+ readonly inputs: readonly [];
438
+ readonly name: "CLAIM_PERIOD";
439
+ readonly outputs: readonly [{
440
+ readonly internalType: "uint256";
441
+ readonly name: "";
442
+ readonly type: "uint256";
443
+ }];
444
+ readonly stateMutability: "view";
445
+ readonly type: "function";
446
+ }, {
447
+ readonly inputs: readonly [];
448
+ readonly name: "OWNER_SHARE";
449
+ readonly outputs: readonly [{
450
+ readonly internalType: "uint256";
451
+ readonly name: "";
452
+ readonly type: "uint256";
453
+ }];
454
+ readonly stateMutability: "view";
455
+ readonly type: "function";
456
+ }, {
457
+ readonly inputs: readonly [];
458
+ readonly name: "RECIPIENT_SHARE";
459
+ readonly outputs: readonly [{
460
+ readonly internalType: "uint256";
461
+ readonly name: "";
462
+ readonly type: "uint256";
463
+ }];
464
+ readonly stateMutability: "view";
465
+ readonly type: "function";
466
+ }, {
467
+ readonly inputs: readonly [{
468
+ readonly internalType: "address";
469
+ readonly name: "recipient";
470
+ readonly type: "address";
471
+ }];
472
+ readonly name: "claimExpiredShares";
473
+ readonly outputs: readonly [];
474
+ readonly stateMutability: "nonpayable";
475
+ readonly type: "function";
476
+ }, {
477
+ readonly inputs: readonly [];
478
+ readonly name: "claimOwnerShare";
479
+ readonly outputs: readonly [];
480
+ readonly stateMutability: "nonpayable";
481
+ readonly type: "function";
482
+ }, {
483
+ readonly inputs: readonly [];
484
+ readonly name: "claimRecipientShare";
485
+ readonly outputs: readonly [];
486
+ readonly stateMutability: "nonpayable";
487
+ readonly type: "function";
488
+ }, {
489
+ readonly inputs: readonly [{
490
+ readonly internalType: "address";
491
+ readonly name: "account";
492
+ readonly type: "address";
493
+ }];
494
+ readonly name: "clearCustomFeePercentage";
495
+ readonly outputs: readonly [];
496
+ readonly stateMutability: "nonpayable";
497
+ readonly type: "function";
498
+ }, {
499
+ readonly inputs: readonly [{
500
+ readonly internalType: "address";
501
+ readonly name: "";
502
+ readonly type: "address";
503
+ }];
504
+ readonly name: "customFeeDiscount";
505
+ readonly outputs: readonly [{
506
+ readonly internalType: "uint256";
507
+ readonly name: "";
508
+ readonly type: "uint256";
509
+ }];
510
+ readonly stateMutability: "view";
511
+ readonly type: "function";
512
+ }, {
513
+ readonly inputs: readonly [{
514
+ readonly internalType: "address";
515
+ readonly name: "delegate";
516
+ readonly type: "address";
517
+ }];
518
+ readonly name: "delegateTo";
519
+ readonly outputs: readonly [];
520
+ readonly stateMutability: "nonpayable";
521
+ readonly type: "function";
522
+ }, {
523
+ readonly inputs: readonly [];
524
+ readonly name: "delegationFee";
525
+ readonly outputs: readonly [{
526
+ readonly internalType: "uint256";
527
+ readonly name: "";
528
+ readonly type: "uint256";
529
+ }];
530
+ readonly stateMutability: "view";
531
+ readonly type: "function";
532
+ }, {
533
+ readonly inputs: readonly [{
534
+ readonly internalType: "address";
535
+ readonly name: "recipient";
536
+ readonly type: "address";
537
+ }];
538
+ readonly name: "distributeClaimableFunds";
539
+ readonly outputs: readonly [];
540
+ readonly stateMutability: "nonpayable";
541
+ readonly type: "function";
542
+ }, {
543
+ readonly inputs: readonly [];
544
+ readonly name: "emergencyUnpause";
545
+ readonly outputs: readonly [];
546
+ readonly stateMutability: "nonpayable";
547
+ readonly type: "function";
548
+ }, {
549
+ readonly inputs: readonly [{
550
+ readonly internalType: "address";
551
+ readonly name: "account";
552
+ readonly type: "address";
553
+ }];
554
+ readonly name: "getCustomFeePercentage";
555
+ readonly outputs: readonly [{
556
+ readonly internalType: "uint256";
557
+ readonly name: "";
558
+ readonly type: "uint256";
559
+ }];
560
+ readonly stateMutability: "view";
561
+ readonly type: "function";
562
+ }, {
563
+ readonly inputs: readonly [];
564
+ readonly name: "getDelegationFee";
565
+ readonly outputs: readonly [{
566
+ readonly internalType: "uint256";
567
+ readonly name: "";
568
+ readonly type: "uint256";
569
+ }];
570
+ readonly stateMutability: "view";
571
+ readonly type: "function";
572
+ }, {
573
+ readonly inputs: readonly [];
574
+ readonly name: "getFee";
575
+ readonly outputs: readonly [{
576
+ readonly internalType: "uint256";
577
+ readonly name: "";
578
+ readonly type: "uint256";
579
+ }];
580
+ readonly stateMutability: "view";
581
+ readonly type: "function";
582
+ }, {
583
+ readonly inputs: readonly [];
584
+ readonly name: "getOwnerClaimable";
585
+ readonly outputs: readonly [{
586
+ readonly internalType: "uint256";
587
+ readonly name: "";
588
+ readonly type: "uint256";
589
+ }];
590
+ readonly stateMutability: "view";
591
+ readonly type: "function";
592
+ }, {
593
+ readonly inputs: readonly [{
594
+ readonly internalType: "address";
595
+ readonly name: "recipient";
596
+ readonly type: "address";
597
+ }];
598
+ readonly name: "getRecipientClaimable";
599
+ readonly outputs: readonly [{
600
+ readonly internalType: "uint256";
601
+ readonly name: "amount";
602
+ readonly type: "uint256";
603
+ }, {
604
+ readonly internalType: "uint256";
605
+ readonly name: "expiresAt";
606
+ readonly type: "uint256";
607
+ }, {
608
+ readonly internalType: "bool";
609
+ readonly name: "isExpired";
610
+ readonly type: "bool";
611
+ }];
612
+ readonly stateMutability: "view";
613
+ readonly type: "function";
614
+ }, {
615
+ readonly inputs: readonly [];
616
+ readonly name: "isPaused";
617
+ readonly outputs: readonly [{
618
+ readonly internalType: "bool";
619
+ readonly name: "";
620
+ readonly type: "bool";
621
+ }];
622
+ readonly stateMutability: "view";
623
+ readonly type: "function";
624
+ }, {
625
+ readonly inputs: readonly [];
626
+ readonly name: "owner";
627
+ readonly outputs: readonly [{
628
+ readonly internalType: "address";
629
+ readonly name: "";
630
+ readonly type: "address";
631
+ }];
632
+ readonly stateMutability: "view";
633
+ readonly type: "function";
634
+ }, {
635
+ readonly inputs: readonly [];
636
+ readonly name: "ownerClaimable";
637
+ readonly outputs: readonly [{
638
+ readonly internalType: "uint256";
639
+ readonly name: "";
640
+ readonly type: "uint256";
641
+ }];
642
+ readonly stateMutability: "view";
643
+ readonly type: "function";
644
+ }, {
645
+ readonly inputs: readonly [];
646
+ readonly name: "pause";
647
+ readonly outputs: readonly [];
648
+ readonly stateMutability: "nonpayable";
649
+ readonly type: "function";
650
+ }, {
651
+ readonly inputs: readonly [];
652
+ readonly name: "paused";
653
+ readonly outputs: readonly [{
654
+ readonly internalType: "bool";
655
+ readonly name: "";
656
+ readonly type: "bool";
657
+ }];
658
+ readonly stateMutability: "view";
659
+ readonly type: "function";
660
+ }, {
661
+ readonly inputs: readonly [{
662
+ readonly internalType: "address";
663
+ readonly name: "";
664
+ readonly type: "address";
665
+ }, {
666
+ readonly internalType: "address";
667
+ readonly name: "";
668
+ readonly type: "address";
669
+ }];
670
+ readonly name: "permissions";
671
+ readonly outputs: readonly [{
672
+ readonly internalType: "bool";
673
+ readonly name: "";
674
+ readonly type: "bool";
675
+ }];
676
+ readonly stateMutability: "view";
677
+ readonly type: "function";
678
+ }, {
679
+ readonly inputs: readonly [{
680
+ readonly internalType: "address";
681
+ readonly name: "";
682
+ readonly type: "address";
683
+ }];
684
+ readonly name: "recipientClaims";
685
+ readonly outputs: readonly [{
686
+ readonly internalType: "uint256";
687
+ readonly name: "amount";
688
+ readonly type: "uint256";
689
+ }, {
690
+ readonly internalType: "uint256";
691
+ readonly name: "timestamp";
692
+ readonly type: "uint256";
693
+ }];
694
+ readonly stateMutability: "view";
695
+ readonly type: "function";
696
+ }, {
697
+ readonly inputs: readonly [{
698
+ readonly internalType: "address";
699
+ readonly name: "delegatingAddress";
700
+ readonly type: "address";
701
+ }];
702
+ readonly name: "rejectDelegation";
703
+ readonly outputs: readonly [];
704
+ readonly stateMutability: "nonpayable";
705
+ readonly type: "function";
706
+ }, {
707
+ readonly inputs: readonly [{
708
+ readonly internalType: "address";
709
+ readonly name: "contractAddress";
710
+ readonly type: "address";
711
+ }];
712
+ readonly name: "removePermission";
713
+ readonly outputs: readonly [];
714
+ readonly stateMutability: "nonpayable";
715
+ readonly type: "function";
716
+ }, {
717
+ readonly inputs: readonly [{
718
+ readonly internalType: "address";
719
+ readonly name: "to";
720
+ readonly type: "address";
721
+ }, {
722
+ readonly internalType: "string";
723
+ readonly name: "subject";
724
+ readonly type: "string";
725
+ }, {
726
+ readonly internalType: "string";
727
+ readonly name: "body";
728
+ readonly type: "string";
729
+ }, {
730
+ readonly internalType: "address";
731
+ readonly name: "payer";
732
+ readonly type: "address";
733
+ }, {
734
+ readonly internalType: "bool";
735
+ readonly name: "revenueShareToReceiver";
736
+ readonly type: "bool";
737
+ }, {
738
+ readonly internalType: "bool";
739
+ readonly name: "resolveSenderToName";
740
+ readonly type: "bool";
741
+ }];
742
+ readonly name: "send";
743
+ readonly outputs: readonly [];
744
+ readonly stateMutability: "nonpayable";
745
+ readonly type: "function";
746
+ }, {
747
+ readonly inputs: readonly [];
748
+ readonly name: "sendFee";
749
+ readonly outputs: readonly [{
750
+ readonly internalType: "uint256";
751
+ readonly name: "";
752
+ readonly type: "uint256";
753
+ }];
754
+ readonly stateMutability: "view";
755
+ readonly type: "function";
756
+ }, {
757
+ readonly inputs: readonly [{
758
+ readonly internalType: "address";
759
+ readonly name: "to";
760
+ readonly type: "address";
761
+ }, {
762
+ readonly internalType: "string";
763
+ readonly name: "mailId";
764
+ readonly type: "string";
765
+ }, {
766
+ readonly internalType: "address";
767
+ readonly name: "payer";
768
+ readonly type: "address";
769
+ }, {
770
+ readonly internalType: "bool";
771
+ readonly name: "revenueShareToReceiver";
772
+ readonly type: "bool";
773
+ }, {
774
+ readonly internalType: "bool";
775
+ readonly name: "resolveSenderToName";
776
+ readonly type: "bool";
777
+ }];
778
+ readonly name: "sendPrepared";
779
+ readonly outputs: readonly [];
780
+ readonly stateMutability: "nonpayable";
781
+ readonly type: "function";
782
+ }, {
783
+ readonly inputs: readonly [{
784
+ readonly internalType: "string";
785
+ readonly name: "toEmail";
786
+ readonly type: "string";
787
+ }, {
788
+ readonly internalType: "string";
789
+ readonly name: "mailId";
790
+ readonly type: "string";
791
+ }, {
792
+ readonly internalType: "address";
793
+ readonly name: "payer";
794
+ readonly type: "address";
795
+ }];
796
+ readonly name: "sendPreparedToEmailAddress";
797
+ readonly outputs: readonly [];
798
+ readonly stateMutability: "nonpayable";
799
+ readonly type: "function";
800
+ }, {
801
+ readonly inputs: readonly [{
802
+ readonly internalType: "address";
803
+ readonly name: "to";
804
+ readonly type: "address";
805
+ }, {
806
+ readonly internalType: "string";
807
+ readonly name: "webhookId";
808
+ readonly type: "string";
809
+ }, {
810
+ readonly internalType: "address";
811
+ readonly name: "payer";
812
+ readonly type: "address";
813
+ }, {
814
+ readonly internalType: "bool";
815
+ readonly name: "revenueShareToReceiver";
816
+ readonly type: "bool";
817
+ }, {
818
+ readonly internalType: "bool";
819
+ readonly name: "resolveSenderToName";
820
+ readonly type: "bool";
821
+ }];
822
+ readonly name: "sendThroughWebhook";
823
+ readonly outputs: readonly [];
824
+ readonly stateMutability: "nonpayable";
825
+ readonly type: "function";
826
+ }, {
827
+ readonly inputs: readonly [{
828
+ readonly internalType: "string";
829
+ readonly name: "toEmail";
830
+ readonly type: "string";
831
+ }, {
832
+ readonly internalType: "string";
833
+ readonly name: "subject";
834
+ readonly type: "string";
835
+ }, {
836
+ readonly internalType: "string";
837
+ readonly name: "body";
838
+ readonly type: "string";
839
+ }, {
840
+ readonly internalType: "address";
841
+ readonly name: "payer";
842
+ readonly type: "address";
843
+ }];
844
+ readonly name: "sendToEmailAddress";
845
+ readonly outputs: readonly [];
846
+ readonly stateMutability: "nonpayable";
847
+ readonly type: "function";
848
+ }, {
849
+ readonly inputs: readonly [{
850
+ readonly internalType: "address";
851
+ readonly name: "account";
852
+ readonly type: "address";
853
+ }, {
854
+ readonly internalType: "uint256";
855
+ readonly name: "percentage";
856
+ readonly type: "uint256";
857
+ }];
858
+ readonly name: "setCustomFeePercentage";
859
+ readonly outputs: readonly [];
860
+ readonly stateMutability: "nonpayable";
861
+ readonly type: "function";
862
+ }, {
863
+ readonly inputs: readonly [{
864
+ readonly internalType: "uint256";
865
+ readonly name: "usdcAmount";
866
+ readonly type: "uint256";
867
+ }];
868
+ readonly name: "setDelegationFee";
869
+ readonly outputs: readonly [];
870
+ readonly stateMutability: "nonpayable";
871
+ readonly type: "function";
872
+ }, {
873
+ readonly inputs: readonly [{
874
+ readonly internalType: "uint256";
875
+ readonly name: "usdcAmount";
876
+ readonly type: "uint256";
877
+ }];
878
+ readonly name: "setFee";
879
+ readonly outputs: readonly [];
880
+ readonly stateMutability: "nonpayable";
881
+ readonly type: "function";
882
+ }, {
883
+ readonly inputs: readonly [{
884
+ readonly internalType: "address";
885
+ readonly name: "contractAddress";
886
+ readonly type: "address";
887
+ }];
888
+ readonly name: "setPermission";
889
+ readonly outputs: readonly [];
890
+ readonly stateMutability: "nonpayable";
891
+ readonly type: "function";
892
+ }, {
893
+ readonly inputs: readonly [];
894
+ readonly name: "unpause";
895
+ readonly outputs: readonly [];
896
+ readonly stateMutability: "nonpayable";
897
+ readonly type: "function";
898
+ }, {
899
+ readonly inputs: readonly [];
900
+ readonly name: "usdcToken";
901
+ readonly outputs: readonly [{
902
+ readonly internalType: "contract IERC20";
903
+ readonly name: "";
904
+ readonly type: "address";
905
+ }];
906
+ readonly stateMutability: "view";
907
+ readonly type: "function";
908
+ }];
909
+ static readonly bytecode: `0x${string}`;
910
+ private readonly contractAddress;
911
+ private readonly publicClient;
912
+ private readonly defaultGasMultiplier;
913
+ constructor(contractAddress: string | Address, publicClient: PublicClient);
914
+ /**
915
+ * Helper method to estimate gas for a transaction with optional buffer
916
+ */
917
+ private estimateGasWithBuffer;
918
+ /**
919
+ * Helper method to build transaction parameters with gas options
920
+ */
921
+ private buildTxParams;
922
+ /**
923
+ * Deploy a fresh Mailer contract instance with gas estimation.
924
+ */
925
+ static deploy(walletClient: WalletClient, publicClient: PublicClient, account: Account | Address, usdcTokenAddress: string | Address, ownerAddress: string | Address, gasOptions?: GasOptions): Promise<{
926
+ client: MailerClient;
927
+ result: TransactionResult;
928
+ }>;
929
+ getAddress(): Address;
930
+ /**
931
+ * Core message send with explicit payer control and gas estimation.
932
+ */
933
+ send(to: Address | string, subject: string, body: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
934
+ sendPrepared(to: Address | string, mailId: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
935
+ sendThroughWebhook(to: Address | string, webhookId: string, payer: Address | string, revenueShareToReceiver: boolean, resolveSenderToName: boolean, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
936
+ sendToEmailAddress(toEmail: string, subject: string, body: string, payer: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
937
+ sendPreparedToEmailAddress(toEmail: string, mailId: string, payer: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
938
+ getFee(): Promise<bigint>;
939
+ getSendFee(): Promise<bigint>;
940
+ setFee(newFee: bigint, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
941
+ getUsdcToken(): Promise<Address>;
942
+ getOwner(): Promise<Address>;
943
+ claimRecipientShare(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
944
+ claimOwnerShare(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
945
+ claimExpiredShares(recipient: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
946
+ getRecipientClaimable(recipient: Address | string): Promise<RecipientClaim>;
947
+ getOwnerClaimable(): Promise<bigint>;
948
+ delegateTo(delegate: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
949
+ rejectDelegation(delegatingAddress: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
950
+ getDelegationFee(): Promise<bigint>;
951
+ setDelegationFee(newFee: bigint, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
952
+ setCustomFeePercentage(target: Address | string, percentage: number, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
953
+ clearCustomFeePercentage(target: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
954
+ getCustomFeePercentage(target: Address | string): Promise<number>;
955
+ getCustomFeeDiscount(target: Address | string): Promise<number>;
956
+ setPermission(contractAddress: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
957
+ removePermission(contractAddress: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
958
+ hasPermission(contractAddress: Address | string, wallet: Address | string): Promise<boolean>;
959
+ pause(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
960
+ unpause(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
961
+ emergencyUnpause(walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
962
+ isPaused(): Promise<boolean>;
963
+ distributeClaimableFunds(recipient: Address | string, walletClient: WalletClient, account: Account | Address, gasOptions?: GasOptions): Promise<TransactionResult>;
964
+ }
965
+ export {};
966
+ //# sourceMappingURL=mailer-client.d.ts.map