@sudobility/contracts 1.11.2 → 1.13.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 (128) hide show
  1. package/dist/evm/src/evm/{mailer-client.d.ts → evm-mailer-client.d.ts} +199 -47
  2. package/dist/evm/src/evm/evm-mailer-client.d.ts.map +1 -0
  3. package/dist/evm/src/evm/evm-mailer-client.js +924 -0
  4. package/dist/evm/src/evm/evm-mailer-client.js.map +1 -0
  5. package/dist/evm/src/evm/index.d.ts +1 -1
  6. package/dist/evm/src/evm/index.d.ts.map +1 -1
  7. package/dist/evm/src/evm/index.js +4 -4
  8. package/dist/evm/src/evm/index.js.map +1 -1
  9. package/dist/solana/solana/index.d.ts +1 -1
  10. package/dist/solana/solana/index.d.ts.map +1 -1
  11. package/dist/solana/solana/index.js +4 -1
  12. package/dist/solana/solana/index.js.map +1 -1
  13. package/dist/solana/solana/solana-mailer-client.d.ts +209 -0
  14. package/dist/solana/solana/solana-mailer-client.d.ts.map +1 -0
  15. package/dist/solana/solana/solana-mailer-client.js +1004 -0
  16. package/dist/solana/solana/solana-mailer-client.js.map +1 -0
  17. package/dist/solana/solana/types.d.ts +3 -2
  18. package/dist/solana/solana/types.d.ts.map +1 -1
  19. package/dist/solana/solana/types.js.map +1 -1
  20. package/dist/{unified-esm/src/evm/mailer-client.d.ts → unified/src/evm/evm-mailer-client.d.ts} +199 -47
  21. package/dist/unified/src/evm/evm-mailer-client.d.ts.map +1 -0
  22. package/dist/unified/src/evm/evm-mailer-client.js +924 -0
  23. package/dist/unified/src/evm/evm-mailer-client.js.map +1 -0
  24. package/dist/unified/src/evm/index.d.ts +1 -1
  25. package/dist/unified/src/evm/index.d.ts.map +1 -1
  26. package/dist/unified/src/evm/index.js +4 -4
  27. package/dist/unified/src/evm/index.js.map +1 -1
  28. package/dist/unified/src/react/context/MailerProvider.d.ts +26 -20
  29. package/dist/unified/src/react/context/MailerProvider.d.ts.map +1 -1
  30. package/dist/unified/src/react/context/MailerProvider.js +26 -26
  31. package/dist/unified/src/react/context/MailerProvider.js.map +1 -1
  32. package/dist/unified/src/react/hooks/useMailerMutations.d.ts +225 -192
  33. package/dist/unified/src/react/hooks/useMailerMutations.d.ts.map +1 -1
  34. package/dist/unified/src/react/hooks/useMailerMutations.js +263 -266
  35. package/dist/unified/src/react/hooks/useMailerMutations.js.map +1 -1
  36. package/dist/unified/src/react/hooks/useMailerQueries.d.ts +117 -63
  37. package/dist/unified/src/react/hooks/useMailerQueries.d.ts.map +1 -1
  38. package/dist/unified/src/react/hooks/useMailerQueries.js +239 -104
  39. package/dist/unified/src/react/hooks/useMailerQueries.js.map +1 -1
  40. package/dist/unified/src/react/index.d.ts +5 -3
  41. package/dist/unified/src/react/index.d.ts.map +1 -1
  42. package/dist/unified/src/react/index.js +41 -26
  43. package/dist/unified/src/react/index.js.map +1 -1
  44. package/dist/unified/src/solana/index.d.ts +1 -1
  45. package/dist/unified/src/solana/index.d.ts.map +1 -1
  46. package/dist/unified/src/solana/index.js +4 -1
  47. package/dist/unified/src/solana/index.js.map +1 -1
  48. package/dist/unified/src/solana/solana-mailer-client.d.ts +209 -0
  49. package/dist/unified/src/solana/solana-mailer-client.d.ts.map +1 -0
  50. package/dist/unified/src/solana/solana-mailer-client.js +1004 -0
  51. package/dist/unified/src/solana/solana-mailer-client.js.map +1 -0
  52. package/dist/unified/src/solana/types.d.ts +3 -2
  53. package/dist/unified/src/solana/types.d.ts.map +1 -1
  54. package/dist/unified/src/solana/types.js.map +1 -1
  55. package/dist/unified/src/unified/index.d.ts +1 -1
  56. package/dist/unified/src/unified/index.d.ts.map +1 -1
  57. package/dist/unified/src/unified/onchain-mailer-client.d.ts +187 -268
  58. package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -1
  59. package/dist/unified/src/unified/onchain-mailer-client.js +539 -1614
  60. package/dist/unified/src/unified/onchain-mailer-client.js.map +1 -1
  61. package/dist/unified/src/unified/types.d.ts +23 -6
  62. package/dist/unified/src/unified/types.d.ts.map +1 -1
  63. package/dist/{unified/src/evm/mailer-client.d.ts → unified-esm/src/evm/evm-mailer-client.d.ts} +199 -47
  64. package/dist/unified-esm/src/evm/evm-mailer-client.d.ts.map +1 -0
  65. package/dist/unified-esm/src/evm/evm-mailer-client.js +920 -0
  66. package/dist/unified-esm/src/evm/evm-mailer-client.js.map +1 -0
  67. package/dist/unified-esm/src/evm/index.d.ts +1 -1
  68. package/dist/unified-esm/src/evm/index.d.ts.map +1 -1
  69. package/dist/unified-esm/src/evm/index.js +2 -2
  70. package/dist/unified-esm/src/evm/index.js.map +1 -1
  71. package/dist/unified-esm/src/react/context/MailerProvider.d.ts +26 -20
  72. package/dist/unified-esm/src/react/context/MailerProvider.d.ts.map +1 -1
  73. package/dist/unified-esm/src/react/context/MailerProvider.js +25 -26
  74. package/dist/unified-esm/src/react/context/MailerProvider.js.map +1 -1
  75. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts +225 -192
  76. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts.map +1 -1
  77. package/dist/unified-esm/src/react/hooks/useMailerMutations.js +254 -262
  78. package/dist/unified-esm/src/react/hooks/useMailerMutations.js.map +1 -1
  79. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts +117 -63
  80. package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts.map +1 -1
  81. package/dist/unified-esm/src/react/hooks/useMailerQueries.js +232 -102
  82. package/dist/unified-esm/src/react/hooks/useMailerQueries.js.map +1 -1
  83. package/dist/unified-esm/src/react/index.d.ts +5 -3
  84. package/dist/unified-esm/src/react/index.d.ts.map +1 -1
  85. package/dist/unified-esm/src/react/index.js +9 -5
  86. package/dist/unified-esm/src/react/index.js.map +1 -1
  87. package/dist/unified-esm/src/solana/index.d.ts +1 -1
  88. package/dist/unified-esm/src/solana/index.d.ts.map +1 -1
  89. package/dist/unified-esm/src/solana/index.js +2 -1
  90. package/dist/unified-esm/src/solana/index.js.map +1 -1
  91. package/dist/unified-esm/src/solana/solana-mailer-client.d.ts +209 -0
  92. package/dist/unified-esm/src/solana/solana-mailer-client.d.ts.map +1 -0
  93. package/dist/unified-esm/src/solana/solana-mailer-client.js +1000 -0
  94. package/dist/unified-esm/src/solana/solana-mailer-client.js.map +1 -0
  95. package/dist/unified-esm/src/solana/types.d.ts +3 -2
  96. package/dist/unified-esm/src/solana/types.d.ts.map +1 -1
  97. package/dist/unified-esm/src/solana/types.js.map +1 -1
  98. package/dist/unified-esm/src/unified/index.d.ts +1 -1
  99. package/dist/unified-esm/src/unified/index.d.ts.map +1 -1
  100. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts +187 -268
  101. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts.map +1 -1
  102. package/dist/unified-esm/src/unified/onchain-mailer-client.js +539 -1614
  103. package/dist/unified-esm/src/unified/onchain-mailer-client.js.map +1 -1
  104. package/dist/unified-esm/src/unified/types.d.ts +23 -6
  105. package/dist/unified-esm/src/unified/types.d.ts.map +1 -1
  106. package/package.json +5 -4
  107. package/programs/mailer/Cargo.toml +1 -1
  108. package/dist/evm/src/evm/mailer-client.d.ts.map +0 -1
  109. package/dist/evm/src/evm/mailer-client.js +0 -349
  110. package/dist/evm/src/evm/mailer-client.js.map +0 -1
  111. package/dist/solana/solana/mailer-client.d.ts +0 -220
  112. package/dist/solana/solana/mailer-client.d.ts.map +0 -1
  113. package/dist/solana/solana/mailer-client.js +0 -920
  114. package/dist/solana/solana/mailer-client.js.map +0 -1
  115. package/dist/unified/src/evm/mailer-client.d.ts.map +0 -1
  116. package/dist/unified/src/evm/mailer-client.js +0 -349
  117. package/dist/unified/src/evm/mailer-client.js.map +0 -1
  118. package/dist/unified/src/solana/mailer-client.d.ts +0 -220
  119. package/dist/unified/src/solana/mailer-client.d.ts.map +0 -1
  120. package/dist/unified/src/solana/mailer-client.js +0 -920
  121. package/dist/unified/src/solana/mailer-client.js.map +0 -1
  122. package/dist/unified-esm/src/evm/mailer-client.d.ts.map +0 -1
  123. package/dist/unified-esm/src/evm/mailer-client.js +0 -345
  124. package/dist/unified-esm/src/evm/mailer-client.js.map +0 -1
  125. package/dist/unified-esm/src/solana/mailer-client.d.ts +0 -220
  126. package/dist/unified-esm/src/solana/mailer-client.d.ts.map +0 -1
  127. package/dist/unified-esm/src/solana/mailer-client.js +0 -916
  128. package/dist/unified-esm/src/solana/mailer-client.js.map +0 -1
