@sudobility/contracts 0.15.1 → 1.9.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 (171) hide show
  1. package/README.md +2 -3
  2. package/artifacts/contracts/Mailer.sol/Mailer.dbg.json +1 -1
  3. package/artifacts/contracts/Mailer.sol/Mailer.json +2 -278
  4. package/artifacts/contracts/MockUSDC.sol/MockUSDC.dbg.json +1 -1
  5. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.dbg.json +1 -1
  6. package/dist/evm/src/evm/index.d.ts +1 -1
  7. package/dist/evm/src/evm/index.d.ts.map +1 -1
  8. package/dist/evm/src/evm/index.js +4 -4
  9. package/dist/evm/src/evm/index.js.map +1 -1
  10. package/dist/evm/src/evm/mailer-client.d.ts +210 -0
  11. package/dist/evm/src/evm/mailer-client.d.ts.map +1 -0
  12. package/dist/evm/src/evm/mailer-client.js +417 -0
  13. package/dist/evm/src/evm/mailer-client.js.map +1 -0
  14. package/dist/evm/typechain-types/Mailer.d.ts +10 -177
  15. package/dist/evm/typechain-types/Mailer.d.ts.map +1 -1
  16. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts +1 -216
  17. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  18. package/dist/evm/typechain-types/factories/Mailer__factory.js +1 -277
  19. package/dist/evm/typechain-types/factories/Mailer__factory.js.map +1 -1
  20. package/dist/solana/solana/index.d.ts +1 -1
  21. package/dist/solana/solana/index.d.ts.map +1 -1
  22. package/dist/solana/solana/index.js +1 -4
  23. package/dist/solana/solana/index.js.map +1 -1
  24. package/dist/solana/solana/mailer-client.d.ts +209 -0
  25. package/dist/solana/solana/mailer-client.d.ts.map +1 -0
  26. package/dist/solana/solana/mailer-client.js +728 -0
  27. package/dist/solana/solana/mailer-client.js.map +1 -0
  28. package/dist/solana/solana/types.d.ts +2 -3
  29. package/dist/solana/solana/types.d.ts.map +1 -1
  30. package/dist/solana/solana/types.js.map +1 -1
  31. package/dist/unified/src/evm/index.d.ts +1 -1
  32. package/dist/unified/src/evm/index.d.ts.map +1 -1
  33. package/dist/unified/src/evm/index.js +4 -4
  34. package/dist/unified/src/evm/index.js.map +1 -1
  35. package/dist/unified/src/evm/mailer-client.d.ts +210 -0
  36. package/dist/unified/src/evm/mailer-client.d.ts.map +1 -0
  37. package/dist/unified/src/evm/mailer-client.js +417 -0
  38. package/dist/unified/src/evm/mailer-client.js.map +1 -0
  39. package/dist/unified/src/react/context/MailerProvider.d.ts +20 -26
  40. package/dist/unified/src/react/context/MailerProvider.d.ts.map +1 -1
  41. package/dist/unified/src/react/context/MailerProvider.js +26 -26
  42. package/dist/unified/src/react/context/MailerProvider.js.map +1 -1
  43. package/dist/unified/src/react/hooks/useMailerMutations.d.ts +192 -225
  44. package/dist/unified/src/react/hooks/useMailerMutations.d.ts.map +1 -1
  45. package/dist/unified/src/react/hooks/useMailerMutations.js +266 -263
  46. package/dist/unified/src/react/hooks/useMailerMutations.js.map +1 -1
  47. package/dist/unified/src/react/hooks/useMailerQueries.d.ts +63 -117
  48. package/dist/unified/src/react/hooks/useMailerQueries.d.ts.map +1 -1
  49. package/dist/unified/src/react/hooks/useMailerQueries.js +104 -239
  50. package/dist/unified/src/react/hooks/useMailerQueries.js.map +1 -1
  51. package/dist/unified/src/react/index.d.ts +3 -5
  52. package/dist/unified/src/react/index.d.ts.map +1 -1
  53. package/dist/unified/src/react/index.js +26 -41
  54. package/dist/unified/src/react/index.js.map +1 -1
  55. package/dist/unified/src/solana/index.d.ts +1 -1
  56. package/dist/unified/src/solana/index.d.ts.map +1 -1
  57. package/dist/unified/src/solana/index.js +1 -4
  58. package/dist/unified/src/solana/index.js.map +1 -1
  59. package/dist/unified/src/solana/mailer-client.d.ts +209 -0
  60. package/dist/unified/src/solana/mailer-client.d.ts.map +1 -0
  61. package/dist/unified/src/solana/mailer-client.js +728 -0
  62. package/dist/unified/src/solana/mailer-client.js.map +1 -0
  63. package/dist/unified/src/solana/types.d.ts +2 -3
  64. package/dist/unified/src/solana/types.d.ts.map +1 -1
  65. package/dist/unified/src/solana/types.js.map +1 -1
  66. package/dist/unified/src/unified/index.d.ts +1 -1
  67. package/dist/unified/src/unified/index.d.ts.map +1 -1
  68. package/dist/unified/src/unified/onchain-mailer-client.d.ts +247 -192
  69. package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -1
  70. package/dist/unified/src/unified/onchain-mailer-client.js +1462 -551
  71. package/dist/unified/src/unified/onchain-mailer-client.js.map +1 -1
  72. package/dist/unified/src/unified/types.d.ts +6 -23
  73. package/dist/unified/src/unified/types.d.ts.map +1 -1
  74. package/dist/unified/src/utils/chain-config.d.ts +2 -4
  75. package/dist/unified/src/utils/chain-config.d.ts.map +1 -1
  76. package/dist/unified/src/utils/chain-config.js +36 -46
  77. package/dist/unified/src/utils/chain-config.js.map +1 -1
  78. package/dist/unified/typechain-types/Mailer.d.ts +10 -177
  79. package/dist/unified/typechain-types/Mailer.d.ts.map +1 -1
  80. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts +1 -216
  81. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  82. package/dist/unified/typechain-types/factories/Mailer__factory.js +1 -277
  83. package/dist/unified/typechain-types/factories/Mailer__factory.js.map +1 -1
  84. package/dist/unified-esm/src/evm/index.d.ts +1 -1
  85. package/dist/unified-esm/src/evm/index.d.ts.map +1 -1
  86. package/dist/unified-esm/src/evm/index.js +2 -2
  87. package/dist/unified-esm/src/evm/index.js.map +1 -1
  88. package/dist/unified-esm/src/evm/mailer-client.d.ts +210 -0
  89. package/dist/unified-esm/src/evm/mailer-client.d.ts.map +1 -0
  90. package/dist/unified-esm/src/evm/mailer-client.js +413 -0
  91. package/dist/unified-esm/src/evm/mailer-client.js.map +1 -0
  92. package/dist/unified-esm/src/react/context/MailerProvider.d.ts +20 -26
  93. package/dist/unified-esm/src/react/context/MailerProvider.d.ts.map +1 -1
  94. package/dist/unified-esm/src/react/context/MailerProvider.js +26 -25
  95. package/dist/unified-esm/src/react/context/MailerProvider.js.map +1 -1
  96. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts +192 -225
  97. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts.map +1 -1
  98. package/dist/unified-esm/src/react/hooks/useMailerMutations.js +262 -254
  99. package/dist/unified-esm/src/react/hooks/useMailerMutations.js.map +1 -1
  100. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts +63 -117
  101. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts.map +1 -1
  102. package/dist/unified-esm/src/react/hooks/useMailerQueries.js +102 -232
  103. package/dist/unified-esm/src/react/hooks/useMailerQueries.js.map +1 -1
  104. package/dist/unified-esm/src/react/index.d.ts +3 -5
  105. package/dist/unified-esm/src/react/index.d.ts.map +1 -1
  106. package/dist/unified-esm/src/react/index.js +5 -9
  107. package/dist/unified-esm/src/react/index.js.map +1 -1
  108. package/dist/unified-esm/src/solana/index.d.ts +1 -1
  109. package/dist/unified-esm/src/solana/index.d.ts.map +1 -1
  110. package/dist/unified-esm/src/solana/index.js +1 -2
  111. package/dist/unified-esm/src/solana/index.js.map +1 -1
  112. package/dist/unified-esm/src/solana/mailer-client.d.ts +209 -0
  113. package/dist/unified-esm/src/solana/mailer-client.d.ts.map +1 -0
  114. package/dist/unified-esm/src/solana/mailer-client.js +724 -0
  115. package/dist/unified-esm/src/solana/mailer-client.js.map +1 -0
  116. package/dist/unified-esm/src/solana/types.d.ts +2 -3
  117. package/dist/unified-esm/src/solana/types.d.ts.map +1 -1
  118. package/dist/unified-esm/src/solana/types.js.map +1 -1
  119. package/dist/unified-esm/src/unified/index.d.ts +1 -1
  120. package/dist/unified-esm/src/unified/index.d.ts.map +1 -1
  121. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts +247 -192
  122. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts.map +1 -1
  123. package/dist/unified-esm/src/unified/onchain-mailer-client.js +1462 -551
  124. package/dist/unified-esm/src/unified/onchain-mailer-client.js.map +1 -1
  125. package/dist/unified-esm/src/unified/types.d.ts +6 -23
  126. package/dist/unified-esm/src/unified/types.d.ts.map +1 -1
  127. package/dist/unified-esm/src/utils/chain-config.d.ts +2 -4
  128. package/dist/unified-esm/src/utils/chain-config.d.ts.map +1 -1
  129. package/dist/unified-esm/src/utils/chain-config.js +35 -46
  130. package/dist/unified-esm/src/utils/chain-config.js.map +1 -1
  131. package/dist/unified-esm/typechain-types/Mailer.d.ts +10 -177
  132. package/dist/unified-esm/typechain-types/Mailer.d.ts.map +1 -1
  133. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts +1 -216
  134. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  135. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js +1 -277
  136. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js.map +1 -1
  137. package/package.json +11 -22
  138. package/programs/mailer/src/lib.rs +171 -1026
  139. package/programs/mailer/tests/integration_tests.rs +65 -586
  140. package/typechain-types/Mailer.ts +8 -319
  141. package/typechain-types/factories/Mailer__factory.ts +1 -277
  142. package/artifacts/contracts/Mailer.sol/Mailer.d.ts +0 -1146
  143. package/artifacts/contracts/Mailer.sol/artifacts.d.ts +0 -21
  144. package/artifacts/contracts/MockUSDC.sol/MockUSDC.d.ts +0 -284
  145. package/artifacts/contracts/MockUSDC.sol/artifacts.d.ts +0 -21
  146. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.d.ts +0 -157
  147. package/artifacts/contracts/interfaces/IERC20.sol/artifacts.d.ts +0 -21
  148. package/dist/evm/src/evm/evm-mailer-client.d.ts +0 -1062
  149. package/dist/evm/src/evm/evm-mailer-client.d.ts.map +0 -1
  150. package/dist/evm/src/evm/evm-mailer-client.js +0 -924
  151. package/dist/evm/src/evm/evm-mailer-client.js.map +0 -1
  152. package/dist/solana/solana/solana-mailer-client.d.ts +0 -209
  153. package/dist/solana/solana/solana-mailer-client.d.ts.map +0 -1
  154. package/dist/solana/solana/solana-mailer-client.js +0 -1004
  155. package/dist/solana/solana/solana-mailer-client.js.map +0 -1
  156. package/dist/unified/src/evm/evm-mailer-client.d.ts +0 -1062
  157. package/dist/unified/src/evm/evm-mailer-client.d.ts.map +0 -1
  158. package/dist/unified/src/evm/evm-mailer-client.js +0 -924
  159. package/dist/unified/src/evm/evm-mailer-client.js.map +0 -1
  160. package/dist/unified/src/solana/solana-mailer-client.d.ts +0 -209
  161. package/dist/unified/src/solana/solana-mailer-client.d.ts.map +0 -1
  162. package/dist/unified/src/solana/solana-mailer-client.js +0 -1004
  163. package/dist/unified/src/solana/solana-mailer-client.js.map +0 -1
  164. package/dist/unified-esm/src/evm/evm-mailer-client.d.ts +0 -1062
  165. package/dist/unified-esm/src/evm/evm-mailer-client.d.ts.map +0 -1
  166. package/dist/unified-esm/src/evm/evm-mailer-client.js +0 -920
  167. package/dist/unified-esm/src/evm/evm-mailer-client.js.map +0 -1
  168. package/dist/unified-esm/src/solana/solana-mailer-client.d.ts +0 -209
  169. package/dist/unified-esm/src/solana/solana-mailer-client.d.ts.map +0 -1
  170. package/dist/unified-esm/src/solana/solana-mailer-client.js +0 -1000
  171. package/dist/unified-esm/src/solana/solana-mailer-client.js.map +0 -1
