@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.
- package/dist/evm/src/evm/{mailer-client.d.ts → evm-mailer-client.d.ts} +199 -47
- package/dist/evm/src/evm/evm-mailer-client.d.ts.map +1 -0
- package/dist/evm/src/evm/evm-mailer-client.js +924 -0
- package/dist/evm/src/evm/evm-mailer-client.js.map +1 -0
- package/dist/evm/src/evm/index.d.ts +1 -1
- package/dist/evm/src/evm/index.d.ts.map +1 -1
- package/dist/evm/src/evm/index.js +4 -4
- package/dist/evm/src/evm/index.js.map +1 -1
- package/dist/solana/solana/index.d.ts +1 -1
- package/dist/solana/solana/index.d.ts.map +1 -1
- package/dist/solana/solana/index.js +4 -1
- package/dist/solana/solana/index.js.map +1 -1
- package/dist/solana/solana/solana-mailer-client.d.ts +209 -0
- package/dist/solana/solana/solana-mailer-client.d.ts.map +1 -0
- package/dist/solana/solana/solana-mailer-client.js +1004 -0
- package/dist/solana/solana/solana-mailer-client.js.map +1 -0
- package/dist/solana/solana/types.d.ts +3 -2
- package/dist/solana/solana/types.d.ts.map +1 -1
- package/dist/solana/solana/types.js.map +1 -1
- package/dist/{unified-esm/src/evm/mailer-client.d.ts → unified/src/evm/evm-mailer-client.d.ts} +199 -47
- package/dist/unified/src/evm/evm-mailer-client.d.ts.map +1 -0
- package/dist/unified/src/evm/evm-mailer-client.js +924 -0
- package/dist/unified/src/evm/evm-mailer-client.js.map +1 -0
- package/dist/unified/src/evm/index.d.ts +1 -1
- package/dist/unified/src/evm/index.d.ts.map +1 -1
- package/dist/unified/src/evm/index.js +4 -4
- package/dist/unified/src/evm/index.js.map +1 -1
- package/dist/unified/src/react/context/MailerProvider.d.ts +26 -20
- package/dist/unified/src/react/context/MailerProvider.d.ts.map +1 -1
- package/dist/unified/src/react/context/MailerProvider.js +26 -26
- package/dist/unified/src/react/context/MailerProvider.js.map +1 -1
- package/dist/unified/src/react/hooks/useMailerMutations.d.ts +225 -192
- package/dist/unified/src/react/hooks/useMailerMutations.d.ts.map +1 -1
- package/dist/unified/src/react/hooks/useMailerMutations.js +263 -266
- package/dist/unified/src/react/hooks/useMailerMutations.js.map +1 -1
- package/dist/unified/src/react/hooks/useMailerQueries.d.ts +117 -63
- package/dist/unified/src/react/hooks/useMailerQueries.d.ts.map +1 -1
- package/dist/unified/src/react/hooks/useMailerQueries.js +239 -104
- package/dist/unified/src/react/hooks/useMailerQueries.js.map +1 -1
- package/dist/unified/src/react/index.d.ts +5 -3
- package/dist/unified/src/react/index.d.ts.map +1 -1
- package/dist/unified/src/react/index.js +41 -26
- package/dist/unified/src/react/index.js.map +1 -1
- package/dist/unified/src/solana/index.d.ts +1 -1
- package/dist/unified/src/solana/index.d.ts.map +1 -1
- package/dist/unified/src/solana/index.js +4 -1
- package/dist/unified/src/solana/index.js.map +1 -1
- package/dist/unified/src/solana/solana-mailer-client.d.ts +209 -0
- package/dist/unified/src/solana/solana-mailer-client.d.ts.map +1 -0
- package/dist/unified/src/solana/solana-mailer-client.js +1004 -0
- package/dist/unified/src/solana/solana-mailer-client.js.map +1 -0
- package/dist/unified/src/solana/types.d.ts +3 -2
- package/dist/unified/src/solana/types.d.ts.map +1 -1
- package/dist/unified/src/solana/types.js.map +1 -1
- package/dist/unified/src/unified/index.d.ts +1 -1
- package/dist/unified/src/unified/index.d.ts.map +1 -1
- package/dist/unified/src/unified/onchain-mailer-client.d.ts +187 -268
- package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -1
- package/dist/unified/src/unified/onchain-mailer-client.js +539 -1614
- package/dist/unified/src/unified/onchain-mailer-client.js.map +1 -1
- package/dist/unified/src/unified/types.d.ts +23 -6
- package/dist/unified/src/unified/types.d.ts.map +1 -1
- package/dist/{unified/src/evm/mailer-client.d.ts → unified-esm/src/evm/evm-mailer-client.d.ts} +199 -47
- package/dist/unified-esm/src/evm/evm-mailer-client.d.ts.map +1 -0
- package/dist/unified-esm/src/evm/evm-mailer-client.js +920 -0
- package/dist/unified-esm/src/evm/evm-mailer-client.js.map +1 -0
- package/dist/unified-esm/src/evm/index.d.ts +1 -1
- package/dist/unified-esm/src/evm/index.d.ts.map +1 -1
- package/dist/unified-esm/src/evm/index.js +2 -2
- package/dist/unified-esm/src/evm/index.js.map +1 -1
- package/dist/unified-esm/src/react/context/MailerProvider.d.ts +26 -20
- package/dist/unified-esm/src/react/context/MailerProvider.d.ts.map +1 -1
- package/dist/unified-esm/src/react/context/MailerProvider.js +25 -26
- package/dist/unified-esm/src/react/context/MailerProvider.js.map +1 -1
- package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts +225 -192
- package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts.map +1 -1
- package/dist/unified-esm/src/react/hooks/useMailerMutations.js +254 -262
- package/dist/unified-esm/src/react/hooks/useMailerMutations.js.map +1 -1
- package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts +117 -63
- package/dist/unified-esm/src/react/hooks/useMailerQueries.d.ts.map +1 -1
- package/dist/unified-esm/src/react/hooks/useMailerQueries.js +232 -102
- package/dist/unified-esm/src/react/hooks/useMailerQueries.js.map +1 -1
- package/dist/unified-esm/src/react/index.d.ts +5 -3
- package/dist/unified-esm/src/react/index.d.ts.map +1 -1
- package/dist/unified-esm/src/react/index.js +9 -5
- package/dist/unified-esm/src/react/index.js.map +1 -1
- package/dist/unified-esm/src/solana/index.d.ts +1 -1
- package/dist/unified-esm/src/solana/index.d.ts.map +1 -1
- package/dist/unified-esm/src/solana/index.js +2 -1
- package/dist/unified-esm/src/solana/index.js.map +1 -1
- package/dist/unified-esm/src/solana/solana-mailer-client.d.ts +209 -0
- package/dist/unified-esm/src/solana/solana-mailer-client.d.ts.map +1 -0
- package/dist/unified-esm/src/solana/solana-mailer-client.js +1000 -0
- package/dist/unified-esm/src/solana/solana-mailer-client.js.map +1 -0
- package/dist/unified-esm/src/solana/types.d.ts +3 -2
- package/dist/unified-esm/src/solana/types.d.ts.map +1 -1
- package/dist/unified-esm/src/solana/types.js.map +1 -1
- package/dist/unified-esm/src/unified/index.d.ts +1 -1
- package/dist/unified-esm/src/unified/index.d.ts.map +1 -1
- package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts +187 -268
- package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts.map +1 -1
- package/dist/unified-esm/src/unified/onchain-mailer-client.js +539 -1614
- package/dist/unified-esm/src/unified/onchain-mailer-client.js.map +1 -1
- package/dist/unified-esm/src/unified/types.d.ts +23 -6
- package/dist/unified-esm/src/unified/types.d.ts.map +1 -1
- package/package.json +5 -4
- package/programs/mailer/Cargo.toml +1 -1
- package/dist/evm/src/evm/mailer-client.d.ts.map +0 -1
- package/dist/evm/src/evm/mailer-client.js +0 -349
- package/dist/evm/src/evm/mailer-client.js.map +0 -1
- package/dist/solana/solana/mailer-client.d.ts +0 -220
- package/dist/solana/solana/mailer-client.d.ts.map +0 -1
- package/dist/solana/solana/mailer-client.js +0 -920
- package/dist/solana/solana/mailer-client.js.map +0 -1
- package/dist/unified/src/evm/mailer-client.d.ts.map +0 -1
- package/dist/unified/src/evm/mailer-client.js +0 -349
- package/dist/unified/src/evm/mailer-client.js.map +0 -1
- package/dist/unified/src/solana/mailer-client.d.ts +0 -220
- package/dist/unified/src/solana/mailer-client.d.ts.map +0 -1
- package/dist/unified/src/solana/mailer-client.js +0 -920
- package/dist/unified/src/solana/mailer-client.js.map +0 -1
- package/dist/unified-esm/src/evm/mailer-client.d.ts.map +0 -1
- package/dist/unified-esm/src/evm/mailer-client.js +0 -345
- package/dist/unified-esm/src/evm/mailer-client.js.map +0 -1
- package/dist/unified-esm/src/solana/mailer-client.d.ts +0 -220
- package/dist/unified-esm/src/solana/mailer-client.d.ts.map +0 -1
- package/dist/unified-esm/src/solana/mailer-client.js +0 -916
- package/dist/unified-esm/src/solana/mailer-client.js.map +0 -1
|
@@ -1,339 +1,258 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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 -
|
|
6
|
+
* OnchainMailerClient - Stateless multi-chain messaging client
|
|
5
7
|
*
|
|
6
|
-
* This
|
|
7
|
-
*
|
|
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
|
|
11
|
+
* @example EVM Usage
|
|
11
12
|
* ```typescript
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
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
|
-
*
|
|
27
|
-
* const
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
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
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
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
|
|
33
|
+
* @example Solana Usage
|
|
45
34
|
* ```typescript
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* }
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
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
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
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
|
-
|
|
66
|
-
|
|
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
|
-
*
|
|
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(
|
|
91
|
-
private
|
|
92
|
-
private
|
|
60
|
+
constructor();
|
|
61
|
+
private getEVMClient;
|
|
62
|
+
private getSolanaClient;
|
|
93
63
|
/**
|
|
94
|
-
* Send a message
|
|
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
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* @
|
|
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,
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
145
|
-
* @param delegate - Address to delegate to
|
|
146
|
-
* @returns Delegation result
|
|
89
|
+
* Send through webhook
|
|
147
90
|
*/
|
|
148
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
*
|
|
166
|
-
* @returns Send fee in USDC micro-units (6 decimals)
|
|
108
|
+
* Reject delegation
|
|
167
109
|
*/
|
|
168
|
-
|
|
110
|
+
rejectDelegation(connectedWallet: Wallet, chainInfo: ChainInfo, delegatingAddress: string, options?: {
|
|
111
|
+
gasOptions?: any;
|
|
112
|
+
computeOptions?: any;
|
|
113
|
+
}): Promise<UnifiedTransaction>;
|
|
169
114
|
/**
|
|
170
|
-
*
|
|
171
|
-
* @param
|
|
172
|
-
* @
|
|
115
|
+
* Claim revenue share
|
|
116
|
+
* @param wallet - Wallet connection
|
|
117
|
+
* @param chainInfo - Chain information
|
|
118
|
+
* @returns Transaction result
|
|
173
119
|
*/
|
|
174
|
-
|
|
120
|
+
claimRevenue(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
|
|
121
|
+
gasOptions?: any;
|
|
122
|
+
computeOptions?: any;
|
|
123
|
+
}): Promise<UnifiedTransaction>;
|
|
175
124
|
/**
|
|
176
|
-
*
|
|
177
|
-
* @returns Owner claimable amount in USDC micro-units
|
|
125
|
+
* Claim owner share (owner only)
|
|
178
126
|
*/
|
|
179
|
-
|
|
127
|
+
claimOwnerShare(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
|
|
128
|
+
gasOptions?: any;
|
|
129
|
+
computeOptions?: any;
|
|
130
|
+
}): Promise<UnifiedTransaction>;
|
|
180
131
|
/**
|
|
181
|
-
*
|
|
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
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
148
|
+
setCustomFeePercentage(connectedWallet: Wallet, chainInfo: ChainInfo, target: string, percentage: number, options?: {
|
|
149
|
+
gasOptions?: any;
|
|
150
|
+
computeOptions?: any;
|
|
151
|
+
}): Promise<UnifiedTransaction>;
|
|
211
152
|
/**
|
|
212
|
-
*
|
|
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
|
-
|
|
155
|
+
clearCustomFeePercentage(connectedWallet: Wallet, chainInfo: ChainInfo, target: string, options?: {
|
|
156
|
+
gasOptions?: any;
|
|
157
|
+
computeOptions?: any;
|
|
158
|
+
}): Promise<UnifiedTransaction>;
|
|
218
159
|
/**
|
|
219
|
-
*
|
|
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
|
-
|
|
162
|
+
pause(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
|
|
163
|
+
gasOptions?: any;
|
|
164
|
+
computeOptions?: any;
|
|
165
|
+
}): Promise<UnifiedTransaction>;
|
|
224
166
|
/**
|
|
225
|
-
*
|
|
226
|
-
* @returns Current send fee in USDC micro-units (6 decimals)
|
|
167
|
+
* Unpause the contract/program (owner only)
|
|
227
168
|
*/
|
|
228
|
-
|
|
169
|
+
unpause(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
|
|
170
|
+
gasOptions?: any;
|
|
171
|
+
computeOptions?: any;
|
|
172
|
+
}): Promise<UnifiedTransaction>;
|
|
229
173
|
/**
|
|
230
|
-
*
|
|
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
|
-
|
|
176
|
+
emergencyUnpause(connectedWallet: Wallet, chainInfo: ChainInfo, options?: {
|
|
177
|
+
gasOptions?: any;
|
|
178
|
+
computeOptions?: any;
|
|
179
|
+
}): Promise<UnifiedTransaction>;
|
|
235
180
|
/**
|
|
236
|
-
*
|
|
237
|
-
*
|
|
181
|
+
* Distribute claimable funds when paused
|
|
182
|
+
* Note: EVM supports single recipient, Solana supports multiple
|
|
238
183
|
*/
|
|
239
|
-
|
|
184
|
+
distributeClaimableFunds(connectedWallet: Wallet, chainInfo: ChainInfo, recipient: string | string[], options?: {
|
|
185
|
+
gasOptions?: any;
|
|
186
|
+
computeOptions?: any;
|
|
187
|
+
}): Promise<UnifiedTransaction>;
|
|
240
188
|
/**
|
|
241
|
-
*
|
|
242
|
-
*
|
|
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
|
-
|
|
192
|
+
setPermission(connectedWallet: Wallet, chainInfo: ChainInfo, contractAddress: string, options?: {
|
|
193
|
+
gasOptions?: any;
|
|
194
|
+
}): Promise<UnifiedTransaction>;
|
|
246
195
|
/**
|
|
247
|
-
*
|
|
248
|
-
*
|
|
196
|
+
* Remove permission from a contract
|
|
197
|
+
* Note: Only supported on EVM chains
|
|
249
198
|
*/
|
|
250
|
-
|
|
199
|
+
removePermission(connectedWallet: Wallet, chainInfo: ChainInfo, contractAddress: string, options?: {
|
|
200
|
+
gasOptions?: any;
|
|
201
|
+
}): Promise<UnifiedTransaction>;
|
|
251
202
|
/**
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
|
|
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
|
-
|
|
214
|
+
getSendFee(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<bigint>;
|
|
257
215
|
/**
|
|
258
|
-
*
|
|
259
|
-
* @returns Promise resolving to transaction details
|
|
216
|
+
* Get delegation fee
|
|
260
217
|
*/
|
|
261
|
-
|
|
218
|
+
getDelegationFee(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<bigint>;
|
|
262
219
|
/**
|
|
263
|
-
*
|
|
264
|
-
* @
|
|
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
|
-
|
|
227
|
+
getDelegation(address: string, chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<string | null>;
|
|
267
228
|
/**
|
|
268
|
-
*
|
|
269
|
-
* @returns Promise resolving to transaction details
|
|
229
|
+
* Get recipient claimable info
|
|
270
230
|
*/
|
|
271
|
-
|
|
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
|
-
*
|
|
274
|
-
* @returns True if contract is paused, false otherwise
|
|
237
|
+
* Get owner claimable amount
|
|
275
238
|
*/
|
|
276
|
-
|
|
239
|
+
getOwnerClaimable(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<bigint>;
|
|
277
240
|
/**
|
|
278
|
-
*
|
|
279
|
-
* @param recipient - Address to distribute funds for
|
|
280
|
-
* @returns Promise resolving to transaction details
|
|
241
|
+
* Get custom fee percentage
|
|
281
242
|
*/
|
|
282
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
247
|
+
isPaused(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<boolean>;
|
|
318
248
|
/**
|
|
319
|
-
*
|
|
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
|
-
|
|
251
|
+
getOwner(chainInfo: ChainInfo, publicClient?: PublicClient, connection?: Connection): Promise<string>;
|
|
325
252
|
/**
|
|
326
|
-
*
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"onchain-mailer-client.d.ts","sourceRoot":"","sources":["../../../../src/unified/onchain-mailer-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EACV,SAAS,EACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,YAAY,EACb,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,mBAAmB;IAG9B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAa;IAErC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAa;IAExC;;;OAGG;;YAMW,YAAY;YAQZ,eAAe;IAQ7B;;;;;;;;OAQG;IACG,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,aAAa,CAAC;IAoEzB;;OAEG;IACG,YAAY,CAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,aAAa,CAAC;IAsDzB;;OAEG;IACG,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,aAAa,CAAC;IAqDzB;;;;;;OAMG;IACG,UAAU,CACd,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,gBAAgB,CAAC;IAoC5B;;OAEG;IACG,gBAAgB,CACpB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IAgC9B;;;;;OAKG;IACG,YAAY,CAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IA8B9B;;OAEG;IACG,eAAe,CACnB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IA8B9B;;OAEG;IACG,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IAgC9B;;OAEG;IACG,OAAO,CACX,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,aAAa,EAAE,MAAM,GAAG,MAAM,EAC9B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IA0C9B;;OAEG;IACG,sBAAsB,CAC1B,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IAkC9B;;OAEG;IACG,wBAAwB,CAC5B,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IAgC9B;;OAEG;IACG,KAAK,CACT,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IA8B9B;;OAEG;IACG,OAAO,CACX,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IA8B9B;;OAEG;IACG,gBAAgB,CACpB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IA8B9B;;;OAGG;IACG,wBAAwB,CAC5B,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC;IAoC9B;;;OAGG;IACG,aAAa,CACjB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;KAClB,GACA,OAAO,CAAC,kBAAkB,CAAC;IAqB9B;;;OAGG;IACG,gBAAgB,CACpB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,GAAG,CAAC;KAClB,GACA,OAAO,CAAC,kBAAkB,CAAC;IAqB9B;;;OAGG;IACG,aAAa,CACjB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAmBnB;;;;;;OAMG;IACG,UAAU,CACd,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,CAAC;IAYlB;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;;;;OAOG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAczB;;OAEG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAkB5E;;OAEG;IACG,iBAAiB,CACrB,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,CAAC;IAalB;;OAEG;IACG,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,CAAC;IAYlB;;OAEG;IACG,QAAQ,CACZ,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,OAAO,CAAC;IAYnB;;OAEG;IACG,QAAQ,CACZ,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,CAAC;IAalB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAG7D;AAGD,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC"}
|