@@ -1,339 +1,258 @@
1
- import { ChainType } from '@sudobility/types';
2
- import { UnifiedWallet, ChainConfig, MessageResult, DomainResult, DelegationResult, UnifiedTransaction } from './types.js';
1
+ import { ChainInfo } from '@sudobility/configs';
2
+ import type { EVMWallet } from '../evm/evm-mailer-client.js';
3
+ import type { SolanaWallet } from '../solana/solana-mailer-client.js';
4
+ import { MessageResult, DomainResult, DelegationResult, UnifiedTransaction, Wallet } from './types.js';
3
5
  /**
4
- * OnchainMailerClient - Multi-chain messaging client for Mailer protocol
6
+ * OnchainMailerClient - Stateless multi-chain messaging client
5
7
  *
6
- * This class provides a unified interface for interacting with Mailer contracts
7
- * across different blockchain networks (EVM and Solana). It automatically detects
8
- * wallet types and routes operations to the appropriate chain implementation.
8
+ * This version uses stateless EVM and Solana clients underneath.
9
+ * All wallet connections and chain information are passed as parameters to each method.
9
10
  *
10
- * @example Basic Usage
11
+ * @example EVM Usage
11
12
  * ```typescript
12
- * // EVM wallet (MetaMask, etc.)
13
- * const evmWallet = window.ethereum;
14
- * const evmConfig = {
15
- * evm: {
16
- * rpc: 'https://eth-mainnet.alchemyapi.io/v2/your-key',
17
- * chainId: 1,
18
- * contracts: {
19
- * mailer: '0x456...',
20
- * usdc: '0x789...'
21
- * }
22
- * }
23
- * };
24
- * const evmClient = new OnchainMailerClient(evmWallet, evmConfig);
13
+ * import { createWalletClient, createPublicClient, http } from 'viem';
14
+ * import { RpcHelpers } from '@sudobility/configs';
15
+ * import { Chain } from '@sudobility/types';
25
16
  *
26
- * // Solana wallet (Phantom, etc.)
27
- * const solanaWallet = window.solana;
28
- * const solanaConfig = {
29
- * solana: {
30
- * rpc: 'https://api.mainnet-beta.solana.com',
31
- * programs: {
32
- * mailer: '9FLkBDGpZBcR8LMsQ7MwwV6X9P4TDFgN3DeRh5qYyHJF'
33
- * },
34
- * usdcMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'
35
- * }
36
- * };
37
- * const solanaClient = new OnchainMailerClient(solanaWallet, solanaConfig);
17
+ * const chainInfo = RpcHelpers.getChainInfo(Chain.ETH_MAINNET);
18
+ * const walletClient = createWalletClient({
19
+ * chain: mainnet,
20
+ * transport: http()
21
+ * });
38
22
  *
39
- * // Send messages
40
- * const result = await client.sendMessage("Hello", "World!", false);
41
- * console.log('Transaction:', result.transactionHash);
23
+ * const client = new OnchainMailerClient();
24
+ * await client.sendMessage(
25
+ * 'Subject',
26
+ * 'Body',
27
+ * { walletClient },
28
+ * chainInfo,
29
+ * { priority: true }
30
+ * );
42
31
  * ```
43
32
  *
44
- * @example Error Handling
33
+ * @example Solana Usage
45
34
  * ```typescript
46
- * try {
47
- * const result = await client.sendMessage("Subject", "Body", true);
48
- * console.log('Success:', result);
49
- * } catch (error) {
50
- * if (error.message.includes('insufficient funds')) {
51
- * console.log('User needs more USDC');
52
- * } else if (error.message.includes('user rejected')) {
53
- * console.log('User cancelled transaction');
54
- * } else {
55
- * console.log('Unknown error:', error);
56
- * }
57
- * }
58
- * ```
35
+ * import { useWallet } from '@solana/wallet-adapter-react';
36
+ * import { Connection } from '@solana/web3.js';
37
+ * import { RpcHelpers } from '@sudobility/configs';
38
+ * import { Chain } from '@sudobility/types';
39
+ *
40
+ * const chainInfo = RpcHelpers.getChainInfo(Chain.SOLANA_MAINNET);
41
+ * const wallet = useWallet();
59
42
  *
60
- * @author Mailer Protocol Team
61
- * @version 1.5.2
62
- * @since 1.0.0
43
+ * const client = new OnchainMailerClient();
44
+ * await client.sendMessage(
45
+ * 'Subject',
46
+ * 'Body',
47
+ * { wallet },
48
+ * chainInfo,
49
+ * { priority: true }
50
+ * );
51
+ * ```
63
52
  */