@@ -1,16 +1,7 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { QueryClient } from '@tanstack/react-query';
3
3
  import { OnchainMailerClient } from '../../unified/onchain-mailer-client';
4
- import type { ChainInfo } from '../../unified/types';
5
- import type { Wallet } from '../../unified/types';
6
- /**
7
- * Context for Mailer client and configuration
8
- */
9
- interface MailerContextValue {
10
- client: OnchainMailerClient;
11
- wallet: Wallet;
12
- chainInfo: ChainInfo;
13
- }
4
+ import type { ChainConfig } from '../../unified/types';
14
5
  /**
15
6
  * Props for MailerProvider
16
7
  */
@@ -18,9 +9,9 @@ export interface MailerProviderProps {
18
9
  /** Child components */
19
10
  children: ReactNode;
20
11
  /** Wallet instance (EVM or Solana) */
21
- wallet: Wallet;
22
- /** Chain information */
23
- chainInfo: ChainInfo;
12
+ wallet: any;
13
+ /** Chain configuration */
14
+ config: ChainConfig;
24
15
  /** Optional React Query client (creates default if not provided) */
25
16
  queryClient?: QueryClient;
26
17
  }
@@ -33,14 +24,22 @@ export interface MailerProviderProps {
33
24
  * @example
34
25
  * ```tsx
35
26
  * import { MailerProvider } from '@johnqh/mail_box_contracts/react';
36
- * import { getChainInfo } from '@sudobility/configs';
37
27
  *
38
28
  * function App() {
39
29
  * const wallet = useWallet(); // Your wallet hook
40
- * const chainInfo = getChainInfo('ethereum'); // Get chain configuration
30
+ * const config = {
31
+ * evm: {
32
+ * rpc: 'https://eth-mainnet.g.alchemy.com/v2/YOUR-KEY',
33
+ * chainId: 1,
34
+ * contracts: {
35
+ * mailer: '0x123...',
36
+ * usdc: '0x456...'
37
+ * }
38
+ * }
39
+ * };
41
40
  *
42
41
  * return (
43
- * <MailerProvider wallet={wallet} chainInfo={chainInfo}>
42
+ * <MailerProvider wallet={wallet} config={config}>
44
43
  * <YourApp />
45
44
  * </MailerProvider>
46
45
  * );
@@ -63,7 +62,7 @@ export interface MailerProviderProps {
63
62
  * return (
64
63
  * <MailerProvider
65
64
  * wallet={wallet}
66
- * chainInfo={chainInfo}
65
+ * config={config}
67
66
  * queryClient={customQueryClient}
68
67
  * >
69
68
  * <YourApp />
@@ -72,9 +71,9 @@ export interface MailerProviderProps {
72
71
  * }
73
72
  * ```
74
73
  */
75
- export declare function MailerProvider({ children, wallet, chainInfo, queryClient }: MailerProviderProps): React.JSX.Element;
74
+ export declare function MailerProvider({ children, wallet, config, queryClient }: MailerProviderProps): React.JSX.Element;
76
75
  /**
77
- * Hook to access the Mailer context
76
+ * Hook to access the OnchainMailerClient instance
78
77
  *
79
78
  * Must be used within a MailerProvider component.
80
79
  *
@@ -83,11 +82,11 @@ export declare function MailerProvider({ children, wallet, chainInfo, queryClien
83
82
  * @example
84
83
  * ```tsx
85
84
  * function MyComponent() {
86
- * const { client, wallet, chainInfo } = useMailerContext();
85
+ * const client = useMailerClient();
87
86
  *
88
87
  * const handleDirectCall = async () => {
89
88
  * // Direct API call (not recommended, use hooks instead)
90
- * const fee = await client.getSendFee(wallet, chainInfo);
89
+ * const fee = await client.getSendFee();
91
90
  * console.log('Fee:', fee);
92
91
  * };
93
92
  *
@@ -95,11 +94,6 @@ export declare function MailerProvider({ children, wallet, chainInfo, queryClien
95
94
  * }
96
95
  * ```
97
96
  */
98
- export declare function useMailerContext(): MailerContextValue;
99
- /**
100
- * Hook to access the OnchainMailerClient instance
101
- * @deprecated Use useMailerContext() instead to get client, wallet, and chainInfo
102
- */
103
97
  export declare function useMailerClient(): OnchainMailerClient;
104
98
  /**
105
99
  * Re-export QueryClientProvider for convenience
@@ -1 +1 @@
1
- {"version":3,"file":"MailerProvider.d.ts","sourceRoot":"","sources":["../../../../../src/react/context/MailerProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,UAAU,kBAAkB;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,mBAAmB,qBAsB/F;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAQrD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,mBAAmB,CAGrD;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"MailerProvider.d.ts","sourceRoot":"","sources":["../../../../../src/react/context/MailerProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,sCAAsC;IAEtC,MAAM,EAAE,GAAG,CAAC;IACZ,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,mBAAmB,qBAgB5F;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,IAAI,mBAAmB,CAQrD;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import React, { createContext, useContext } from 'react';
2
2
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
3
3
  import { OnchainMailerClient } from '../../unified/onchain-mailer-client.js';
4
+ /**
5
+ * Context for OnchainMailerClient
6
+ */
4
7
  const MailerClientContext = createContext(null);
5
8
  /**
6
9
  * Default React Query client with sensible defaults for blockchain queries
@@ -27,14 +30,22 @@ const defaultQueryClient = new QueryClient({
27
30
  * @example
28
31
  * ```tsx
29
32
  * import { MailerProvider } from '@johnqh/mail_box_contracts/react';
30
- * import { getChainInfo } from '@sudobility/configs';
31
33
  *
32
34
  * function App() {
33
35
  * const wallet = useWallet(); // Your wallet hook
34
- * const chainInfo = getChainInfo('ethereum'); // Get chain configuration
36
+ * const config = {
37
+ * evm: {
38
+ * rpc: 'https://eth-mainnet.g.alchemy.com/v2/YOUR-KEY',
39
+ * chainId: 1,
40
+ * contracts: {
41
+ * mailer: '0x123...',
42
+ * usdc: '0x456...'
43
+ * }
44
+ * }
45
+ * };
35
46
  *
36
47
  * return (
37
- * <MailerProvider wallet={wallet} chainInfo={chainInfo}>
48
+ * <MailerProvider wallet={wallet} config={config}>
38
49
  * <YourApp />
39
50
  * </MailerProvider>
40
51
  * );
@@ -57,7 +68,7 @@ const defaultQueryClient = new QueryClient({
57
68
  * return (
58
69
  * <MailerProvider
59
70
  * wallet={wallet}
60
- * chainInfo={chainInfo}
71
+ * config={config}
61
72
  * queryClient={customQueryClient}
62
73
  * >
63
74
  * <YourApp />
@@ -66,17 +77,15 @@ const defaultQueryClient = new QueryClient({
66
77
  * }
67
78
  * ```
68
79
  */
69
- export function MailerProvider({ children, wallet, chainInfo, queryClient }) {
70
- // Create OnchainMailerClient instance (stateless, no constructor params)
71
- const client = React.useMemo(() => new OnchainMailerClient(), []);
72
- // Create context value with client, wallet, and chainInfo
73
- const contextValue = React.useMemo(() => ({ client, wallet, chainInfo }), [client, wallet, chainInfo]);
80
+ export function MailerProvider({ children, wallet, config, queryClient }) {
81
+ // Create OnchainMailerClient instance
82
+ const client = React.useMemo(() => new OnchainMailerClient(wallet, config), [wallet, config]);
74
83
  const qc = queryClient || defaultQueryClient;
75
84
  return (React.createElement(QueryClientProvider, { client: qc },
76
- React.createElement(MailerClientContext.Provider, { value: contextValue }, children)));
85
+ React.createElement(MailerClientContext.Provider, { value: client }, children)));
77
86
  }
