@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,197 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mailerQueryKeys = void 0;
4
+ exports.useGetSendFee = useGetSendFee;
5
+ exports.useGetDelegationFee = useGetDelegationFee;
6
+ exports.useGetClaimableAmount = useGetClaimableAmount;
7
+ exports.useGetOwnerClaimable = useGetOwnerClaimable;
8
+ exports.useGetDelegation = useGetDelegation;
9
+ exports.useIsPaused = useIsPaused;
10
+ exports.useWalletAddress = useWalletAddress;
11
+ exports.useChainType = useChainType;
12
+ const react_query_1 = require("@tanstack/react-query");
13
+ const MailerProvider_1 = require("../context/MailerProvider");
14
+ /**
15
+ * Query keys for React Query cache management
16
+ */
17
+ exports.mailerQueryKeys = {
18
+ all: ['mailer'],
19
+ sendFee: () => [...exports.mailerQueryKeys.all, 'sendFee'],
20
+ delegationFee: () => [...exports.mailerQueryKeys.all, 'delegationFee'],
21
+ claimableAmount: (address) => [...exports.mailerQueryKeys.all, 'claimableAmount', address],
22
+ ownerClaimable: () => [...exports.mailerQueryKeys.all, 'ownerClaimable'],
23
+ delegation: (address) => [...exports.mailerQueryKeys.all, 'delegation', address],
24
+ isPaused: () => [...exports.mailerQueryKeys.all, 'isPaused'],
25
+ };
26
+ /**
27
+ * Hook to get the current send fee
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * function FeeDisplay() {
32
+ * const { data: fee, isLoading } = useGetSendFee();
33
+ *
34
+ * if (isLoading) return <div>Loading...</div>;
35
+ * return <div>Send Fee: {Number(fee) / 1_000_000} USDC</div>;
36
+ * }
37
+ * ```
38
+ */
39
+ function useGetSendFee(options) {
40
+ const client = (0, MailerProvider_1.useMailerClient)();
41
+ return (0, react_query_1.useQuery)({
42
+ queryKey: exports.mailerQueryKeys.sendFee(),
43
+ queryFn: () => client.getSendFee(),
44
+ staleTime: 5 * 60 * 1000, // 5 minutes - fees don't change often
45
+ ...options,
46
+ });
47
+ }
48
+ /**
49
+ * Hook to get the current delegation fee
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * function DelegationFeeDisplay() {
54
+ * const { data: fee, isLoading } = useGetDelegationFee();
55
+ *
56
+ * if (isLoading) return <div>Loading...</div>;
57
+ * return <div>Delegation Fee: {Number(fee) / 1_000_000} USDC</div>;
58
+ * }
59
+ * ```
60
+ */
61
+ function useGetDelegationFee(options) {
62
+ const client = (0, MailerProvider_1.useMailerClient)();
63
+ return (0, react_query_1.useQuery)({
64
+ queryKey: exports.mailerQueryKeys.delegationFee(),
65
+ queryFn: () => client.getDelegationFee(),
66
+ staleTime: 5 * 60 * 1000, // 5 minutes
67
+ ...options,
68
+ });
69
+ }
70
+ /**
71
+ * Hook to get claimable amount for an address
72
+ *
73
+ * @param address - Address to check (defaults to connected wallet)
74
+ * @example
75
+ * ```tsx
76
+ * function ClaimableBalance() {
77
+ * const { data: amount, isLoading } = useGetClaimableAmount();
78
+ *
79
+ * if (isLoading) return <div>Loading...</div>;
80
+ * if (!amount || amount === 0n) return <div>No claimable balance</div>;
81
+ * return <div>Claimable: {Number(amount) / 1_000_000} USDC</div>;
82
+ * }
83
+ * ```
84
+ */
85
+ function useGetClaimableAmount(address, options) {
86
+ const client = (0, MailerProvider_1.useMailerClient)();
87
+ return (0, react_query_1.useQuery)({
88
+ queryKey: exports.mailerQueryKeys.claimableAmount(address),
89
+ queryFn: () => client.getClaimableAmount(address),
90
+ staleTime: 30 * 1000, // 30 seconds - balances change more frequently
91
+ ...options,
92
+ });
93
+ }
94
+ /**
95
+ * Hook to get owner's claimable fee balance
96
+ *
97
+ * @example
98
+ * ```tsx
99
+ * function OwnerDashboard() {
100
+ * const { data: amount, isLoading } = useGetOwnerClaimable();
101
+ *
102
+ * if (isLoading) return <div>Loading...</div>;
103
+ * return <div>Owner Fees: {Number(amount) / 1_000_000} USDC</div>;
104
+ * }
105
+ * ```
106
+ */
107
+ function useGetOwnerClaimable(options) {
108
+ const client = (0, MailerProvider_1.useMailerClient)();
109
+ return (0, react_query_1.useQuery)({
110
+ queryKey: exports.mailerQueryKeys.ownerClaimable(),
111
+ queryFn: () => client.getOwnerClaimable(),
112
+ staleTime: 30 * 1000, // 30 seconds
113
+ ...options,
114
+ });
115
+ }
116
+ /**
117
+ * Hook to get delegation information for an address
118
+ *
119
+ * @param address - Address to check delegation for (defaults to connected wallet)
120
+ * @example
121
+ * ```tsx
122
+ * function DelegationStatus() {
123
+ * const { data: delegate, isLoading } = useGetDelegation();
124
+ *
125
+ * if (isLoading) return <div>Loading...</div>;
126
+ * if (!delegate) return <div>No delegation set</div>;
127
+ * return <div>Delegated to: {delegate}</div>;
128
+ * }
129
+ * ```
130
+ */
131
+ function useGetDelegation(address, options) {
132
+ const client = (0, MailerProvider_1.useMailerClient)();
133
+ return (0, react_query_1.useQuery)({
134
+ queryKey: exports.mailerQueryKeys.delegation(address),
135
+ queryFn: () => client.getDelegation(address),
136
+ staleTime: 1 * 60 * 1000, // 1 minute
137
+ ...options,
138
+ });
139
+ }
140
+ /**
141
+ * Hook to check if contract is currently paused
142
+ *
143
+ * @example
144
+ * ```tsx
145
+ * function PauseStatus() {
146
+ * const { data: isPaused, isLoading } = useIsPaused();
147
+ *
148
+ * if (isLoading) return <div>Loading...</div>;
149
+ * return (
150
+ * <div>
151
+ * Contract Status: {isPaused ? '⏸️ Paused' : '✅ Active'}
152
+ * </div>
153
+ * );
154
+ * }
155
+ * ```
156
+ */
157
+ function useIsPaused(options) {
158
+ const client = (0, MailerProvider_1.useMailerClient)();
159
+ return (0, react_query_1.useQuery)({
160
+ queryKey: exports.mailerQueryKeys.isPaused(),
161
+ queryFn: () => client.isPaused(),
162
+ staleTime: 10 * 1000, // 10 seconds - pause status is critical
163
+ refetchInterval: 30 * 1000, // Refetch every 30 seconds
164
+ ...options,
165
+ });
166
+ }
167
+ /**
168
+ * Hook to get wallet address from the client
169
+ *
170
+ * @example
171
+ * ```tsx
172
+ * function WalletAddress() {
173
+ * const address = useWalletAddress();
174
+ * return <div>Connected: {address}</div>;
175
+ * }
176
+ * ```
177
+ */
178
+ function useWalletAddress() {
179
+ const client = (0, MailerProvider_1.useMailerClient)();
180
+ return client.getWalletAddress();
181
+ }
182
+ /**
183
+ * Hook to get chain type (EVM or Solana)
184
+ *
185
+ * @example
186
+ * ```tsx
187
+ * function ChainBadge() {
188
+ * const chainType = useChainType();
189
+ * return <div>Chain: {chainType}</div>;
190
+ * }
191
+ * ```
192
+ */
193
+ function useChainType() {
194
+ const client = (0, MailerProvider_1.useMailerClient)();
195
+ return client.getChainType();
196
+ }
197
+ //# sourceMappingURL=useMailerQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMailerQueries.js","sourceRoot":"","sources":["../../../../../src/react/hooks/useMailerQueries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * React integration for @johnqh/mail_box_contracts
3
+ *
4
+ * Provides React Query hooks and context for interacting with the
5
+ * OnchainMailerClient across EVM and Solana chains.
6
+ *
7
+ * @module @johnqh/mail_box_contracts/react
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { MailerProvider, useGetSendFee, useSendMessage } from '@johnqh/mail_box_contracts/react';
12
+ *
13
+ * function App() {
14
+ * return (
15
+ * <MailerProvider wallet={wallet} config={config}>
16
+ * <MessageSender />
17
+ * </MailerProvider>
18
+ * );
19
+ * }
20
+ *
21
+ * function MessageSender() {
22
+ * const { data: fee } = useGetSendFee();
23
+ * const sendMessage = useSendMessage();
24
+ *
25
+ * return (
26
+ * <button onClick={() => sendMessage.mutate({ subject: 'Hi', body: 'Hello!' })}>
27
+ * Send (Fee: {Number(fee) / 1_000_000} USDC)
28
+ * </button>
29
+ * );
30
+ * }
31
+ * ```
32
+ */
33
+ export { MailerProvider, useMailerClient, QueryClient, QueryClientProvider } from './context/MailerProvider';
34
+ export { useGetSendFee, useGetDelegationFee, useGetClaimableAmount, useGetOwnerClaimable, useGetDelegation, useIsPaused, useWalletAddress, useChainType, mailerQueryKeys, } from './hooks/useMailerQueries';
35
+ export { useSendMessage, useSendPrepared, useSendToEmail, useSendPreparedToEmail, useClaimRevenue, useClaimOwnerShare, useClaimExpiredShares, useDelegateTo, useRejectDelegation, useSetFee, useSetDelegationFee, usePause, useUnpause, useEmergencyUnpause, useDistributeClaimableFunds, } from './hooks/useMailerMutations';
36
+ export type { ChainConfig, MessageResult, UnifiedTransaction } from '../unified/types';
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG7G,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * React integration for @johnqh/mail_box_contracts
4
+ *
5
+ * Provides React Query hooks and context for interacting with the
6
+ * OnchainMailerClient across EVM and Solana chains.
7
+ *
8
+ * @module @johnqh/mail_box_contracts/react
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * import { MailerProvider, useGetSendFee, useSendMessage } from '@johnqh/mail_box_contracts/react';
13
+ *
14
+ * function App() {
15
+ * return (
16
+ * <MailerProvider wallet={wallet} config={config}>
17
+ * <MessageSender />
18
+ * </MailerProvider>
19
+ * );
20
+ * }
21
+ *
22
+ * function MessageSender() {
23
+ * const { data: fee } = useGetSendFee();
24
+ * const sendMessage = useSendMessage();
25
+ *
26
+ * return (
27
+ * <button onClick={() => sendMessage.mutate({ subject: 'Hi', body: 'Hello!' })}>
28
+ * Send (Fee: {Number(fee) / 1_000_000} USDC)
29
+ * </button>
30
+ * );
31
+ * }
32
+ * ```
33
+ */
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.useDistributeClaimableFunds = exports.useEmergencyUnpause = exports.useUnpause = exports.usePause = exports.useSetDelegationFee = exports.useSetFee = exports.useRejectDelegation = exports.useDelegateTo = exports.useClaimExpiredShares = exports.useClaimOwnerShare = exports.useClaimRevenue = exports.useSendPreparedToEmail = exports.useSendToEmail = exports.useSendPrepared = exports.useSendMessage = exports.mailerQueryKeys = exports.useChainType = exports.useWalletAddress = exports.useIsPaused = exports.useGetDelegation = exports.useGetOwnerClaimable = exports.useGetClaimableAmount = exports.useGetDelegationFee = exports.useGetSendFee = exports.QueryClientProvider = exports.QueryClient = exports.useMailerClient = exports.MailerProvider = void 0;
36
+ // Context and Provider
37
+ var MailerProvider_1 = require("./context/MailerProvider");
38
+ Object.defineProperty(exports, "MailerProvider", { enumerable: true, get: function () { return MailerProvider_1.MailerProvider; } });
39
+ Object.defineProperty(exports, "useMailerClient", { enumerable: true, get: function () { return MailerProvider_1.useMailerClient; } });
40
+ Object.defineProperty(exports, "QueryClient", { enumerable: true, get: function () { return MailerProvider_1.QueryClient; } });
41
+ Object.defineProperty(exports, "QueryClientProvider", { enumerable: true, get: function () { return MailerProvider_1.QueryClientProvider; } });
42
+ // Query Hooks (Read Operations)
43
+ var useMailerQueries_1 = require("./hooks/useMailerQueries");
44
+ Object.defineProperty(exports, "useGetSendFee", { enumerable: true, get: function () { return useMailerQueries_1.useGetSendFee; } });
45
+ Object.defineProperty(exports, "useGetDelegationFee", { enumerable: true, get: function () { return useMailerQueries_1.useGetDelegationFee; } });
46
+ Object.defineProperty(exports, "useGetClaimableAmount", { enumerable: true, get: function () { return useMailerQueries_1.useGetClaimableAmount; } });
47
+ Object.defineProperty(exports, "useGetOwnerClaimable", { enumerable: true, get: function () { return useMailerQueries_1.useGetOwnerClaimable; } });
48
+ Object.defineProperty(exports, "useGetDelegation", { enumerable: true, get: function () { return useMailerQueries_1.useGetDelegation; } });
49
+ Object.defineProperty(exports, "useIsPaused", { enumerable: true, get: function () { return useMailerQueries_1.useIsPaused; } });
50
+ Object.defineProperty(exports, "useWalletAddress", { enumerable: true, get: function () { return useMailerQueries_1.useWalletAddress; } });
51
+ Object.defineProperty(exports, "useChainType", { enumerable: true, get: function () { return useMailerQueries_1.useChainType; } });
52
+ Object.defineProperty(exports, "mailerQueryKeys", { enumerable: true, get: function () { return useMailerQueries_1.mailerQueryKeys; } });
53
+ // Mutation Hooks (Write Operations)
54
+ var useMailerMutations_1 = require("./hooks/useMailerMutations");
55
+ Object.defineProperty(exports, "useSendMessage", { enumerable: true, get: function () { return useMailerMutations_1.useSendMessage; } });
56
+ Object.defineProperty(exports, "useSendPrepared", { enumerable: true, get: function () { return useMailerMutations_1.useSendPrepared; } });
57
+ Object.defineProperty(exports, "useSendToEmail", { enumerable: true, get: function () { return useMailerMutations_1.useSendToEmail; } });
58
+ Object.defineProperty(exports, "useSendPreparedToEmail", { enumerable: true, get: function () { return useMailerMutations_1.useSendPreparedToEmail; } });
59
+ Object.defineProperty(exports, "useClaimRevenue", { enumerable: true, get: function () { return useMailerMutations_1.useClaimRevenue; } });
60
+ Object.defineProperty(exports, "useClaimOwnerShare", { enumerable: true, get: function () { return useMailerMutations_1.useClaimOwnerShare; } });
61
+ Object.defineProperty(exports, "useClaimExpiredShares", { enumerable: true, get: function () { return useMailerMutations_1.useClaimExpiredShares; } });
62
+ Object.defineProperty(exports, "useDelegateTo", { enumerable: true, get: function () { return useMailerMutations_1.useDelegateTo; } });
63
+ Object.defineProperty(exports, "useRejectDelegation", { enumerable: true, get: function () { return useMailerMutations_1.useRejectDelegation; } });
64
+ Object.defineProperty(exports, "useSetFee", { enumerable: true, get: function () { return useMailerMutations_1.useSetFee; } });
65
+ Object.defineProperty(exports, "useSetDelegationFee", { enumerable: true, get: function () { return useMailerMutations_1.useSetDelegationFee; } });
66
+ Object.defineProperty(exports, "usePause", { enumerable: true, get: function () { return useMailerMutations_1.usePause; } });
67
+ Object.defineProperty(exports, "useUnpause", { enumerable: true, get: function () { return useMailerMutations_1.useUnpause; } });
68
+ Object.defineProperty(exports, "useEmergencyUnpause", { enumerable: true, get: function () { return useMailerMutations_1.useEmergencyUnpause; } });
69
+ Object.defineProperty(exports, "useDistributeClaimableFunds", { enumerable: true, get: function () { return useMailerMutations_1.useDistributeClaimableFunds; } });
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/react/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;AAEH,uBAAuB;AACvB,2DAA6G;AAApG,gHAAA,cAAc,OAAA;AAAE,iHAAA,eAAe,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,qHAAA,mBAAmB,OAAA;AAE1E,gCAAgC;AAChC,6DAUkC;AAThC,iHAAA,aAAa,OAAA;AACb,uHAAA,mBAAmB,OAAA;AACnB,yHAAA,qBAAqB,OAAA;AACrB,wHAAA,oBAAoB,OAAA;AACpB,oHAAA,gBAAgB,OAAA;AAChB,+GAAA,WAAW,OAAA;AACX,oHAAA,gBAAgB,OAAA;AAChB,gHAAA,YAAY,OAAA;AACZ,mHAAA,eAAe,OAAA;AAGjB,oCAAoC;AACpC,iEAgBoC;AAflC,oHAAA,cAAc,OAAA;AACd,qHAAA,eAAe,OAAA;AACf,oHAAA,cAAc,OAAA;AACd,4HAAA,sBAAsB,OAAA;AACtB,qHAAA,eAAe,OAAA;AACf,wHAAA,kBAAkB,OAAA;AAClB,2HAAA,qBAAqB,OAAA;AACrB,mHAAA,aAAa,OAAA;AACb,yHAAA,mBAAmB,OAAA;AACnB,+GAAA,SAAS,OAAA;AACT,yHAAA,mBAAmB,OAAA;AACnB,8GAAA,QAAQ,OAAA;AACR,gHAAA,UAAU,OAAA;AACV,yHAAA,mBAAmB,OAAA;AACnB,iIAAA,2BAA2B,OAAA"}
@@ -0,0 +1,3 @@
1
+ export { MailerClient, type Wallet, type ComputeUnitOptions, type TransactionResult } from './mailer-client.js';
2
+ export * from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/solana/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.MailerClient = void 0;
18
+ var mailer_client_js_1 = require("./mailer-client");
19
+ Object.defineProperty(exports, "MailerClient", { enumerable: true, get: function () { return mailer_client_js_1.MailerClient; } });
20
+ __exportStar(require("./types"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/solana/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAK4B;AAJ1B,gHAAA,YAAY,OAAA;AAKd,6CAA2B"}
@@ -0,0 +1,282 @@
1
+ import { Connection, PublicKey, Transaction, Keypair, ConfirmOptions } from '@solana/web3.js';
2
+ import { Optional } from '@sudobility/types';
3
+ import { ClaimableInfo, MailerFees } from './types.js';
4
+ /**
5
+ * Interface for wallet adapter pattern
6
+ */
7
+ export interface Wallet {
8
+ publicKey: PublicKey;
9
+ signTransaction<T extends Transaction>(transaction: T): Promise<T>;
10
+ signAllTransactions<T extends Transaction>(transactions: T[]): Promise<T[]>;
11
+ }
12
+ /**
13
+ * Compute unit optimization options for Solana transactions
14
+ */
15
+ export interface ComputeUnitOptions {
16
+ /**
17
+ * Compute unit limit for the transaction (default: 200,000)
18
+ * Max: 1,400,000
19
+ */
20
+ computeUnitLimit?: number;
21
+ /**
22
+ * Priority fee in micro-lamports per compute unit
23
+ * Higher values = faster inclusion during congestion
24
+ */
25
+ computeUnitPrice?: number;
26
+ /**
27
+ * Automatically simulate and optimize compute units
28
+ * @default false
29
+ */
30
+ autoOptimize?: boolean;
31
+ /**
32
+ * Multiplier for compute unit buffer when auto-optimizing
33
+ * @default 1.2 (20% buffer)
34
+ */
35
+ computeUnitMultiplier?: number;
36
+ /**
37
+ * Skip compute unit settings entirely
38
+ * @default false
39
+ */
40
+ skipComputeUnits?: boolean;
41
+ }
42
+ /**
43
+ * Transaction result with compute unit details
44
+ */
45
+ export interface TransactionResult {
46
+ /**
47
+ * Transaction signature
48
+ */
49
+ signature: string;
50
+ /**
51
+ * Simulated compute units (if auto-optimized)
52
+ */
53
+ simulatedUnits?: number;
54
+ /**
55
+ * Actual compute unit limit set
56
+ */
57
+ computeUnitLimit?: number;
58
+ /**
59
+ * Priority fee per compute unit (if set)
60
+ */
61
+ computeUnitPrice?: number;
62
+ }
63
+ /**
64
+ * @class MailerClient
65
+ * @description Native Solana program client for the Mailer program
66
+ * @notice Provides easy-to-use methods for sending messages with USDC fees and revenue sharing
67
+ *
68
+ * ## Key Features:
69
+ * - **Priority Messages**: Full fee (0.1 USDC) with 90% revenue share to recipient
70
+ * - **Standard Messages**: 10% fee only (0.01 USDC) with no revenue share
71
+ * - **Revenue Claims**: 60-day claim period for priority message revenue shares
72
+ * - **Delegation Management**: Delegate message handling with rejection capability
73
+ *
74
+ * ## Usage Examples:
75
+ * ```typescript
76
+ * // Connect to existing deployed program
77
+ * const connection = new Connection('https://api.devnet.solana.com');
78
+ * const wallet = new WalletAdapter(keypair);
79
+ * const programId = new PublicKey('9FLkBDGpZBcR8LMsQ7MwwV6X9P4TDFgN3DeRh5qYyHJF');
80
+ * const usdcMint = new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
81
+ * const client = new MailerClient(connection, wallet, programId, usdcMint);
82
+ *
83
+ * // Send message with revenue sharing to recipient
84
+ * await client.send('recipient-address', 'Subject', 'Message body', true);
85
+ *
86
+ * // Claim your revenue share within 60 days (as recipient)
87
+ * await client.claimRecipientShare();
88
+ *
89
+ * // Check claimable amount
90
+ * const info = await client.getRecipientClaimable();
91
+ * if (info) console.log(`Claimable: ${formatUSDC(info.amount)} USDC`);
92
+ * ```
93
+ *
94
+ * @author Mailer Team
95
+ * @version 2.0.0 - Native Solana Program (no Anchor)
96
+ */
97
+ export declare class MailerClient {
98
+ private connection;
99
+ private wallet;
100
+ private programId;
101
+ private usdcMint;
102
+ private mailerStatePda;
103
+ private mailerBump;
104
+ private defaultComputeUnitMultiplier;
105
+ constructor(connection: Connection, wallet: Wallet, programId: PublicKey, usdcMint: PublicKey);
106
+ /**
107
+ * Optimize compute units for a transaction
108
+ * @param transaction Transaction to optimize
109
+ * @param options Compute unit options
110
+ * @returns Optimized transaction with compute budget instructions
111
+ */
112
+ private optimizeComputeUnits;
113
+ /**
114
+ * Initialize the mailer program (owner only)
115
+ * @param computeOptions Compute unit optimization options
116
+ */
117
+ initialize(computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
118
+ /**
119
+ * Send a message with optional revenue sharing
120
+ * @param to Recipient's public key or address string who receives message and potential revenue share
121
+ * @param subject Message subject
122
+ * @param body Message body
123
+ * @param revenueShareToReceiver If true, recipient gets 90% revenue share; if false, no revenue share
124
+ * @param resolveSenderToName If true, resolve sender address to name via off-chain service
125
+ * @param computeOptions Compute unit optimization options
126
+ * @returns Transaction result with signature and compute details
127
+ */
128
+ send(to: string | PublicKey, subject: string, body: string, revenueShareToReceiver?: boolean, resolveSenderToName?: boolean, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
129
+ /**
130
+ * Claim recipient share of revenue
131
+ * @returns Transaction result
132
+ */
133
+ claimRecipientShare(computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
134
+ /**
135
+ * Claim owner share of fees (owner only)
136
+ * @returns Transaction result
137
+ */
138
+ claimOwnerShare(computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
139
+ /**
140
+ * Claim expired recipient shares and move them under owner control
141
+ * @param recipient Recipient whose expired shares to reclaim
142
+ * @param options Transaction confirm options
143
+ * @returns Transaction signature
144
+ */
145
+ claimExpiredShares(recipient: string | PublicKey, options?: ConfirmOptions, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
146
+ /**
147
+ * Delegate message handling to another address
148
+ * @param delegate Address to delegate to, or null to clear delegation
149
+ * @returns Transaction signature
150
+ */
151
+ delegateTo(delegate?: Optional<string | PublicKey>, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
152
+ /**
153
+ * Reject a delegation made to you
154
+ * @param delegator Address that delegated to you
155
+ * @returns Transaction signature
156
+ */
157
+ rejectDelegation(delegator: string | PublicKey, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
158
+ /**
159
+ * Set the send fee (owner only)
160
+ * @param newFee New fee in USDC micro-units (6 decimals)
161
+ * @param computeOptions Compute unit optimization options
162
+ * @returns Transaction result
163
+ */
164
+ setFee(newFee: number | bigint, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
165
+ /**
166
+ * Set the delegation fee (owner only)
167
+ * @param newFee New delegation fee in USDC micro-units (6 decimals)
168
+ * @returns Transaction signature
169
+ */
170
+ setDelegationFee(newFee: number | bigint, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
171
+ setCustomFeePercentage(account: string | PublicKey, percentage: number, payer?: Optional<string | PublicKey>, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
172
+ clearCustomFeePercentage(account: string | PublicKey, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
173
+ getCustomFeePercentage(account: string | PublicKey): Promise<number>;
174
+ /**
175
+ * Get current fees from the mailer state
176
+ * @returns MailerFees object with current fees
177
+ */
178
+ getFees(): Promise<MailerFees>;
179
+ /**
180
+ * Get recipient claimable information
181
+ * @param recipient Optional recipient address, defaults to wallet address
182
+ * @returns ClaimableInfo or null if no claimable amount
183
+ */
184
+ getRecipientClaimable(recipient?: Optional<PublicKey>): Promise<Optional<ClaimableInfo>>;
185
+ /**
186
+ * Get owner claimable amount
187
+ * @returns Owner claimable amount in USDC micro-units
188
+ */
189
+ getOwnerClaimable(): Promise<number>;
190
+ /**
191
+ * Get delegation information for an address
192
+ * @param delegator Address to check delegation for, defaults to wallet address
193
+ * @returns Delegation info or null if no delegation
194
+ */
195
+ getDelegation(delegator?: Optional<PublicKey>): Promise<Optional<{
196
+ delegator: string;
197
+ delegate?: Optional<string>;
198
+ }>>;
199
+ /**
200
+ * Get the mailer state PDA address
201
+ * @returns PublicKey of the mailer state PDA
202
+ */
203
+ getMailerStatePda(): PublicKey;
204
+ /**
205
+ * Send a message to an email address (no wallet known)
206
+ * Charges only 10% owner fee since recipient wallet is unknown
207
+ * @param toEmail Email address of the recipient
208
+ * @param subject Message subject
209
+ * @param body Message body
210
+ * @param options Transaction confirm options
211
+ * @returns Transaction signature
212
+ */
213
+ sendToEmail(toEmail: string, subject: string, body: string, options?: ConfirmOptions, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
214
+ /**
215
+ * Send a prepared message to an email address (no wallet known)
216
+ * Charges only 10% owner fee since recipient wallet is unknown
217
+ * @param toEmail Email address of the recipient
218
+ * @param mailId Pre-prepared message ID
219
+ * @param options Transaction confirm options
220
+ * @returns Transaction signature
221
+ */
222
+ sendPreparedToEmail(toEmail: string, mailId: string, options?: ConfirmOptions, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
223
+ /**
224
+ * Send a prepared message using a mailId (to match EVM behavior)
225
+ * @param to Recipient's public key or address string
226
+ * @param mailId Pre-prepared message identifier
227
+ * @param revenueShareToReceiver If true, recipient gets 90% revenue share
228
+ * @param resolveSenderToName If true, resolve sender address to name
229
+ * @returns Transaction signature
230
+ */
231
+ sendPrepared(to: string | PublicKey, mailId: string, revenueShareToReceiver?: boolean, resolveSenderToName?: boolean, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
232
+ sendThroughWebhook(to: string | PublicKey, webhookId: string, revenueShareToReceiver?: boolean, resolveSenderToName?: boolean, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
233
+ /**
234
+ * Pause the contract and distribute owner claimable funds (owner only)
235
+ * @param options Transaction confirm options
236
+ * @returns Transaction signature
237
+ */
238
+ pause(options?: ConfirmOptions, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
239
+ /**
240
+ * Unpause the contract (owner only)
241
+ * @param options Transaction confirm options
242
+ * @returns Transaction signature
243
+ */
244
+ unpause(options?: ConfirmOptions, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
245
+ /**
246
+ * Emergency unpause without fund distribution (owner only)
247
+ * @param options Transaction confirm options
248
+ * @returns Transaction signature
249
+ */
250
+ emergencyUnpause(options?: ConfirmOptions, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
251
+ /**
252
+ * Distribute claimable funds to a recipient when contract is paused
253
+ * @param recipient Recipient address to distribute funds for
254
+ * @param options Transaction confirm options
255
+ * @returns Transaction signature
256
+ */
257
+ distributeClaimableFunds(recipient: string | PublicKey, options?: ConfirmOptions, computeOptions?: ComputeUnitOptions): Promise<TransactionResult>;
258
+ /**
259
+ * Get the current send fee
260
+ * @returns Send fee in USDC micro-units (6 decimals)
261
+ */
262
+ getSendFee(): Promise<bigint>;
263
+ /**
264
+ * Check if contract is currently paused
265
+ * @returns True if contract is paused, false otherwise
266
+ */
267
+ isPaused(): Promise<boolean>;
268
+ /**
269
+ * Send and confirm a transaction
270
+ * @param transaction Transaction to send
271
+ * @param options Confirm options
272
+ * @returns Transaction signature
273
+ */
274
+ private sendTransaction;
275
+ /**
276
+ * Create a simple wallet from a keypair for testing
277
+ * @param keypair Solana keypair
278
+ * @returns Wallet interface implementation
279
+ */
280
+ static createWallet(keypair: Keypair): Wallet;
281
+ }
282
+ //# sourceMappingURL=mailer-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailer-client.d.ts","sourceRoot":"","sources":["../../../../src/solana/mailer-client.ts"],"names":[],"mappings":"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"}