64
53
  export declare class OnchainMailerClient {
65
- protected chainType: ChainType;
66
- protected wallet: UnifiedWallet;
67
- protected config: ChainConfig;
68
- protected static evmModules: any;
69
- protected static solanaModules: any;
54
+ private static evmClient;
55
+ private static solanaClient;
70
56
  /**
71
- * Initialize OnchainMailerClient with wallet and chain configuration
72
- *
73
- * @param wallet - Wallet instance (EVM or Solana compatible)
74
- * @param config - Chain configuration for EVM and/or Solana networks
75
- *
76
- * @throws {Error} When wallet type cannot be detected
77
- * @throws {Error} When required configuration is missing
78
- * @throws {Error} When wallet doesn't implement required methods
79
- *
80
- * @example
81
- * ```typescript
82
- * // EVM wallet initialization
83
- * const wallet = window.ethereum;
84
- * const config = {
85
- * evm: { rpc: '...', chainId: 1, contracts: {...} }
86
- * };
87
- * const client = new OnchainMailerClient(wallet, config);
88
- * ```
57
+ * Create a new stateless OnchainMailerClient
58
+ * No configuration needed in constructor
89
59
  */
90
- constructor(wallet: any, config: ChainConfig);
91
- private validateConfiguration;
92
- private validateWallet;
60
+ constructor();
61
+ private getEVMClient;
62
+ private getSolanaClient;
93
63
  /**
94
- * Send a message using the appropriate chain implementation
95
- *
96
- * This method automatically routes to EVM or Solana based on the detected wallet type.
97
- * Priority messages cost more but include revenue sharing for recipients.
98
- *
64
+ * Send a message on the blockchain
99
65
  * @param subject - Message subject (1-200 characters)
100
66
  * @param body - Message body (1-10000 characters)
101
- * @param priority - Whether to use priority sending with revenue share
102
- * - Priority: Full fee paid, 90% claimable by recipient
103
- * - Standard: 10% fee only, no revenue share
104
- * @param resolveSenderToName - If true, resolve sender address to name via off-chain service
105
- *
106
- * @returns Promise resolving to MessageResult with transaction details
107
- *
108
- * @throws {Error} When subject/body validation fails
109
- * @throws {Error} When insufficient USDC balance
110
- * @throws {Error} When user rejects transaction
111
- * @throws {Error} When network connection fails
112
- *
113
- * @example Standard Message
114
- * ```typescript
115
- * const result = await client.sendMessage(
116
- * "Meeting Reminder",
117
- * "Don't forget our 3pm call today!",
118
- * false, // Standard fee (10% of sendFee)
119
- * false // Don't resolve sender to name
120
- * );
121
- * console.log('Sent in tx:', result.transactionHash);
122
- * ```
123
- *
124
- * @example Priority Message with Revenue Share
125
- * ```typescript
126
- * const result = await client.sendMessage(
127
- * "Important Update",
128
- * "Urgent: Please review the attached proposal",
129
- * true, // Priority fee (100% paid, 90% claimable by recipient)
130
- * true // Resolve sender to name
131
- * );
132
- * console.log('Priority message fee:', result.fee);
133
- * ```
67
+ * @param wallet - Wallet connection (EVM or Solana)
68
+ * @param chainInfo - Chain information including RPC endpoints and contract addresses
69
+ * @param options - Optional parameters
70
+ * @returns Transaction result
134
71
  */
135
- sendMessage(subject: string, body: string, priority?: boolean, resolveSenderToName?: boolean): Promise<MessageResult>;
72
+ sendMessage(connectedWallet: Wallet, chainInfo: ChainInfo, subject: string, body: string, options?: {
73
+ priority?: boolean;
74
+ to?: string;
75
+ resolveSenderToName?: boolean;
76
+ gasOptions?: any;
77
+ computeOptions?: any;
78
+ }): Promise<MessageResult>;
136
79
  /**
137
- * Register a domain using the appropriate chain implementation
138
- * @param domain - Domain name to register
139
- * @param isExtension - Whether this is extending an existing domain
140
- * @returns Domain registration result
80
+ * Send a prepared message
141
81
  */
142
- registerDomain(domain: string, isExtension?: boolean): Promise<DomainResult>;
82
+ sendPrepared(connectedWallet: Wallet, chainInfo: ChainInfo, to: string, mailId: string, options?: {
83
+ priority?: boolean;
84
+ resolveSenderToName?: boolean;
85
+ gasOptions?: any;
86
+ computeOptions?: any;
87
+ }): Promise<MessageResult>;
143
88
  /**
144
- * Delegate to another address using the appropriate chain implementation
145
- * @param delegate - Address to delegate to
146
- * @returns Delegation result
89
+ * Send through webhook
147
90
  */
148
- delegateTo(delegate: string): Promise<DelegationResult>;
91
+ sendThroughWebhook(connectedWallet: Wallet, chainInfo: ChainInfo, to: string, webhookId: string, options?: {
92
+ priority?: boolean;
93
+ gasOptions?: any;
94
+ computeOptions?: any;
95
+ }): Promise<MessageResult>;
149
96
  /**
150
- * Claim revenue share using the appropriate chain implementation
97
+ * Delegate to another address
98
+ * @param delegate - Address to delegate to
99
+ * @param wallet - Wallet connection
100
+ * @param chainInfo - Chain information
151
101
  * @returns Transaction result
152
102
  */
153
- claimRevenue(): Promise<UnifiedTransaction>;
154
- private getEVMModules;
155
- private getSolanaModules;
156
- private sendEVMMessage;
157
- private registerEVMDomain;
158
- private delegateEVM;
159
- private claimEVMRevenue;
160
- private sendSolanaMessage;
161
- private registerSolanaDomain;
162
- private delegateSolana;
163
- private claimSolanaRevenue;
103
+ delegateTo(connectedWallet: Wallet, chainInfo: ChainInfo, delegate: string, options?: {
104
+ gasOptions?: any;
105
+ computeOptions?: any;
106
+ }): Promise<DelegationResult>;
164
107
  /**
165
- * Get send fee using the appropriate chain implementation
166
- * @returns Send fee in USDC micro-units (6 decimals)
108
+ * Reject delegation
167
109
  */
168
- getSendFee(): Promise<bigint>;
110
+ rejectDelegation(connectedWallet: Wallet, chainInfo: ChainInfo, delegatingAddress: string, options?: {
111
+ gasOptions?: any;
112
+ computeOptions?: any;
113
+ }): Promise<UnifiedTransaction>;
169
114
  /**
170
- * Get claimable amount for an address
171
- * @param address - Address to check claimable balance for (defaults to connected wallet)
172
- * @returns Claimable amount in USDC micro-units
115
+ * Claim revenue share
116
+ * @param wallet - Wallet connection
117
+ * @param chainInfo - Chain information
118
+ * @returns Transaction result
173
119
  */
174
- getClaimableAmount(address?: string): Promise<bigint>;
120
+ claimRevenue(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
121
+ gasOptions?: any;
122
+ computeOptions?: any;
123
+ }): Promise<UnifiedTransaction>;
175
124
  /**
176
- * Get owner's claimable fee balance
177
- * @returns Owner claimable amount in USDC micro-units
125
+ * Claim owner share (owner only)
178
126
  */
