@etherkit/viem-tx-tracker 0.0.7 → 0.0.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TrackedWalletClient.d.ts","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,KAAK,OAAO,EAEZ,KAAK,KAAK,EAIV,KAAK,YAAY,EAIjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAGX,gCAAgC,EAGhC,iBAAiB,EAIjB,mBAAmB,EACnB,+BAA+B,EAI/B,MAAM,YAAY,CAAC;AA+RpB;;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;;;;GAIG;AACH,MAAM,WAAW,sCAAsC,CAAC,SAAS;IAChE;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,SAAS,YAAY,EACjC,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,YAAY,GACxB,+BAA+B,CACjC,SAAS,EACT,cAAc,CAAC,OAAO,CAAC,EACvB,UAAU,CAAC,OAAO,CAAC,EACnB,YAAY,CAAC,OAAO,CAAC,CACrB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,wBAAgB,yBAAyB,CACxC,SAAS,KACL,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAG3C,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,gCAAgC,CAAC,IAAI,CAAC,GAC7C,sCAAsC,CAAC,iBAAiB,CAAC,CAAC;AAG7D,wBAAgB,yBAAyB,CAAC,SAAS,EAClD,OAAO,EAAE,gCAAgC,CAAC,IAAI,CAAC,GAC7C,sCAAsC,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"TrackedWalletClient.d.ts","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,OAAO,EAEZ,KAAK,KAAK,EAIV,KAAK,YAAY,EAIjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAGX,gCAAgC,EAIhC,iBAAiB,EAIjB,mBAAmB,EACnB,+BAA+B,EAI/B,MAAM,YAAY,CAAC;AAmXpB;;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;;;;GAIG;AACH,MAAM,WAAW,sCAAsC,CAAC,SAAS;IAChE;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,SAAS,YAAY,EACjC,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,YAAY,GACxB,+BAA+B,CACjC,SAAS,EACT,cAAc,CAAC,OAAO,CAAC,EACvB,UAAU,CAAC,OAAO,CAAC,EACnB,YAAY,CAAC,OAAO,CAAC,CACrB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,wBAAgB,yBAAyB,CACxC,SAAS,KACL,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAG3C,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,gCAAgC,CAAC,IAAI,CAAC,GAC7C,sCAAsC,CAAC,iBAAiB,CAAC,CAAC;AAG7D,wBAAgB,yBAAyB,CAAC,SAAS,EAClD,OAAO,EAAE,gCAAgC,CAAC,IAAI,CAAC,GAC7C,sCAAsC,CAAC,SAAS,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { parseTransaction, recoverTransactionAddress, } from 'viem';
1
+ import { encodeFunctionData, parseTransaction, recoverTransactionAddress, } from 'viem';
2
2
  import { Emitter } from 'radiate';
3
3
  /**
4
4
  * Check if a value is a block tag string
@@ -28,13 +28,14 @@ function normalizeAccount(account) {
28
28
  * Returns undefined if can't be determined (wallet will decide).
29
29
  */
