@etherkit/viem-tx-tracker 0.0.2 → 0.0.4

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/README.md CHANGED
@@ -21,11 +21,11 @@ npm install @etherkit/tx-observer
21
21
  ## Quick Start
22
22
 
23
23
  ```typescript
24
- import { initTransactionProcessor } from '@etherkit/tx-observer';
24
+ import { createTransactionObserver } from '@etherkit/tx-observer';
25
25
  import type { OnchainOperation, BroadcastedTransaction, OnchainOperationEvent } from '@etherkit/tx-observer';
26
26
 
27
27
  // Initialize the processor
28
- const processor = initTransactionProcessor({
28
+ const processor = createTransactionObserver({
29
29
  finality: 12, // blocks until considered final
30
30
  throttle: 5000, // optional: throttle process() calls
31
31
  provider: window.ethereum,
@@ -71,7 +71,7 @@ setInterval(() => processor.process(), 5000);
71
71
 
72
72
  ## API Reference
73
73
 
74
- ### `initTransactionProcessor(config)`
74
+ ### `createTransactionObserver(config)`
75
75
 
76
76
  Creates a new operation processor instance.
77
77
 
@@ -1,17 +1,53 @@
1
1
  import { type Account, type Chain, type PublicClient, type Transport, type WalletClient } from 'viem';
2
2
  import type { TrackedWalletClient } from './types.js';
3
+ /**
4
+ * Infer transport type from WalletClient
5
+ */
6
+ type InferTransport<T> = T extends WalletClient<infer TTransport, any, any> ? TTransport : Transport;
7
+ /**
8
+ * Infer chain type from WalletClient
9
+ */
10
+ type InferChain<T> = T extends WalletClient<any, infer TChain, any> ? TChain : Chain | undefined;
11
+ /**
12
+ * Infer account type from WalletClient
13
+ */
14
+ type InferAccount<T> = T extends WalletClient<any, any, infer TAccount> ? TAccount : Account | undefined;
15
+ /**
16
+ * Builder interface returned by createTrackedWalletClient for the curried API.
17
+ */
18
+ export interface TrackedWalletClientBuilder<TMetadata> {
19
+ /**
20
+ * Create the tracked wallet client using the provided wallet and public clients.
21
+ *
22
+ * @param walletClient - The underlying viem WalletClient
23
+ * @param publicClient - A PublicClient for nonce fetching and tx verification
24
+ * @returns A TrackedWalletClient instance
25
+ */
26
+ using<TClient extends WalletClient>(walletClient: TClient, publicClient: PublicClient): TrackedWalletClient<TMetadata, InferTransport<TClient>, InferChain<TClient>, InferAccount<TClient>>;
27
+ }
3
28
  /**
4
29
  * Create a tracked wallet client that wraps a viem WalletClient.
5
30
  *
6
31
  * The tracked client provides the same API as WalletClient but with:
7
- * - Optional metadata field for transaction tracking
32
+ * - Metadata field for transaction tracking (required unless TMetadata includes undefined)
8
33
  * - Automatic nonce fetching (with 'pending' by default)
9
34
  * - Post-broadcast transaction verification
10
- * - TODO: Event emission for tracking
35
+ * - Event emission for tracking
36
+ *
37
+ * @typeParam TMetadata - The metadata type. Use `MyMeta | undefined` to make metadata optional.
38
+ * @returns A builder with a `.using()` method to provide the wallet and public clients
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // With required metadata
43
+ * const tracked = createTrackedWalletClient<{purpose: string}>()
44
+ * .using(walletClient, publicClient);
11
45
  *
12
- * @param walletClient - The underlying viem WalletClient
13
- * @param publicClient - A PublicClient for nonce fetching and tx verification
14
- * @returns A TrackedWalletClient instance
46
+ * // With optional metadata
47
+ * const tracked = createTrackedWalletClient<{purpose: string} | undefined>()
48
+ * .using(walletClient, publicClient);
49
+ * ```
15
50
  */