179
- getOwnerClaimable(): Promise<bigint>;
127
+ claimOwnerShare(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
128
+ gasOptions?: any;
129
+ computeOptions?: any;
130
+ }): Promise<UnifiedTransaction>;
180
131
  /**
181
- * Get delegation information for an address
182
- * @param address - Address to check delegation for (defaults to connected wallet)
183
- * @returns Delegation address or null if no delegation
132
+ * Claim expired shares (owner only)
184
133
  */
185
- getDelegation(address?: string): Promise<string | null>;
186
- private getEVMSendFee;
187
- private getEVMClaimableAmount;
188
- private getEVMOwnerClaimable;
189
- private getEVMDelegation;
190
- private getSolanaSendFee;
191
- private getSolanaClaimableAmount;
192
- private getSolanaOwnerClaimable;
193
- private getSolanaDelegation;
134
+ claimExpiredShares(connectedWallet: Wallet, chainInfo: ChainInfo, recipient: string, options?: {
135
+ gasOptions?: any;
136
+ computeOptions?: any;
137
+ }): Promise<UnifiedTransaction>;
194
138
  /**
195
- * Send a prepared message using mail ID (to match cross-chain behavior)
196
- * @param to - Recipient address
197
- * @param mailId - Pre-prepared message identifier
198
- * @param priority - Whether to use priority sending with revenue share
199
- * @param resolveSenderToName - If true, resolve sender address to name
200
- * @returns Promise resolving to MessageResult
139
+ * Set fees (owner only)
201
140
  */