78
87
  /**
79
- * Hook to access the Mailer context
88
+ * Hook to access the OnchainMailerClient instance
80
89
  *
81
90
  * Must be used within a MailerProvider component.
82
91
  *
@@ -85,11 +94,11 @@ export function MailerProvider({ children, wallet, chainInfo, queryClient }) {
85
94
  * @example
86
95
  * ```tsx
87
96
  * function MyComponent() {
88
- * const { client, wallet, chainInfo } = useMailerContext();
97
+ * const client = useMailerClient();
89
98
  *
90
99
  * const handleDirectCall = async () => {
91
100
  * // Direct API call (not recommended, use hooks instead)
92
- * const fee = await client.getSendFee(wallet, chainInfo);
101
+ * const fee = await client.getSendFee();
93
102
  * console.log('Fee:', fee);
94
103
  * };
95
104
  *
@@ -97,19 +106,11 @@ export function MailerProvider({ children, wallet, chainInfo, queryClient }) {
97
106
  * }
98
107
  * ```
99
108
  */
100
- export function useMailerContext() {
101
- const context = useContext(MailerClientContext);
102
- if (!context) {
103
- throw new Error('useMailerContext must be used within a MailerProvider');
104
- }
105
- return context;
106
- }
107
- /**
108
- * Hook to access the OnchainMailerClient instance
109
- * @deprecated Use useMailerContext() instead to get client, wallet, and chainInfo
110
- */
111
109
  export function useMailerClient() {
112
- const { client } = useMailerContext();
110
+ const client = useContext(MailerClientContext);
111
+ if (!client) {
112
+ throw new Error('useMailerClient must be used within a MailerProvider');
113
+ }
113
114
  return client;
114
115
  }