30
30
  function inferTxType(params) {
31
- if (params.maxFeePerGas !== undefined) {
31
+ if (params.gasParameters.maxFeePerGas !== undefined) {
32
32
  return 'eip1559';
33
33
  }
34
- if (params.gasPrice !== undefined && params.accessList !== undefined) {
34
+ if (params.gasParameters.gasPrice !== undefined &&
35
+ params.accessList !== undefined) {
35
36
  return 'eip2930';
36
37
  }
37
- if (params.gasPrice !== undefined) {
38
+ if (params.gasParameters.gasPrice !== undefined) {
38
39
  return 'legacy';
39
40
  }
40
41
  return undefined; // Wallet will determine
@@ -44,8 +45,7 @@ function inferTxType(params) {
44
45
  * Populates all known intended values from the transaction parameters.
45
46
  */
46
47
  function createUnknownTrackedTransaction(hash, from, nonce, chainId, metadata, broadcastTimestampMs, params) {
47
- const txType = inferTxType(params);
48
- return {
48
+ const base = {
49
49
  known: false,
50
50
  chainId,
51
51
  hash,
@@ -53,45 +53,92 @@ function createUnknownTrackedTransaction(hash, from, nonce, chainId, metadata, b
53
53
  nonce,
54
54
  broadcastTimestampMs,
55
55
  metadata,
56
- ...(txType !== undefined && { txType }),
57
- ...(params.to !== undefined && { to: params.to }),
58
- ...(params.value !== undefined && { value: params.value }),
59
- ...(params.data !== undefined && { data: params.data }),
60
- ...(params.gas !== undefined && { gas: params.gas }),
61
- ...(params.gasPrice !== undefined && { gasPrice: params.gasPrice }),
62
- ...(params.maxFeePerGas !== undefined && {
63
- maxFeePerGas: params.maxFeePerGas,
64
- }),
65
- ...(params.maxPriorityFeePerGas !== undefined && {
66
- maxPriorityFeePerGas: params.maxPriorityFeePerGas,
67
- }),
68
- ...(params.accessList !== undefined && { accessList: params.accessList }),
56
+ to: params.to,
57
+ value: params.value,
58
+ data: params.data,
69
59
  };
60
+ // Use provided txType or infer from params
61
+ const txType = params.txType ?? inferTxType(params);
62
+ // Discriminate by txType
63
+ if (txType === 'eip1559') {
64
+ return {
65
+ ...base,
66
+ txType: 'eip1559',
67
+ accessList: params.accessList,
68
+ gasParameters: {
69
+ gas: params.gasParameters.gas,
70
+ maxFeePerGas: params.gasParameters.maxFeePerGas,
71
+ maxPriorityFeePerGas: params.gasParameters.maxPriorityFeePerGas,
72
+ },
73
+ };
74
+ }
75
+ else if (txType === 'legacy') {
76
+ return {
77
+ ...base,
78
+ txType: 'legacy',
79
+ gasParameters: {
80
+ gas: params.gasParameters.gas,
81
+ gasPrice: params.gasParameters.gasPrice,
82
+ },
83
+ };
84
+ }
85
+ else if (txType === 'eip2930') {
86
+ return {
87
+ ...base,
88
+ txType: 'eip2930',
89
+ accessList: params.accessList,
90
+ gasParameters: {
91
+ gas: params.gasParameters.gas,
92
+ gasPrice: params.gasParameters.gasPrice,
93
+ },
94
+ };
95
+ }
96
+ else {
97
+ // txType unknown
98
+ return {
99
+ ...base,
100
+ accessList: params.accessList,
101
+ gasParameters: params.gasParameters,
102
+ };
103
+ }
70
104
  }
71
105
  /**
72
106
  * Extract transaction type-specific fields from a fetched transaction.
107
+ * Returns the txType, accessList (if applicable), and gasParameters object.
73
108
  */
74
109
  function extractTransactionTypeFields(tx) {
75
110
  if (tx.type === 'eip1559') {
76
111
  return {
77
112
  txType: 'eip1559',
78
- maxFeePerGas: tx.maxFeePerGas,
79
- maxPriorityFeePerGas: tx.maxPriorityFeePerGas,
113
+ chainId: tx.chainId,
80
114
  ...(tx.accessList && { accessList: tx.accessList }),
115
+ gasParameters: {
116
+ gas: tx.gas,
117
+ maxFeePerGas: tx.maxFeePerGas,
118
+ maxPriorityFeePerGas: tx.maxPriorityFeePerGas,
119
+ },
81
120
  };
82
121
  }
83
122
  else if (tx.type === 'eip2930') {
84
123
  return {
85
124
  txType: 'eip2930',
86
- gasPrice: tx.gasPrice,
125
+ chainId: tx.chainId,
87
126
  accessList: (tx.accessList ?? []),
127
+ gasParameters: {
128
+ gas: tx.gas,
129
+ gasPrice: tx.gasPrice,
130
+ },
88
131
  };
89
132
  }
90
133
  else {
91
134
  // Legacy or unknown - treat as legacy
92
135
  return {
93
136
  txType: 'legacy',
94
- gasPrice: tx.gasPrice,
137
+ chainId: tx.chainId,
138
+ gasParameters: {
139
+ gas: tx.gas,
140
+ gasPrice: tx.gasPrice,
141
+ },
95
142
  };
96
143
  }
97
144
  }
@@ -99,19 +146,20 @@ function extractTransactionTypeFields(tx) {
99
146
  * Create a KnownTrackedTransaction from a fetched transaction.
100
147
  */
101
148
  function createKnownTrackedTransaction(tx, metadata, broadcastTimestampMs) {
102
- const typeFields = extractTransactionTypeFields(tx);
103
- return {
149
+ const base = {
104
150
  known: true,
105
- chainId: tx.chainId,
106
151
  hash: tx.hash,
107
152
  from: tx.from,
108
153
  to: tx.to,
109
154
  nonce: tx.nonce,
110
155
  value: tx.value,
111
156
  data: tx.input,
112
- gas: tx.gas,
113
157
  broadcastTimestampMs,
114
158
  metadata,
159
+ };
160
+ const typeFields = extractTransactionTypeFields(tx);
161
+ return {
162
+ ...base,
115
163
  ...typeFields,
116
164
  };
117
165
  }
@@ -119,67 +167,80 @@ function createKnownTrackedTransaction(tx, metadata, broadcastTimestampMs) {
119
167
  * Create a KnownTrackedTransaction from a parsed raw transaction.
120
168
  */
121
169
  function createKnownTrackedTransactionFromRaw(parsedTx, from, hash, metadata, chainId, broadcastTimestampMs) {
170
+ const base = {
171
+ known: true,
172
+ hash,
173
+ from,
174
+ to: parsedTx.to ?? null,
175
+ nonce: parsedTx.nonce,
176
+ value: parsedTx.value ?? 0n,
177
+ data: parsedTx.data ?? '0x',
178
+ broadcastTimestampMs,
179
+ metadata,
180
+ };
122
181
  // Determine transaction type from parsed tx
123
- let typeFields;
124
182
  if ('maxFeePerGas' in parsedTx && parsedTx.maxFeePerGas !== undefined) {
125
- typeFields = {
183
+ return {
184
+ ...base,
126
185
  txType: 'eip1559',
127
- maxFeePerGas: parsedTx.maxFeePerGas,
128
- maxPriorityFeePerGas: parsedTx.maxPriorityFeePerGas,
186
+ chainId: parsedTx.chainId ?? chainId,
129
187
  ...('accessList' in parsedTx &&
130
188
  parsedTx.accessList && {
131
189
  accessList: parsedTx.accessList,
132
190
  }),
191
+ gasParameters: {
192
+ gas: parsedTx.gas,
193
+ maxFeePerGas: parsedTx.maxFeePerGas,
194
+ maxPriorityFeePerGas: parsedTx.maxPriorityFeePerGas,
195
+ },
133
196
  };
134
197
  }
135
198
  else if ('accessList' in parsedTx && parsedTx.accessList) {
136
- typeFields = {
199
+ return {
200
+ ...base,
137
201
  txType: 'eip2930',
138
- gasPrice: parsedTx.gasPrice,
202
+ chainId: parsedTx.chainId ?? chainId,
139
203
  accessList: parsedTx.accessList,
204
+ gasParameters: {
205
+ gas: parsedTx.gas,
206
+ gasPrice: parsedTx.gasPrice,
207
+ },
140
208
  };
141
209
  }
142
210
  else {
143
- typeFields = {
211
+ return {
212
+ ...base,
144
213
  txType: 'legacy',
145
- gasPrice: parsedTx.gasPrice,
214
+ chainId: parsedTx.chainId ?? chainId,
215
+ gasParameters: {
216
+ gas: parsedTx.gas,
217
+ gasPrice: parsedTx.gasPrice,
218
+ },
146
219
  };
147
220
  }
148
- return {
149
- known: true,
150
- chainId: parsedTx.chainId ?? chainId,
151
- hash,
152
- from,
153
- to: parsedTx.to ?? null,
154
- nonce: parsedTx.nonce,
155
- value: parsedTx.value ?? 0n,
156
- data: parsedTx.data ?? '0x',
157
- gas: parsedTx.gas,
158
- broadcastTimestampMs,
159
- metadata,
160
- ...typeFields,
161
- };
162
221
  }
163
222
  /**
164
223
  * Extract intended params from sendTransaction args.
165
224
  * Uses 'unknown' for 'to' since viem's SendTransactionParameters has a complex type for it.
166
225
  */
167
226
  function extractIntendedParamsFromSendTransaction(args) {
168
- // Normalize 'to' to either a hex address, null, or undefined
227
+ // Normalize 'to' to either a hex address or null
169
228
  const to = args.to === null || args.to === undefined
170
- ? args.to
229
+ ? null
171
230
  : typeof args.to === 'string'
172
231
  ? args.to
173
- : undefined;
232
+ : null;
174
233
  return {
175
234
  to,
176
235
  value: args.value ?? 0n,
177
- data: args.data,
178
- gas: args.gas,
179
- gasPrice: args.gasPrice,
180
- maxFeePerGas: args.maxFeePerGas,
181
- maxPriorityFeePerGas: args.maxPriorityFeePerGas,
236
+ data: args.data ?? '0x',
182
237
  accessList: args.accessList,
238
+ gasParameters: {
239
+ gas: args.gas,
240
+ gasPrice: args.gasPrice,
241
+ maxFeePerGas: args.maxFeePerGas,
242
+ maxPriorityFeePerGas: args.maxPriorityFeePerGas,
243
+ },
183
244
  };
184
245
  }
185
246
  /**
@@ -189,12 +250,18 @@ function extractIntendedParamsFromWriteContract(args) {
189
250
  return {
190
251
  to: args.address,
191
252
  value: args.value ?? 0n,
192
- // Note: data could be encoded using encodeFunctionData(args) if desired
193
- gas: args.gas,
194
- gasPrice: args.gasPrice,
195
- maxFeePerGas: args.maxFeePerGas,
196
- maxPriorityFeePerGas: args.maxPriorityFeePerGas,
253
+ data: encodeFunctionData({
254
+ abi: args.abi,
255
+ functionName: args.functionName,
256
+ args: args.args,
257
+ }),
197
258
  accessList: args.accessList,
259
+ gasParameters: {
260
+ gas: args.gas,
261
+ gasPrice: args.gasPrice,
262
+ maxFeePerGas: args.maxFeePerGas,
263
+ maxPriorityFeePerGas: args.maxPriorityFeePerGas,
264
+ },
198
265
  };
199
266
  }
200
267
  // Implementation
@@ -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/types.d.ts CHANGED
@@ -74,14 +74,29 @@ export type AccessList = readonly {
74
74
  storageKeys: readonly `0x${string}`[];
75
75
  }[];
76
76
  /**
77
- * Base transaction fields present in all tracked transactions.
77
+ * Gas parameters for UnknownTrackedTransaction.
78
+ * All fields are optional - we provide what we have,
79
+ * but the wallet may modify or fill in missing values.
78
80
  */
79
- export type BaseTrackedTransaction<TMetadata> = {
80
- readonly chainId?: number;
81
+ export type IntendedGasParameters = {
82
+ readonly gas?: bigint;
83
+ readonly gasPrice?: bigint;
84
+ readonly maxFeePerGas?: bigint;
85
+ readonly maxPriorityFeePerGas?: bigint;
86
+ };
87
+ /**
88
+ * Common fields for all tracked transactions.
89
+ * All field paths are stable - you can always access tx.field
90
+ */
91
+ type CommonTrackedFields<TMetadata> = {
81
92
  readonly hash: `0x${string}`;
82
93
  readonly from: `0x${string}`;
83
94
  readonly broadcastTimestampMs: number;
84
95
  readonly metadata: TMetadata;
96
+ readonly to: `0x${string}` | null;
97
+ readonly value: bigint;
98
+ readonly data: `0x${string}`;
99
+ readonly nonce: number;
85
100
  };
86
101
  /**
87
102
  * A fully known tracked transaction with all fields confirmed from chain.
@@ -89,29 +104,37 @@ export type BaseTrackedTransaction<TMetadata> = {
89
104
  * or immediately for sendRawTransaction where we can parse the tx.
90
105
  *
91
106
  * When known=true, all values are the actual confirmed values used by the chain.
107
+ * Uses discriminated union by txType to enforce correct field combinations.
108
+ * - txType at top level (stable path)
109
+ * - accessList at top level, presence depends on txType
110
+ * - gasParameters at top level with txType-specific fields
92
111
  */
93
- export type KnownTrackedTransaction<TMetadata> = BaseTrackedTransaction<TMetadata> & {
112
+ export type KnownTrackedTransaction<TMetadata> = CommonTrackedFields<TMetadata> & {
94
113
  readonly known: true;
95
- readonly to: `0x${string}` | null;
96
- readonly nonce: number;
97
- readonly value: bigint;
98
- readonly data: `0x${string}`;
99
- readonly gas: bigint;
100
114
  } & ({
101
115
  readonly txType: 'eip1559';
102
116
  readonly chainId: number;
103
- readonly maxFeePerGas: bigint;
104
- readonly maxPriorityFeePerGas: bigint;
105
117
  readonly accessList?: AccessList;
118
+ readonly gasParameters: {
119
+ readonly gas: bigint;
120
+ readonly maxFeePerGas: bigint;
121
+ readonly maxPriorityFeePerGas: bigint;
122
+ };
106
123
  } | {
107
124
  readonly txType: 'legacy';
108
125
  readonly chainId?: number;
109
- readonly gasPrice: bigint;
126
+ readonly gasParameters: {
127
+ readonly gas: bigint;
128
+ readonly gasPrice: bigint;
129
+ };
110
130
  } | {
111
131
  readonly txType: 'eip2930';
112
132
  readonly chainId: number;
113
- readonly gasPrice: bigint;
114
133
  readonly accessList: AccessList;
134
+ readonly gasParameters: {
135
+ readonly gas: bigint;
136
+ readonly gasPrice: bigint;
137
+ };
115
138
  });
116
139
  /**
117
140
  * A partially known tracked transaction with intended/provided values.
@@ -119,7 +142,8 @@ export type KnownTrackedTransaction<TMetadata> = BaseTrackedTransaction<TMetadat
119
142
  *
120
143
  * When known=false, values are what we intended/provided, but the wallet
121
144
  * may have modified them (e.g., gas estimation, nonce override).
122
- * All optional fields are populated if we have the data.
145
+ * Also discriminated by txType when known.
146
+ * gasParameters may differ from what wallet actually uses.
123
147
  *
124
148
  * txType is inferred from provided params:
125
149
  * - maxFeePerGas provided → 'eip1559'
@@ -127,19 +151,38 @@ export type KnownTrackedTransaction<TMetadata> = BaseTrackedTransaction<TMetadat
127
151
  * - gasPrice only → 'legacy'
128
152
  * - undefined → wallet will determine type
129
153
  */
130
- export type UnknownTrackedTransaction<TMetadata> = BaseTrackedTransaction<TMetadata> & {
154
+ export type UnknownTrackedTransaction<TMetadata> = CommonTrackedFields<TMetadata> & {
131
155
  readonly known: false;
132
- readonly txType?: 'eip1559' | 'legacy' | 'eip2930';
133
- readonly to?: `0x${string}` | null;
134
- readonly nonce?: number;
135
- readonly value?: bigint;
136
- readonly data?: `0x${string}`;
137
- readonly gas?: bigint;
138
- readonly gasPrice?: bigint;
139
- readonly maxFeePerGas?: bigint;
140
- readonly maxPriorityFeePerGas?: bigint;
156
+ } & ({
157
+ readonly txType: 'eip1559';
158
+ readonly chainId?: number;
141
159
  readonly accessList?: AccessList;
142
- };
160
+ readonly gasParameters: {
161
+ readonly gas?: bigint;
162
+ readonly maxFeePerGas?: bigint;
163
+ readonly maxPriorityFeePerGas?: bigint;
164
+ };
165
+ } | {
166
+ readonly txType: 'legacy';
167
+ readonly chainId?: number;
168
+ readonly gasParameters: {
169
+ readonly gas?: bigint;
170
+ readonly gasPrice?: bigint;
171
+ };
172
+ } | {
173
+ readonly txType: 'eip2930';
174
+ readonly chainId?: number;
175
+ readonly accessList?: AccessList;
176
+ readonly gasParameters: {
177
+ readonly gas?: bigint;
178
+ readonly gasPrice?: bigint;
179
+ };
180
+ } | {
181
+ readonly txType?: undefined;
182
+ readonly chainId?: number;
183
+ readonly accessList?: AccessList;
184
+ readonly gasParameters: IntendedGasParameters;
185
+ });
143
186
  /**
144
187
  * A tracked transaction - discriminated by 'known' field.
145
188
  * - known=true: Values are confirmed from chain fetch
@@ -370,4 +413,5 @@ export interface TrackedWalletClientAutoPopulate<TMetadata, TTransport extends T
370
413
  */
371
414
  off<TEvent extends keyof TrackedWalletClientEvents<TMetadata>>(event: TEvent, listener: (data: TrackedWalletClientEvents<TMetadata>[TEvent]) => void): void;
372
415
  }
416
+ export {};
373
417
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,GAAG,EACH,OAAO,EACP,OAAO,EACP,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,MAAM,MAAM,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;CACZ,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gCAAgC,CAChD,SAAS,SAAS,OAAO,GAAG,KAAK;IAEjC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,SAAS,IAAI,SAAS,SAAS,SAAS,GAC/D;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAC,GACtB;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;CACtC,EAAE,CAAC;AAEJ;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,KAAK,mBAAmB,CAAC,SAAS,IAAI;IACrC,QAAQ,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uBAAuB,CAAC,SAAS,IAC5C,mBAAmB,CAAC,SAAS,CAAC,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;CACrB,GAAG,CACA;IACA,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;KACtC,CAAC;CACD,GACD;IACA,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,CAAC;CACD,GACD;IACA,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,CAAC;CACD,CACH,CAAC;AAEJ;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,yBAAyB,CAAC,SAAS,IAC9C,mBAAmB,CAAC,SAAS,CAAC,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB,GAAG,CACA;IAEA,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KACvC,CAAC;CACD,GACD;IAEA,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACD,GACD;IAEA,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACD,GACD;IAEA,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;CAC7C,CACH,CAAC;AAEJ;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,SAAS,IACrC,uBAAuB,CAAC,SAAS,CAAC,GAClC,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,8BAA8B,CACzC,SAAS,EACT,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,GACzE,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EACrD,KAAK,SAAS,oBAAoB,CACjC,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,GAAG,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,EACvE,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACzD,IAAI,CACP,uBAAuB,CACtB,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,CACd,EACD,OAAO,CACP,GAAG;IACH;;;;;OAKG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACzC,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC;CACb,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,iCAAiC,CAAC,SAAS,IAAI,IAAI,CAC9D,SAAS,EACT,mBAAmB,CACnB,GACA,2BAA2B,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,MAAM,sCAAsC,CAAC,SAAS,IAE3D,MAAM,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,SAAS,KAAK,GAEtD;IAAC,QAAQ,CAAC,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAA;CAAC,GAEzD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,SAAS,IAAI,CACxD,SAAS,EACT,mBAAmB,CAClB,GAEF;IAAC,QAAQ,CAAC,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAA;CAAC,GAEzD;IAAC,QAAQ,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAA;CAAC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,MAAM,0CAA0C,CACrD,SAAS,EACT,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,GACzE,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EACrD,KAAK,SAAS,oBAAoB,CACjC,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,GAAG,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,EACvE,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACzD,IAAI,CACP,uBAAuB,CACtB,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,CACd,EACD,OAAO,CACP,GAAG;IACH;;;;;OAKG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB,GAAG,sCAAsC,CAAC,SAAS,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,gCAAgC,CAC3C,SAAS,EACT,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACzD,IAAI,CACP,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,EAC3D,OAAO,CACP,GAAG;IACH;;;;;OAKG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,+BAA+B,CAAC,SAAS,IAAI;IACxD;;OAEG;IACH,qBAAqB,EAAE,qBAAqB,CAAC;CAC7C,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CACnC,SAAS,EACT,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;IAE1D;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElE;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAMpC;;;OAGG;IACH,aAAa,CACZ,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAC1E,KAAK,SAAS,oBAAoB,CACjC,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,EACD,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,IAAI,EAAE,8BAA8B,CACnC,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EACnE,IAAI,EAAE,gCAAgC,CACrC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,kBAAkB,CACjB,IAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IAMjB;;;OAGG;IACH,iBAAiB,CAChB,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAC1E,KAAK,SAAS,oBAAoB,CACjC,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,EACD,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,IAAI,EAAE,8BAA8B,CACnC,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;OAGG;IACH,mBAAmB,CAAC,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EACvE,IAAI,EAAE,gCAAgC,CACrC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;OAGG;IACH,sBAAsB,CACrB,IAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAM/B;;;;;OAKG;IACH,EAAE,CAAC,MAAM,SAAS,MAAM,yBAAyB,CAAC,SAAS,CAAC,EAC3D,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GACpE,MAAM,IAAI,CAAC;IAEd;;;;OAIG;IACH,GAAG,CAAC,MAAM,SAAS,MAAM,yBAAyB,CAAC,SAAS,CAAC,EAC5D,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GACpE,IAAI,CAAC;CACR;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,SAAS,IAAI;IAClD;;OAEG;IACH,yBAAyB,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACzD;;;OAGG;IACH,qBAAqB,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,+BAA+B,CAC/C,SAAS,EACT,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;IAE1D;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElE;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAMpC;;;;OAIG;IACH,aAAa,CACZ,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAC1E,KAAK,SAAS,oBAAoB,CACjC,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,EACD,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,IAAI,EAAE,0CAA0C,CAC/C,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EACnE,IAAI,EAAE,gCAAgC,CACrC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,kBAAkB,CACjB,IAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IAMjB;;;;OAIG;IACH,iBAAiB,CAChB,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAC1E,KAAK,SAAS,oBAAoB,CACjC,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,EACD,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,IAAI,EAAE,0CAA0C,CAC/C,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;OAGG;IACH,mBAAmB,CAAC,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EACvE,IAAI,EAAE,gCAAgC,CACrC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,cAAc,CACd,GACC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;OAGG;IACH,sBAAsB,CACrB,IAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAM/B;;;;;OAKG;IACH,EAAE,CAAC,MAAM,SAAS,MAAM,yBAAyB,CAAC,SAAS,CAAC,EAC3D,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GACpE,MAAM,IAAI,CAAC;IAEd;;;;OAIG;IACH,GAAG,CAAC,MAAM,SAAS,MAAM,yBAAyB,CAAC,SAAS,CAAC,EAC5D,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GACpE,IAAI,CAAC;CACR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherkit/viem-tx-tracker",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Ronan Sandford",
@@ -1,4 +1,5 @@
1
1
  import {
2
+ encodeFunctionData,
2
3
  parseTransaction,
3
4
  ParseTransactionReturnType,
4
5
  recoverTransactionAddress,
@@ -21,6 +22,7 @@ import type {
21
22
  AccessList,
22
23
  BlockTag,
23
24
  CreateTrackedWalletClientOptions,
25
+ IntendedGasParameters,
24
26
  KnownTrackedTransaction,
25
27
  NonceOption,
26
28
  PopulatedMetadata,
@@ -77,14 +79,12 @@ interface TransactionContext {
77
79
  * These are the intended values - wallet may modify them.
78
80
  */
79
81
  interface IntendedTransactionParams {
80
- to?: Address | null;
81
- value?: bigint;
82
- data?: `0x${string}`;
83
- gas?: bigint;
84
- gasPrice?: bigint;
85
- maxFeePerGas?: bigint;
86
- maxPriorityFeePerGas?: bigint;
82
+ to: Address | null;
83
+ value: bigint;
84
+ data: `0x${string}`;
85
+ txType?: 'eip1559' | 'legacy' | 'eip2930';
87
86
  accessList?: AccessList;
87
+ gasParameters: IntendedGasParameters;
88
88
  }
89
89
 
90
90
  /**
@@ -94,13 +94,16 @@ interface IntendedTransactionParams {
94
94
  function inferTxType(
95
95
  params: IntendedTransactionParams,
96
96
  ): 'eip1559' | 'legacy' | 'eip2930' | undefined {
97
- if (params.maxFeePerGas !== undefined) {
97
+ if (params.gasParameters.maxFeePerGas !== undefined) {
98
98
  return 'eip1559';
99
99
  }
100
- if (params.gasPrice !== undefined && params.accessList !== undefined) {
100
+ if (
101
+ params.gasParameters.gasPrice !== undefined &&
102
+ params.accessList !== undefined
103
+ ) {
101
104
  return 'eip2930';
102
105
  }
103
- if (params.gasPrice !== undefined) {
106
+ if (params.gasParameters.gasPrice !== undefined) {
104
107
  return 'legacy';
105
108
  }
106
109
  return undefined; // Wallet will determine
@@ -113,65 +116,131 @@ function inferTxType(
113
116
  function createUnknownTrackedTransaction<TMetadata>(
114
117
  hash: Hash,
115
118
  from: Address,
116
- nonce: number | undefined,
119
+ nonce: number,
117
120
  chainId: number | undefined,
118
121
  metadata: TMetadata,
119
122
  broadcastTimestampMs: number,
120
123
  params: IntendedTransactionParams,
121
124
  ): UnknownTrackedTransaction<TMetadata> {
122
- const txType = inferTxType(params);
123
- return {
124
- known: false,
125
+ const base = {
126
+ known: false as const,
125
127
  chainId,
126
128
  hash,
127
129
  from,
128
130
  nonce,
129
131
  broadcastTimestampMs,
130
132
  metadata,
131
- ...(txType !== undefined && {txType}),
132
- ...(params.to !== undefined && {to: params.to}),
133
- ...(params.value !== undefined && {value: params.value}),
134
- ...(params.data !== undefined && {data: params.data}),
135
- ...(params.gas !== undefined && {gas: params.gas}),
136
- ...(params.gasPrice !== undefined && {gasPrice: params.gasPrice}),
137
- ...(params.maxFeePerGas !== undefined && {
138
- maxFeePerGas: params.maxFeePerGas,
139
- }),
140
- ...(params.maxPriorityFeePerGas !== undefined && {
141
- maxPriorityFeePerGas: params.maxPriorityFeePerGas,
142
- }),
143
- ...(params.accessList !== undefined && {accessList: params.accessList}),
133
+ to: params.to,
134
+ value: params.value,
135
+ data: params.data,
144
136
  };
137
+
138
+ // Use provided txType or infer from params
139
+ const txType = params.txType ?? inferTxType(params);
140
+
141
+ // Discriminate by txType
142
+ if (txType === 'eip1559') {
143
+ return {
144
+ ...base,
145
+ txType: 'eip1559',
146
+ accessList: params.accessList,
147
+ gasParameters: {
148
+ gas: params.gasParameters.gas,
149
+ maxFeePerGas: params.gasParameters.maxFeePerGas,
150
+ maxPriorityFeePerGas: params.gasParameters.maxPriorityFeePerGas,
151
+ },
152
+ };
153
+ } else if (txType === 'legacy') {
154
+ return {
155
+ ...base,
156
+ txType: 'legacy',
157
+ gasParameters: {
158
+ gas: params.gasParameters.gas,
159
+ gasPrice: params.gasParameters.gasPrice,
160
+ },
161
+ };
162
+ } else if (txType === 'eip2930') {
163
+ return {
164
+ ...base,
165
+ txType: 'eip2930',
166
+ accessList: params.accessList,
167
+ gasParameters: {
168
+ gas: params.gasParameters.gas,
169
+ gasPrice: params.gasParameters.gasPrice,
170
+ },
171
+ };
172
+ } else {
173
+ // txType unknown
174
+ return {
175
+ ...base,
176
+ accessList: params.accessList,
177
+ gasParameters: params.gasParameters,
178
+ };
179
+ }
145
180
  }
146
181
 
147
182
  /**
148
183
  * Extract transaction type-specific fields from a fetched transaction.
184
+ * Returns the txType, accessList (if applicable), and gasParameters object.
149
185
  */
150
- function extractTransactionTypeFields(tx: Transaction): {
151
- txType: 'eip1559' | 'legacy' | 'eip2930';
152
- gasPrice?: bigint;
153
- maxFeePerGas?: bigint;
154
- maxPriorityFeePerGas?: bigint;
155
- accessList?: AccessList;
156
- } {
186
+ function extractTransactionTypeFields(tx: Transaction):
187
+ | {
188
+ txType: 'eip1559';
189
+ chainId: number;
190
+ accessList?: AccessList;
191
+ gasParameters: {
192
+ gas: bigint;
193
+ maxFeePerGas: bigint;
194
+ maxPriorityFeePerGas: bigint;
195
+ };
196
+ }
197
+ | {
198
+ txType: 'legacy';
199
+ chainId?: number;
200
+ gasParameters: {
201
+ gas: bigint;
202
+ gasPrice: bigint;
203
+ };
204
+ }
205
+ | {
206
+ txType: 'eip2930';
207
+ chainId: number;
208
+ accessList: AccessList;
209
+ gasParameters: {
210
+ gas: bigint;
211
+ gasPrice: bigint;
212
+ };
213
+ } {
157
214
  if (tx.type === 'eip1559') {
158
215
  return {
159
216
  txType: 'eip1559',
160
- maxFeePerGas: tx.maxFeePerGas!,
161
- maxPriorityFeePerGas: tx.maxPriorityFeePerGas!,
217
+ chainId: tx.chainId!,
162
218
  ...(tx.accessList && {accessList: tx.accessList as AccessList}),
219
+ gasParameters: {
220
+ gas: tx.gas,
221
+ maxFeePerGas: tx.maxFeePerGas!,
222
+ maxPriorityFeePerGas: tx.maxPriorityFeePerGas!,
223
+ },
163
224
  };
164
225
  } else if (tx.type === 'eip2930') {
165
226
  return {
166
227
  txType: 'eip2930',
167
- gasPrice: tx.gasPrice!,
228
+ chainId: tx.chainId!,
168
229
  accessList: (tx.accessList ?? []) as AccessList,
230
+ gasParameters: {
231
+ gas: tx.gas,
232
+ gasPrice: tx.gasPrice!,
233
+ },
169
234
  };
170
235
  } else {
171
236
  // Legacy or unknown - treat as legacy
172
237
  return {
173
238
  txType: 'legacy',
174
- gasPrice: tx.gasPrice!,
239
+ chainId: tx.chainId,
240
+ gasParameters: {
241
+ gas: tx.gas,
242
+ gasPrice: tx.gasPrice!,
243
+ },
175
244
  };
176
245
  }
177
246
  }
@@ -184,20 +253,22 @@ function createKnownTrackedTransaction<TMetadata>(
184
253
  metadata: TMetadata,
185
254
  broadcastTimestampMs: number,
186
255
  ): KnownTrackedTransaction<TMetadata> {
187
- const typeFields = extractTransactionTypeFields(tx);
188
-
189
- return {
190
- known: true,
191
- chainId: tx.chainId!,
256
+ const base = {
257
+ known: true as const,
192
258
  hash: tx.hash,
193
259
  from: tx.from,
194
260
  to: tx.to,
195
261
  nonce: tx.nonce,
196
262
  value: tx.value,
197
263
  data: tx.input,
198
- gas: tx.gas,
199
264
  broadcastTimestampMs,
200
265
  metadata,
266
+ };
267
+
268
+ const typeFields = extractTransactionTypeFields(tx);
269
+
270
+ return {
271
+ ...base,
201
272
  ...typeFields,
202
273
  } as KnownTrackedTransaction<TMetadata>;
203
274
  }
@@ -213,52 +284,56 @@ function createKnownTrackedTransactionFromRaw<TMetadata>(
213
284
  chainId: number | undefined,
214
285
  broadcastTimestampMs: number,
215
286
  ): KnownTrackedTransaction<TMetadata> {
216
- // Determine transaction type from parsed tx
217
- let typeFields: {
218
- txType: 'eip1559' | 'legacy' | 'eip2930';
219
- gasPrice?: bigint;
220
- maxFeePerGas?: bigint;
221
- maxPriorityFeePerGas?: bigint;
222
- accessList?: AccessList;
287
+ const base = {
288
+ known: true as const,
289
+ hash,
290
+ from,
291
+ to: parsedTx.to ?? null,
292
+ nonce: parsedTx.nonce!,
293
+ value: parsedTx.value ?? 0n,
294
+ data: parsedTx.data ?? '0x',
295
+ broadcastTimestampMs,
296
+ metadata,
223
297
  };
224
298
 
299
+ // Determine transaction type from parsed tx
225
300
  if ('maxFeePerGas' in parsedTx && parsedTx.maxFeePerGas !== undefined) {
226
- typeFields = {
301
+ return {
302
+ ...base,
227
303
  txType: 'eip1559',
228
- maxFeePerGas: parsedTx.maxFeePerGas,
229
- maxPriorityFeePerGas: parsedTx.maxPriorityFeePerGas!,
304
+ chainId: parsedTx.chainId ?? chainId!,
230
305
  ...('accessList' in parsedTx &&
231
306
  parsedTx.accessList && {
232
307
  accessList: parsedTx.accessList as AccessList,
233
308
  }),
309
+ gasParameters: {
310
+ gas: parsedTx.gas!,
311
+ maxFeePerGas: parsedTx.maxFeePerGas,
312
+ maxPriorityFeePerGas: parsedTx.maxPriorityFeePerGas!,
313
+ },
234
314
  };
235
315
  } else if ('accessList' in parsedTx && parsedTx.accessList) {
236
- typeFields = {
316
+ return {
317
+ ...base,
237
318
  txType: 'eip2930',
238
- gasPrice: parsedTx.gasPrice!,
319
+ chainId: parsedTx.chainId ?? chainId!,
239
320
  accessList: parsedTx.accessList as AccessList,
321
+ gasParameters: {
322
+ gas: parsedTx.gas!,
323
+ gasPrice: parsedTx.gasPrice!,
324
+ },
240
325
  };
241
326
  } else {
242
- typeFields = {
327
+ return {
328
+ ...base,
243
329
  txType: 'legacy',
244
- gasPrice: parsedTx.gasPrice!,
330
+ chainId: parsedTx.chainId ?? chainId,
331
+ gasParameters: {
332
+ gas: parsedTx.gas!,
333
+ gasPrice: parsedTx.gasPrice!,
334
+ },
245
335
  };
246
336
  }
247
-
248
- return {
249
- known: true,
250
- chainId: parsedTx.chainId ?? chainId!,
251
- hash,
252
- from,
253
- to: parsedTx.to ?? null,
254
- nonce: parsedTx.nonce!,
255
- value: parsedTx.value ?? 0n,
256
- data: parsedTx.data ?? '0x',
257
- gas: parsedTx.gas!,
258
- broadcastTimestampMs,
259
- metadata,
260
- ...typeFields,
261
- } as KnownTrackedTransaction<TMetadata>;
262
337
  }
263
338
 
264
339
  /**
@@ -275,23 +350,25 @@ function extractIntendedParamsFromSendTransaction(args: {
275
350
  maxPriorityFeePerGas?: bigint;
276
351
  accessList?: AccessList;
277
352
  }): IntendedTransactionParams {
278
- // Normalize 'to' to either a hex address, null, or undefined
353
+ // Normalize 'to' to either a hex address or null
279
354
  const to =
280
355
  args.to === null || args.to === undefined
281
- ? (args.to as null | undefined)
356
+ ? null
282
357
  : typeof args.to === 'string'
283
358
  ? (args.to as Address)
284
- : undefined;
359
+ : null;
285
360
 
286
361
  return {
287
362
  to,
288
363
  value: args.value ?? 0n,
289
- data: args.data,
290
- gas: args.gas,
291
- gasPrice: args.gasPrice,
292
- maxFeePerGas: args.maxFeePerGas,
293
- maxPriorityFeePerGas: args.maxPriorityFeePerGas,
364
+ data: args.data ?? '0x',
294
365
  accessList: args.accessList,
366
+ gasParameters: {
367
+ gas: args.gas,
368
+ gasPrice: args.gasPrice,
369
+ maxFeePerGas: args.maxFeePerGas,
370
+ maxPriorityFeePerGas: args.maxPriorityFeePerGas,
371
+ },
295
372
  };
296
373
  }
297
374
 
@@ -299,6 +376,9 @@ function extractIntendedParamsFromSendTransaction(args: {
299
376
  * Extract intended params from writeContract args.
300
377
  */
301
378
  function extractIntendedParamsFromWriteContract(args: {
379
+ abi: Abi | readonly unknown[];
380
+ functionName: string;
381
+ args?: unknown;
302
382
  address: Address;
303
383
  value?: bigint;
304
384
  gas?: bigint;
@@ -310,12 +390,18 @@ function extractIntendedParamsFromWriteContract(args: {
310
390
  return {
311
391
  to: args.address,
312
392
  value: args.value ?? 0n,
313
- // Note: data could be encoded using encodeFunctionData(args) if desired
314
- gas: args.gas,
315
- gasPrice: args.gasPrice,
316
- maxFeePerGas: args.maxFeePerGas,
317
- maxPriorityFeePerGas: args.maxPriorityFeePerGas,
393
+ data: encodeFunctionData({
394
+ abi: args.abi as Abi,
395
+ functionName: args.functionName,
396
+ args: args.args as readonly unknown[] | undefined,
397
+ }),
318
398
  accessList: args.accessList,
399
+ gasParameters: {
400
+ gas: args.gas,
401
+ gasPrice: args.gasPrice,
402
+ maxFeePerGas: args.maxFeePerGas,
403
+ maxPriorityFeePerGas: args.maxPriorityFeePerGas,
404
+ },
319
405
  };
320
406
  }
321
407
 
package/src/types.ts CHANGED
@@ -98,14 +98,30 @@ export type AccessList = readonly {
98
98
  }[];
99
99
 
100
100
  /**
101
- * Base transaction fields present in all tracked transactions.
101
+ * Gas parameters for UnknownTrackedTransaction.
102
+ * All fields are optional - we provide what we have,
103
+ * but the wallet may modify or fill in missing values.
102
104
  */
103
- export type BaseTrackedTransaction<TMetadata> = {
104
- readonly chainId?: number;
105
+ export type IntendedGasParameters = {
106
+ readonly gas?: bigint;
107
+ readonly gasPrice?: bigint;
108
+ readonly maxFeePerGas?: bigint;
109
+ readonly maxPriorityFeePerGas?: bigint;
110
+ };
111
+
112
+ /**
113
+ * Common fields for all tracked transactions.
114
+ * All field paths are stable - you can always access tx.field
115
+ */
116
+ type CommonTrackedFields<TMetadata> = {
105
117
  readonly hash: `0x${string}`;
106
118
  readonly from: `0x${string}`;
107
119
  readonly broadcastTimestampMs: number;
108
120
  readonly metadata: TMetadata;
121
+ readonly to: `0x${string}` | null;
122
+ readonly value: bigint;
123
+ readonly data: `0x${string}`;
124
+ readonly nonce: number;
109
125
  };
110
126
 
111
127
  /**
@@ -114,33 +130,42 @@ export type BaseTrackedTransaction<TMetadata> = {
114
130
  * or immediately for sendRawTransaction where we can parse the tx.
115
131
  *
116
132
  * When known=true, all values are the actual confirmed values used by the chain.
133
+ * Uses discriminated union by txType to enforce correct field combinations.
134
+ * - txType at top level (stable path)
135
+ * - accessList at top level, presence depends on txType
136
+ * - gasParameters at top level with txType-specific fields
117
137
  */
118
138
  export type KnownTrackedTransaction<TMetadata> =
119
- BaseTrackedTransaction<TMetadata> & {
139
+ CommonTrackedFields<TMetadata> & {
120
140
  readonly known: true;
121
- readonly to: `0x${string}` | null;
122
- readonly nonce: number;
123
- readonly value: bigint;
124
- readonly data: `0x${string}`;
125
- readonly gas: bigint;
126
141
  } & (
127
142
  | {
128
143
  readonly txType: 'eip1559';
129
- readonly chainId: number; // Required for EIP-1559
130
- readonly maxFeePerGas: bigint;
131
- readonly maxPriorityFeePerGas: bigint;
132
- readonly accessList?: AccessList; // EIP-1559 can also have access lists
144
+ readonly chainId: number;
145
+ readonly accessList?: AccessList;
146
+ readonly gasParameters: {
147
+ readonly gas: bigint;
148
+ readonly maxFeePerGas: bigint;
149
+ readonly maxPriorityFeePerGas: bigint;
150
+ };
133
151
  }
134
152
  | {
135
153
  readonly txType: 'legacy';
136
- readonly chainId?: number; // Optional for legacy (pre-EIP-155 txs don't have it)
137
- readonly gasPrice: bigint;
154
+ readonly chainId?: number;
155
+ // accessList not available for legacy
156
+ readonly gasParameters: {
157
+ readonly gas: bigint;
158
+ readonly gasPrice: bigint;
159
+ };
138
160
  }
139
161
  | {
140
162
  readonly txType: 'eip2930';
141
- readonly chainId: number; // Required for EIP-2930
142
- readonly gasPrice: bigint;
143
- readonly accessList: AccessList; // Required for EIP-2930
163
+ readonly chainId: number;
164
+ readonly accessList: AccessList;
165
+ readonly gasParameters: {
166
+ readonly gas: bigint;
167
+ readonly gasPrice: bigint;
168
+ };
144
169
  }
145
170
  );
146
171
 
@@ -150,7 +175,8 @@ export type KnownTrackedTransaction<TMetadata> =
150
175
  *
151
176
  * When known=false, values are what we intended/provided, but the wallet
152
177
  * may have modified them (e.g., gas estimation, nonce override).
153
- * All optional fields are populated if we have the data.
178
+ * Also discriminated by txType when known.
179
+ * gasParameters may differ from what wallet actually uses.
154
180
  *
155
181
  * txType is inferred from provided params:
156
182
  * - maxFeePerGas provided → 'eip1559'
@@ -159,19 +185,48 @@ export type KnownTrackedTransaction<TMetadata> =
159
185
  * - undefined → wallet will determine type
160
186
  */
161
187
  export type UnknownTrackedTransaction<TMetadata> =
162
- BaseTrackedTransaction<TMetadata> & {
188
+ CommonTrackedFields<TMetadata> & {
163
189
  readonly known: false;
164
- readonly txType?: 'eip1559' | 'legacy' | 'eip2930'; // Inferred from params if possible
165
- readonly to?: `0x${string}` | null;
166
- readonly nonce?: number;
167
- readonly value?: bigint;
168
- readonly data?: `0x${string}`;
169
- readonly gas?: bigint;
170
- readonly gasPrice?: bigint;
171
- readonly maxFeePerGas?: bigint;
172
- readonly maxPriorityFeePerGas?: bigint;
173
- readonly accessList?: AccessList;
174
- };
190
+ } & (
191
+ | {
192
+ // txType inferred as eip1559
193
+ readonly txType: 'eip1559';
194
+ readonly chainId?: number;
195
+ readonly accessList?: AccessList;
196
+ readonly gasParameters: {
197
+ readonly gas?: bigint;
198
+ readonly maxFeePerGas?: bigint;
199
+ readonly maxPriorityFeePerGas?: bigint;
200
+ };
201
+ }
202
+ | {
203
+ // txType inferred as legacy
204
+ readonly txType: 'legacy';
205
+ readonly chainId?: number;
206
+ // no accessList for legacy
207
+ readonly gasParameters: {
208
+ readonly gas?: bigint;
209
+ readonly gasPrice?: bigint;
210
+ };
211
+ }
212
+ | {
213
+ // txType inferred as eip2930
214
+ readonly txType: 'eip2930';
215
+ readonly chainId?: number;
216
+ readonly accessList?: AccessList;
217
+ readonly gasParameters: {
218
+ readonly gas?: bigint;
219
+ readonly gasPrice?: bigint;
220
+ };
221
+ }
222
+ | {
223
+ // txType unknown - wallet will decide
224
+ readonly txType?: undefined;
225
+ readonly chainId?: number;
226
+ readonly accessList?: AccessList;
227
+ readonly gasParameters: IntendedGasParameters;
228
+ }
229
+ );
175
230
 
176
231
  /**
177
232
  * A tracked transaction - discriminated by 'known' field.