202
- sendPrepared(to: string, mailId: string, priority?: boolean, resolveSenderToName?: boolean): Promise<MessageResult>;
141
+ setFees(connectedWallet: Wallet, chainInfo: ChainInfo, sendFee: number | bigint, delegationFee: number | bigint, options?: {
142
+ gasOptions?: any;
143
+ computeOptions?: any;
144
+ }): Promise<UnifiedTransaction>;
203
145
  /**
204
- * Send message to email address (no wallet known)
205
- * @param toEmail - Email address of the recipient
206
- * @param subject - Message subject
207
- * @param body - Message body
208
- * @returns Promise resolving to MessageResult
146
+ * Set custom fee percentage
209
147
  */
210
- sendToEmail(toEmail: string, subject: string, body: string): Promise<MessageResult>;
148
+ setCustomFeePercentage(connectedWallet: Wallet, chainInfo: ChainInfo, target: string, percentage: number, options?: {
149
+ gasOptions?: any;
150
+ computeOptions?: any;
151
+ }): Promise<UnifiedTransaction>;
211
152
  /**
212
- * Send prepared message to email address (no wallet known)
213
- * @param toEmail - Email address of the recipient
214
- * @param mailId - Pre-prepared message identifier
215
- * @returns Promise resolving to MessageResult
153
+ * Clear custom fee percentage
216
154
  */
