Skip to content

Commit 0401df5

Browse files
committed
chore: tweaks
1 parent 4965e1b commit 0401df5

File tree

2 files changed

+39
-31
lines changed

2 files changed

+39
-31
lines changed

src/tempo/chainConfig.ts

Lines changed: 39 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -31,41 +31,51 @@ export const chainConfig = {
3131
format: Formatters.formatTransactionRequest,
3232
}),
3333
},
34-
async prepareTransactionRequest(r) {
35-
const request = r as Transaction.TransactionRequest & {
36-
account?: Account | undefined
37-
chain?:
38-
| (Chain & { feeToken?: TokenId.TokenIdOrAddress | undefined })
39-
| undefined
40-
}
34+
prepareTransactionRequest: [
35+
async (r, { phase }) => {
36+
const request = r as Transaction.TransactionRequest & {
37+
account?: Account | undefined
38+
chain?:
39+
| (Chain & { feeToken?: TokenId.TokenIdOrAddress | undefined })
40+
| undefined
41+
}
42+
43+
if (phase === 'afterFillParameters') {
44+
// TODO: remove once `eth_fillTransaction` supports nonce keys.
45+
if (typeof request.nonceKey === 'bigint' && request.nonceKey > 0n)
46+
request.gas = (request.gas ?? 0n) + 30_000n
47+
return request as unknown as typeof r
48+
}
4149

42-
request.nonceKey = (() => {
43-
if (typeof request.nonceKey !== 'undefined') return request.nonceKey
50+
request.nonceKey = (() => {
51+
if (typeof request.nonceKey !== 'undefined') return request.nonceKey
4452

45-
const address = request.account?.address ?? request.from
46-
if (!address) return undefined
47-
if (!request.chain) return undefined
48-
const nonceKey = NonceKeyStore.getNonceKey(NonceKeyStore.store, {
49-
address,
50-
chainId: request.chain.id,
51-
})
53+
const address = request.account?.address ?? request.from
54+
if (!address) return undefined
55+
if (!request.chain) return undefined
56+
const nonceKey = NonceKeyStore.getNonceKey(NonceKeyStore.store, {
57+
address,
58+
chainId: request.chain.id,
59+
})
5260

53-
if (nonceKey === 0n) return undefined
54-
return nonceKey
55-
})()
61+
if (nonceKey === 0n) return undefined
62+
return nonceKey
63+
})()
5664

57-
request.nonce = (() => {
58-
if (typeof request.nonce === 'number') return request.nonce
59-
// TODO: remove this line once `eth_fillTransaction` supports nonce keys.
60-
if (request.nonceKey) return 0
61-
return undefined
62-
})()
65+
request.nonce = (() => {
66+
if (typeof request.nonce === 'number') return request.nonce
67+
// TODO: remove this line once `eth_fillTransaction` supports nonce keys.
68+
if (request.nonceKey) return 0
69+
return undefined
70+
})()
6371

64-
if (!request.feeToken && request.chain?.feeToken)
65-
request.feeToken = request.chain.feeToken
72+
if (!request.feeToken && request.chain?.feeToken)
73+
request.feeToken = request.chain.feeToken
6674

67-
return request as unknown as typeof r
68-
},
75+
return request as unknown as typeof r
76+
},
77+
{ runAt: ['beforeFillTransaction', 'afterFillParameters'] },
78+
],
6979
serializers: {
7080
// TODO: casting to satisfy viem – viem v3 to have more flexible serializer type.
7181
transaction: ((transaction, signature) =>

test/src/tempo/config.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,6 @@ export async function fundAddress(
273273
Actions.token.transferSync(client, {
274274
account,
275275
amount: parseUnits('10000', 6),
276-
// TODO: remove once `eth_fillTransaction` supports nonce keys.
277-
gas: 100_000n,
278276
to: address,
279277
token: feeToken,
280278
}),

0 commit comments

Comments
 (0)