16
- export declare function createTrackedWalletClient<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined>(walletClient: WalletClient<TTransport, TChain, TAccount>, publicClient: PublicClient): TrackedWalletClient<TTransport, TChain, TAccount>;
51
+ export declare function createTrackedWalletClient<TMetadata>(): TrackedWalletClientBuilder<TMetadata>;
52
+ export {};
17
53
  //# sourceMappingURL=TrackedWalletClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrackedWalletClient.d.ts","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,OAAO,EAEZ,KAAK,KAAK,EAIV,KAAK,YAAY,EAGjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAMX,mBAAmB,EAGnB,MAAM,YAAY,CAAC;AA+CpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACxC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAE1D,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EACxD,YAAY,EAAE,YAAY,GACxB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CA0XnD"}
1
+ {"version":3,"file":"TrackedWalletClient.d.ts","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,OAAO,EAEZ,KAAK,KAAK,EAIV,KAAK,YAAY,EAGjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAOX,mBAAmB,EAEnB,MAAM,YAAY,CAAC;AA+CpB;;GAEG;AACH,KAAK,cAAc,CAAC,CAAC,IACpB,CAAC,SAAS,YAAY,CAAC,MAAM,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7E;;GAEG;AACH,KAAK,UAAU,CAAC,CAAC,IAChB,CAAC,SAAS,YAAY,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAE7E;;GAEG;AACH,KAAK,YAAY,CAAC,CAAC,IAClB,CAAC,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAC7C,QAAQ,GACR,OAAO,GAAG,SAAS,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,SAAS;IACpD;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,SAAS,YAAY,EACjC,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,YAAY,GACxB,mBAAmB,CACrB,SAAS,EACT,cAAc,CAAC,OAAO,CAAC,EACvB,UAAU,CAAC,OAAO,CAAC,EACnB,YAAY,CAAC,OAAO,CAAC,CACrB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CACxC,SAAS,KACL,0BAA0B,CAAC,SAAS,CAAC,CA6ZzC"}
@@ -33,232 +33,247 @@ function generateTrackingId() {
33
33
  * Create a tracked wallet client that wraps a viem WalletClient.
34
34
  *
35
35
  * The tracked client provides the same API as WalletClient but with:
36
- * - Optional metadata field for transaction tracking
36
+ * - Metadata field for transaction tracking (required unless TMetadata includes undefined)
37
37
  * - Automatic nonce fetching (with 'pending' by default)
38
38
  * - Post-broadcast transaction verification
39
- * - TODO: Event emission for tracking
39
+ * - Event emission for tracking
40
40
  *
41
- * @param walletClient - The underlying viem WalletClient
42
- * @param publicClient - A PublicClient for nonce fetching and tx verification
43
- * @returns A TrackedWalletClient instance
41
+ * @typeParam TMetadata - The metadata type. Use `MyMeta | undefined` to make metadata optional.
42
+ * @returns A builder with a `.using()` method to provide the wallet and public clients
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // With required metadata
47
+ * const tracked = createTrackedWalletClient<{purpose: string}>()
48
+ * .using(walletClient, publicClient);
49
+ *
50
+ * // With optional metadata
51
+ * const tracked = createTrackedWalletClient<{purpose: string} | undefined>()
52
+ * .using(walletClient, publicClient);
53
+ * ```
44
54
  */
45
- export function createTrackedWalletClient(walletClient, publicClient) {
46
- // Create emitter for transaction broadcast events
47
- const emitter = new Emitter();
48
- /**
49
- * Resolve the nonce to use for a transaction.
50
- *
51
- * @param nonceOption - The nonce option provided by the caller
52
- * @param from - The sender address
53
- * @returns The resolved nonce number
54
- */
55
- async function resolveNonce(nonceOption, from) {
56
- if (typeof nonceOption === 'number') {
57
- // Explicit number - use as-is
58
- return nonceOption;
59
- }
60
- // Block tag (string) or undefined - fetch from chain
61
- const blockTag = isBlockTag(nonceOption) ? nonceOption : 'pending';
62
- return await publicClient.getTransactionCount({
63
- address: from,
64
- blockTag,
65
- });
66
- }
67
- /**
68
- * Extract common transaction context (account, nonce) from request args.
69
- * This is the shared logic between all transaction methods.
70
- *
71
- * @param args - The transaction args containing account and nonce options
72
- * @returns TransactionContext with resolved from address and nonce
73
- */
74
- async function extractTransactionContext(args) {
75
- // Get account/from address
76
- const account = args.account ?? walletClient.account;
77
- const from = resolveAccountAddress(account);
78
- if (!from) {
79
- throw new Error('[TrackedWalletClient] No account available. ' +
80
- 'Provide an account in the request or configure the wallet client with an account.');
81
- }
82
- // Resolve nonce
83
- const intendedNonce = await resolveNonce(args.nonce, from);
84
- return { from, intendedNonce };
85
- }
86
- /**
87
- * Extract transaction context from a serialized (signed) transaction.
88
- * Parses the transaction and recovers the sender address.
89
- *
90
- * @param serializedTransaction - The RLP-encoded signed transaction
91
- * @returns TransactionContext with from address and nonce
92
- */
93
- async function extractRawTransactionContext(serializedTransaction) {
94
- // Parse the serialized transaction to get the nonce
95
- const parsedTx = parseTransaction(serializedTransaction);
96
- if (parsedTx.nonce === undefined) {
97
- throw new Error('[TrackedWalletClient] Could not extract nonce from serialized transaction.');
98
- }
99
- // Recover the sender address from the signature
100
- const from = await recoverTransactionAddress({
101
- serializedTransaction,
102
- });
103
- return {
104
- from,
105
- intendedNonce: parsedTx.nonce,
106
- };
107
- }
108
- /**
109
- * Fetch the transaction after broadcast to verify nonce.
110
- * Logs a warning if the nonce was overridden or if tx cannot be found.
111
- *
112
- * @param hash - The transaction hash
113
- * @param intendedNonce - The nonce we intended to use
114
- * @returns The actual nonce, or the intended nonce if fetch failed
115
- */
116
- async function verifyTransactionNonce(hash, intendedNonce) {
117
- try {
118
- const tx = await publicClient.getTransaction({ hash });
119
- const actualNonce = tx.nonce;
120
- if (actualNonce !== intendedNonce) {
121
- console.warn(`[TrackedWalletClient] Nonce mismatch: intended ${intendedNonce}, actual ${actualNonce}. ` +
122
- `Wallet may have overridden the nonce.`);
123
- }
124
- return actualNonce;
125
- }
126
- catch (fetchError) {
127
- // Transaction not found in mempool/chain yet
128
- console.warn(`[TrackedWalletClient] Could not fetch tx ${hash} after broadcast. ` +
129
- `It may not be in the mempool yet.`);
130
- return intendedNonce;
131
- }
132
- }
133
- /**
134
- * Create a tracked transaction record.
135
- */
136
- function createTrackedTransaction(txHash, from, nonce, metadata, request) {
137
- return {
138
- trackingId: metadata?.id ?? generateTrackingId(),
139
- txHash,
140
- from,
141
- nonce,
142
- chainId: walletClient.chain?.id ?? 1,
143
- metadata: (metadata ?? {}),
144
- initiatedAt: Date.now(),
145
- request,
146
- };
147
- }
148
- /**
149
- * Common wrapper for transaction methods that broadcast (sendTransaction, writeContract).
150
- * Handles nonce resolution, underlying call, post-broadcast verification, and tracking record creation.
151
- */
152
- async function executeTrackedTransaction(args) {
153
- const { metadata, restArgs, execute, extractHash } = args;
154
- // Extract common context
155
- const { from, intendedNonce } = await extractTransactionContext(args);
156
- // Execute the underlying transaction with nonce injected
157
- const result = await execute({ ...restArgs, nonce: intendedNonce });
158
- const hash = extractHash(result);
159
- // Verify transaction and get actual nonce
160
- const actualNonce = await verifyTransactionNonce(hash, intendedNonce);
161
- // Create tracked transaction record
162
- const trackedTx = createTrackedTransaction(hash, from, actualNonce, metadata, restArgs);
163
- // Emit transaction broadcasted event
164
- emitter.emit('transaction:broadcasted', trackedTx);
165
- return result;
166
- }
167
- /**
168
- * Common wrapper for raw transaction broadcasts (sendRawTransaction).
169
- * Decodes the transaction to extract from/nonce, broadcasts, and creates tracking record.
170
- */
171
- async function executeTrackedRawTransaction(args) {
172
- const { serializedTransaction, metadata, execute, extractHash } = args;
173
- // Extract context from the serialized transaction
174
- const { from, intendedNonce } = await extractRawTransactionContext(serializedTransaction);
175
- // Execute the broadcast
176
- const result = await execute();
177
- const hash = extractHash(result);
178
- // For raw transactions, the nonce is already embedded, so no verification needed
179
- // (wallet cannot override nonce in an already-signed transaction)
180
- // Create tracked transaction record
181
- const trackedTx = createTrackedTransaction(hash, from, intendedNonce, metadata, { serializedTransaction });
182
- // Emit transaction broadcasted event
183
- emitter.emit('transaction:broadcasted', trackedTx);
184
- return result;
185
- }
55
+ export function createTrackedWalletClient() {
186
56
  return {
187
- walletClient,
188
- publicClient,
189
- // ============================================
190
- // Async methods (return hash)
191
- // ============================================
192
- async writeContract(args) {
193
- const { metadata, nonce, ...writeArgs } = args;
194
- return executeTrackedTransaction({
195
- account: normalizeAccount(args.account),
196
- nonce,
197
- metadata,
198
- restArgs: writeArgs,
199
- execute: (argsWithNonce) => walletClient.writeContract(argsWithNonce),
200
- extractHash: (hash) => hash,
201
- });
202
- },
203
- async sendTransaction(args) {
204
- const { metadata, nonce, ...sendArgs } = args;
205
- return executeTrackedTransaction({
206
- account: normalizeAccount(args.account),
207
- nonce,
208
- metadata,
209
- restArgs: sendArgs,
210
- execute: (argsWithNonce) => walletClient.sendTransaction(argsWithNonce),
211
- extractHash: (hash) => hash,
212
- });
213
- },
214
- async sendRawTransaction(args) {
215
- const { metadata, serializedTransaction } = args;
216
- return executeTrackedRawTransaction({
217
- serializedTransaction,
218
- metadata,
219
- execute: () => walletClient.sendRawTransaction({ serializedTransaction }),
220
- extractHash: (hash) => hash,
221
- });
222
- },
223
- // ============================================
224
- // Sync methods (return receipt, wait for confirmation)
225
- // ============================================
226
- async writeContractSync(args) {
227
- const { metadata, nonce, ...writeArgs } = args;
228
- return executeTrackedTransaction({
229
- account: normalizeAccount(args.account),
230
- nonce,
231
- metadata,
232
- restArgs: writeArgs,
233
- execute: (argsWithNonce) => walletClient.writeContractSync(argsWithNonce),
234
- extractHash: (receipt) => receipt.transactionHash,
235
- });
236
- },
237
- async sendTransactionSync(args) {
238
- const { metadata, nonce, ...sendArgs } = args;
239
- return executeTrackedTransaction({
240
- account: normalizeAccount(args.account),
241
- nonce,
242
- metadata,
243
- restArgs: sendArgs,
244
- execute: (argsWithNonce) => walletClient.sendTransactionSync(argsWithNonce),
245
- extractHash: (receipt) => receipt.transactionHash,
246
- });
247
- },
248
- async sendRawTransactionSync(args) {
249
- const { metadata, serializedTransaction } = args;
250
- return executeTrackedRawTransaction({
251
- serializedTransaction,
252
- metadata,
253
- execute: () => walletClient.sendRawTransactionSync({ serializedTransaction }),
254
- extractHash: (receipt) => receipt.transactionHash,
255
- });
57
+ using(walletClient, publicClient) {
58
+ // Create emitter for transaction broadcast events
59
+ const emitter = new Emitter();
60
+ /**
61
+ * Resolve the nonce to use for a transaction.
62
+ *
63
+ * @param nonceOption - The nonce option provided by the caller
64
+ * @param from - The sender address
65
+ * @returns The resolved nonce number
66
+ */
67
+ async function resolveNonce(nonceOption, from) {
68
+ if (typeof nonceOption === 'number') {
69
+ // Explicit number - use as-is
70
+ return nonceOption;
71
+ }
72
+ // Block tag (string) or undefined - fetch from chain
73
+ const blockTag = isBlockTag(nonceOption) ? nonceOption : 'pending';
74
+ return await publicClient.getTransactionCount({
75
+ address: from,
76
+ blockTag,
77
+ });
78
+ }
79
+ /**
80
+ * Extract common transaction context (account, nonce) from request args.
81
+ * This is the shared logic between all transaction methods.
82
+ *
83
+ * @param args - The transaction args containing account and nonce options
84
+ * @returns TransactionContext with resolved from address and nonce
85
+ */
86
+ async function extractTransactionContext(args) {
87
+ // Get account/from address
88
+ const account = args.account ?? walletClient.account;
89
+ const from = resolveAccountAddress(account);
90
+ if (!from) {
91
+ throw new Error('[TrackedWalletClient] No account available. ' +
92
+ 'Provide an account in the request or configure the wallet client with an account.');
93
+ }
94
+ // Resolve nonce
95
+ const intendedNonce = await resolveNonce(args.nonce, from);
96
+ return { from, intendedNonce };
97
+ }
98
+ /**
99
+ * Extract transaction context from a serialized (signed) transaction.
100
+ * Parses the transaction and recovers the sender address.
101
+ *
102
+ * @param serializedTransaction - The RLP-encoded signed transaction
103
+ * @returns TransactionContext with from address and nonce
104
+ */
105
+ async function extractRawTransactionContext(serializedTransaction) {
106
+ // Parse the serialized transaction to get the nonce
107
+ const parsedTx = parseTransaction(serializedTransaction);
108
+ if (parsedTx.nonce === undefined) {
109
+ throw new Error('[TrackedWalletClient] Could not extract nonce from serialized transaction.');
110
+ }
111
+ // Recover the sender address from the signature
112
+ const from = await recoverTransactionAddress({
113
+ serializedTransaction,
114
+ });
115
+ return {
116
+ from,
117
+ intendedNonce: parsedTx.nonce,
118
+ };
119
+ }
120
+ /**
121
+ * Fetch the transaction after broadcast to verify nonce.
122
+ * Logs a warning if the nonce was overridden or if tx cannot be found.
123
+ *
124
+ * @param hash - The transaction hash
125
+ * @param intendedNonce - The nonce we intended to use
126
+ * @returns The actual nonce, or the intended nonce if fetch failed
127
+ */
128
+ async function verifyTransactionNonce(hash, intendedNonce) {
129
+ try {
130
+ const tx = await publicClient.getTransaction({ hash });
131
+ const actualNonce = tx.nonce;
132
+ if (actualNonce !== intendedNonce) {
133
+ console.warn(`[TrackedWalletClient] Nonce mismatch: intended ${intendedNonce}, actual ${actualNonce}. ` +
134
+ `Wallet may have overridden the nonce.`);
135
+ }
136
+ return actualNonce;
137
+ }
138
+ catch (fetchError) {
139
+ // Transaction not found in mempool/chain yet
140
+ console.warn(`[TrackedWalletClient] Could not fetch tx ${hash} after broadcast. ` +
141
+ `It may not be in the mempool yet.`);
142
+ return intendedNonce;
143
+ }
144
+ }
145
+ /**
146
+ * Create a tracked transaction record.
147
+ */
148
+ function createTrackedTransactionRecord(txHash, from, nonce, metadata) {
149
+ return {
150
+ hash: txHash,
151
+ from,
152
+ nonce,
153
+ chainId: walletClient.chain?.id,
154
+ metadata,
155
+ broadcastTimestampMs: Date.now(),
156
+ };
157
+ }
158
+ /**
159
+ * Common wrapper for transaction methods that broadcast (sendTransaction, writeContract).
160
+ * Handles nonce resolution, underlying call, post-broadcast verification, and tracking record creation.
161
+ */
162
+ async function executeTrackedTransaction(args) {
163
+ const { metadata, restArgs, execute, extractHash } = args;
164
+ // Extract common context
165
+ const { from, intendedNonce } = await extractTransactionContext(args);
166
+ // Execute the underlying transaction with nonce injected
167
+ const result = await execute({
168
+ ...restArgs,
169
+ nonce: intendedNonce,
170
+ });
171
+ const hash = extractHash(result);
172
+ // Verify transaction and get actual nonce
173
+ const actualNonce = await verifyTransactionNonce(hash, intendedNonce);
174
+ // Create tracked transaction record
175
+ const trackedTx = createTrackedTransactionRecord(hash, from, actualNonce, metadata);
176
+ // Emit transaction broadcasted event
177
+ emitter.emit('transaction:broadcasted', trackedTx);
178
+ return result;
179
+ }
180
+ /**
181
+ * Common wrapper for raw transaction broadcasts (sendRawTransaction).
182
+ * Decodes the transaction to extract from/nonce, broadcasts, and creates tracking record.
183
+ */
184
+ async function executeTrackedRawTransaction(args) {
185
+ const { serializedTransaction, metadata, execute, extractHash } = args;
186
+ // Extract context from the serialized transaction
187
+ const { from, intendedNonce } = await extractRawTransactionContext(serializedTransaction);
188
+ // Execute the broadcast
189
+ const result = await execute();
190
+ const hash = extractHash(result);
191
+ // For raw transactions, the nonce is already embedded, so no verification needed
192
+ // (wallet cannot override nonce in an already-signed transaction)
193
+ // Create tracked transaction record
194
+ const trackedTx = createTrackedTransactionRecord(hash, from, intendedNonce, metadata);
195
+ // Emit transaction broadcasted event
196
+ emitter.emit('transaction:broadcasted', trackedTx);
197
+ return result;
198
+ }
199
+ return {
200
+ walletClient: walletClient,
201
+ publicClient,
202
+ // ============================================
203
+ // Async methods (return hash)
204
+ // ============================================
205
+ async writeContract(args) {
206
+ const { metadata, nonce, ...writeArgs } = args;
207
+ return executeTrackedTransaction({
208
+ account: normalizeAccount(args.account),
209
+ nonce,
210
+ metadata: metadata,
211
+ restArgs: writeArgs,
212
+ execute: (argsWithNonce) => walletClient.writeContract(argsWithNonce),
213
+ extractHash: (hash) => hash,
214
+ });
215
+ },
216
+ async sendTransaction(args) {
217
+ const { metadata, nonce, ...sendArgs } = args;
218
+ return executeTrackedTransaction({
219
+ account: normalizeAccount(args.account),
220
+ nonce,
221
+ metadata: metadata,
222
+ restArgs: sendArgs,
223
+ execute: (argsWithNonce) => walletClient.sendTransaction(argsWithNonce),
224
+ extractHash: (hash) => hash,
225
+ });
226
+ },
227
+ async sendRawTransaction(args) {
228
+ const { metadata, serializedTransaction } = args;
229
+ return executeTrackedRawTransaction({
230
+ serializedTransaction,
231
+ metadata: metadata,
232
+ execute: () => walletClient.sendRawTransaction({ serializedTransaction }),
233
+ extractHash: (hash) => hash,
234
+ });
235
+ },
236
+ // ============================================
237
+ // Sync methods (return receipt, wait for confirmation)
238
+ // ============================================
239
+ async writeContractSync(args) {
240
+ const { metadata, nonce, ...writeArgs } = args;
241
+ return executeTrackedTransaction({
242
+ account: normalizeAccount(args.account),
243
+ nonce,
244
+ metadata: metadata,
245
+ restArgs: writeArgs,
246
+ execute: (argsWithNonce) => walletClient.writeContractSync(argsWithNonce),
247
+ extractHash: (receipt) => receipt.transactionHash,
248
+ });
249
+ },
250
+ async sendTransactionSync(args) {
251
+ const { metadata, nonce, ...sendArgs } = args;
252
+ return executeTrackedTransaction({
253
+ account: normalizeAccount(args.account),
254
+ nonce,
255
+ metadata: metadata,
256
+ restArgs: sendArgs,
257
+ execute: (argsWithNonce) => walletClient.sendTransactionSync(argsWithNonce),
258
+ extractHash: (receipt) => receipt.transactionHash,
259
+ });
260
+ },
261
+ async sendRawTransactionSync(args) {
262
+ const { metadata, serializedTransaction } = args;
263
+ return executeTrackedRawTransaction({
264
+ serializedTransaction,
265
+ metadata: metadata,
266
+ execute: () => walletClient.sendRawTransactionSync({ serializedTransaction }),
267
+ extractHash: (receipt) => receipt.transactionHash,
268
+ });
269
+ },
270
+ // ============================================
271
+ // Event subscription methods
272
+ // ============================================
273
+ onTransactionBroadcasted: (listener) => emitter.on('transaction:broadcasted', listener),
274
+ offTransactionBroadcasted: (listener) => emitter.off('transaction:broadcasted', listener),
275
+ };
256
276
  },
257
- // ============================================
258
- // Event subscription methods
259
- // ============================================
260
- onTransactionBroadcasted: (listener) => emitter.on('transaction:broadcasted', listener),
261
- offTransactionBroadcasted: (listener) => emitter.off('transaction:broadcasted', listener),
262
277
  };
263
278
  }
264
279
  //# sourceMappingURL=TrackedWalletClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrackedWalletClient.js","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrackedWalletClient.js","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type { BlockTag, ExpectedEvent, NonceOption, TrackedRawTransactionParameters, TrackedSendTransactionParameters, TrackedTransaction, TrackedWalletClient, TrackedWriteContractParameters, TransactionMetadata, } from './types.js';
2
- export { createTrackedWalletClient } from './TrackedWalletClient.js';
1
+ export type * from './types.js';
2
+ export { createTrackedWalletClient, type TrackedWalletClientBuilder, } from './TrackedWalletClient.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,QAAQ,EACR,aAAa,EACb,WAAW,EACX,+BAA+B,EAC/B,gCAAgC,EAChC,kBAAkB,EAClB,mBAAmB,EACnB,8BAA8B,EAC9B,mBAAmB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,mBAAmB,YAAY,CAAC;AAGhC,OAAO,EACN,yBAAyB,EACzB,KAAK,0BAA0B,GAC/B,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Factory
2
- export { createTrackedWalletClient } from './TrackedWalletClient.js';
2
+ export { createTrackedWalletClient, } from './TrackedWalletClient.js';
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,UAAU;AACV,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,UAAU;AACV,OAAO,EACN,yBAAyB,GAEzB,MAAM,0BAA0B,CAAC"}