217
- sendPreparedToEmail(toEmail: string, mailId: string): Promise<MessageResult>;
155
+ clearCustomFeePercentage(connectedWallet: Wallet, chainInfo: ChainInfo, target: string, options?: {
156
+ gasOptions?: any;
157
+ computeOptions?: any;
158
+ }): Promise<UnifiedTransaction>;
218
159
  /**
219
- * Set the send fee (owner only)
220
- * @param newFee - New fee amount in USDC micro-units (6 decimals)
221
- * @returns Promise resolving to transaction details
160
+ * Pause the contract/program (owner only)
222
161
  */
223
- setFee(newFee: bigint): Promise<UnifiedTransaction>;
162
+ pause(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
163
+ gasOptions?: any;
164
+ computeOptions?: any;
165
+ }): Promise<UnifiedTransaction>;
224
166
  /**
225
- * Get the current send fee
226
- * @returns Current send fee in USDC micro-units (6 decimals)
167
+ * Unpause the contract/program (owner only)
227
168
  */
228
- getFee(): Promise<bigint>;
169
+ unpause(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
170
+ gasOptions?: any;
171
+ computeOptions?: any;
172
+ }): Promise<UnifiedTransaction>;
229
173
  /**
230
- * Set the delegation fee (owner only)
231
- * @param newFee - New delegation fee in USDC micro-units
232
- * @returns Promise resolving to transaction details
174
+ * Emergency unpause (owner only)
233
175
  */