115
116
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MailerProvider.js","sourceRoot":"","sources":["../../../../../src/react/context/MailerProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAa,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAa1E,MAAM,mBAAmB,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAgB3E;;GAEG;AACH,MAAM,kBAAkB,GAAG,IAAI,WAAW,CAAC;IACzC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,EAAE,KAAK,CAAC;YACvE,oBAAoB,EAAE,KAAK;YAC3B,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,qBAAqB;SAC5C;QACD,SAAS,EAAE;YACT,KAAK,EAAE,CAAC;SACT;KACF;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAuB;IAC9F,yEAAyE;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAC1B,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE,EAC/B,EAAE,CACH,CAAC;IAEF,0DAA0D;IAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EACrC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,WAAW,IAAI,kBAAkB,CAAC;IAE7C,OAAO,CACL,oBAAC,mBAAmB,IAAC,MAAM,EAAE,EAAE;QAC7B,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IAC9C,QAAQ,CACoB,CACX,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"MailerProvider.js","sourceRoot":"","sources":["../../../../../src/react/context/MailerProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAa,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E;;GAEG;AACH,MAAM,mBAAmB,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AAiB5E;;GAEG;AACH,MAAM,kBAAkB,GAAG,IAAI,WAAW,CAAC;IACzC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,EAAE,KAAK,CAAC;YACvE,oBAAoB,EAAE,KAAK;YAC3B,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,qBAAqB;SAC5C;QACD,SAAS,EAAE;YACT,KAAK,EAAE,CAAC;SACT;KACF;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAuB;IAC3F,sCAAsC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAC1B,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,CAAC;IAEF,MAAM,EAAE,GAAG,WAAW,IAAI,kBAAkB,CAAC;IAE7C,OAAO,CACL,oBAAC,mBAAmB,IAAC,MAAM,EAAE,EAAE;QAC7B,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,IACxC,QAAQ,CACoB,CACX,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}