234
- setDelegationFee(newFee: bigint): Promise<UnifiedTransaction>;
176
+ emergencyUnpause(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
177
+ gasOptions?: any;
178
+ computeOptions?: any;
179
+ }): Promise<UnifiedTransaction>;
235
180
  /**
236
- * Get the current delegation fee
237
- * @returns Current delegation fee in USDC micro-units
181
+ * Distribute claimable funds when paused
182
+ * Note: EVM supports single recipient, Solana supports multiple
238
183
  */
239
- getDelegationFee(): Promise<bigint>;
184
+ distributeClaimableFunds(connectedWallet: Wallet, chainInfo: ChainInfo, recipient: string | string[], options?: {
185
+ gasOptions?: any;
186
+ computeOptions?: any;
187
+ }): Promise<UnifiedTransaction>;
240
188
  /**
241
- * Reject a delegation made to you by another address
242
- * @param delegatorAddress - Address that delegated to you
243
- * @returns Promise resolving to transaction details
189
+ * Set permission for a contract to use caller's USDC for sending messages
190
+ * Note: Only supported on EVM chains
244
191
  */
245
- rejectDelegation(delegatorAddress: string): Promise<UnifiedTransaction>;
192
+ setPermission(connectedWallet: Wallet, chainInfo: ChainInfo, contractAddress: string, options?: {
193
+ gasOptions?: any;
194
+ }): Promise<UnifiedTransaction>;
246
195
  /**
247
- * Claim owner share of fees (owner only)
248
- * @returns Promise resolving to transaction details
196
+ * Remove permission from a contract
197
+ * Note: Only supported on EVM chains
249
198
  */
250
- claimOwnerShare(): Promise<UnifiedTransaction>;
199
+ removePermission(connectedWallet: Wallet, chainInfo: ChainInfo, contractAddress: string, options?: {
200
+ gasOptions?: any;
201
+ }): Promise<UnifiedTransaction>;
251
202
  /**
252
- * Claim expired shares (owner only)
253
- * @param recipient - Address to claim expired shares for
254
- * @returns Promise resolving to transaction details
203
+ * Check if permission exists for a contract/wallet pair
204
+ * Note: Only supported on EVM chains
205
+ */
206
+ hasPermission(chainInfo: ChainInfo, contractAddress: string, walletAddress: string, publicClient?: PublicClient): Promise<boolean>;
207
+ /**
208
+ * Get the send fee for messages
209
+ * @param chainInfo - Chain information with RPC endpoint
210
+ * @param publicClient - Optional public client for EVM (will create if not provided)
211
+ * @param connection - Optional connection for Solana (will create if not provided)
212
+ * @returns Fee amount in USDC micro-units
255
213
  */
256
- claimExpiredShares(recipient: string): Promise<UnifiedTransaction>;
214
+ getSendFee(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<bigint>;
257
215
  /**
258
- * Pause the contract and distribute funds (owner only)
259
- * @returns Promise resolving to transaction details
216
+ * Get delegation fee
260
217
  */
261
- pause(): Promise<UnifiedTransaction>;
218
+ getDelegationFee(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<bigint>;
262
219
  /**
263
- * Unpause the contract (owner only)
264
- * @returns Promise resolving to transaction details
220
+ * Get delegation for an address
221
+ * @param address - Address to check
222
+ * @param chainInfo - Chain information with RPC endpoint
223
+ * @param publicClient - Optional public client for EVM
224
+ * @param connection - Optional connection for Solana
225
+ * @returns Delegated address or null
265
226
  */
266
- unpause(): Promise<UnifiedTransaction>;
227
+ getDelegation(address: string, chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<string | null>;
267
228
  /**
268
- * Emergency unpause without fund distribution (owner only)
269
- * @returns Promise resolving to transaction details
229
+ * Get recipient claimable info
270
230
  */
271
- emergencyUnpause(): Promise<UnifiedTransaction>;
231
+ getRecipientClaimable(recipient: string, chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<{
232
+ amount: bigint;
233
+ expiresAt: bigint;
234
+ isExpired: boolean;
235
+ } | null>;
272
236
  /**
273
- * Check if contract is currently paused
274
- * @returns True if contract is paused, false otherwise
237
+ * Get owner claimable amount
275
238
  */
276
- isPaused(): Promise<boolean>;
239
+ getOwnerClaimable(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<bigint>;
277
240
  /**
278
- * Distribute claimable funds to a recipient when contract is paused
279
- * @param recipient - Address to distribute funds for
280
- * @returns Promise resolving to transaction details
241
+ * Get custom fee percentage
281
242
  */
282
- distributeClaimableFunds(recipient: string): Promise<UnifiedTransaction>;
283
- private sendPreparedEVM;
284
- private sendToEmailEVM;
285
- private sendPreparedToEmailEVM;
286
- private setFeeEVM;
287
- private setDelegationFeeEVM;
288
- private getDelegationFeeEVM;
289
- private rejectDelegationEVM;
290
- private claimOwnerShareEVM;
291
- private claimExpiredSharesEVM;
292
- private pauseEVM;
293
- private unpauseEVM;
294
- private emergencyUnpauseEVM;
295
- private isPausedEVM;
296
- private distributeClaimableFundsEVM;
297
- private sendPreparedSolana;
298
- private sendToEmailSolana;
299
- private sendPreparedToEmailSolana;
300
- private setFeeSolana;
301
- private setDelegationFeeSolana;
302
- private getDelegationFeeSolana;
303
- private rejectDelegationSolana;
304
- private claimOwnerShareSolana;
305
- private claimExpiredSharesSolana;
306
- private pauseSolana;
307
- private unpauseSolana;
308
- private emergencyUnpauseSolana;
309
- private isPausedSolana;
310
- private distributeClaimableFundsSolana;
243
+ getCustomFeePercentage(target: string, chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<number>;
311
244
  /**
312
- * Set permission for a contract to use your wallet as payer (EVM only)
313
- * @param contractAddress - Contract address to grant permission to
314
- * @returns Promise resolving to transaction details
315
- * @throws {Error} When called on Solana (not supported)
245
+ * Check if contract/program is paused
316
246
  */
317
- setPermission(contractAddress: string): Promise<UnifiedTransaction>;
247
+ isPaused(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<boolean>;
318
248
  /**
319
- * Remove permission for a contract to use your wallet as payer (EVM only)
320
- * @param contractAddress - Contract address to revoke permission from
321
- * @returns Promise resolving to transaction details
322
- * @throws {Error} When called on Solana (not supported)
249
+ * Get contract/program owner
323
250
  */
324
- removePermission(contractAddress: string): Promise<UnifiedTransaction>;
251
+ getOwner(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<string>;
325
252
  /**
326
- * Check if a contract has permission to use a wallet as payer (EVM only)
327
- * @param contractAddress - Contract address to check
328
- * @param wallet - Wallet address to check permission for (defaults to connected wallet)
329
- * @returns Promise resolving to true if permission exists, false otherwise
330
- * @throws {Error} When called on Solana (not supported)
253
+ * Register a domain (not implemented - for backward compatibility)
331
254
  */
332
- hasPermission(contractAddress: string, wallet?: string): Promise<boolean>;
333
- private setPermissionEVM;
334
- private removePermissionEVM;
335
- private hasPermissionEVM;
336
- getChainType(): ChainType;
337
- getWalletAddress(): string;
255
+ registerDomain(_domain: string): Promise<DomainResult>;
338
256
  }
257
+ export type { EVMWallet, SolanaWallet, Wallet };
339
258
  //# sourceMappingURL=onchain-mailer-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onchain-mailer-client.d.ts","sourceRoot":"","sources":["../../../../src/unified/onchain-mailer-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onchain-mailer-client.d.ts","sourceRoot":"","sources":["../../../../src/unified/onchain-mailer-client.ts"],"names":[],"mappings":"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"}