Skip to content

Commit f2d07ee

Browse files
[SDK] fix: Handle serialized bigints for packing userops
1 parent 5371820 commit f2d07ee

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

.changeset/funny-facts-beam.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Handle serialized bigints for packing userops

packages/thirdweb/src/wallets/smart/lib/packUserOp.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ function getInitCode(unpackedUserOperation: UserOperationV07) {
1212

1313
function getAccountGasLimits(unpackedUserOperation: UserOperationV07) {
1414
return concat([
15-
pad(toHex(unpackedUserOperation.verificationGasLimit), {
15+
pad(toHex(BigInt(unpackedUserOperation.verificationGasLimit)), {
1616
size: 16,
1717
}),
18-
pad(toHex(unpackedUserOperation.callGasLimit), { size: 16 }),
18+
pad(toHex(BigInt(unpackedUserOperation.callGasLimit)), { size: 16 }),
1919
]) as Hex;
2020
}
2121

2222
function getGasLimits(unpackedUserOperation: UserOperationV07) {
2323
return concat([
24-
pad(toHex(unpackedUserOperation.maxPriorityFeePerGas), {
24+
pad(toHex(BigInt(unpackedUserOperation.maxPriorityFeePerGas)), {
2525
size: 16,
2626
}),
27-
pad(toHex(unpackedUserOperation.maxFeePerGas), { size: 16 }),
27+
pad(toHex(BigInt(unpackedUserOperation.maxFeePerGas)), { size: 16 }),
2828
]) as Hex;
2929
}
3030

@@ -34,13 +34,13 @@ function getPaymasterAndData(unpackedUserOperation: UserOperationV07) {
3434
unpackedUserOperation.paymaster as Hex,
3535
pad(
3636
toHex(
37-
unpackedUserOperation.paymasterVerificationGasLimit || BigInt(0),
37+
BigInt(unpackedUserOperation.paymasterVerificationGasLimit || 0),
3838
),
3939
{
4040
size: 16,
4141
},
4242
),
43-
pad(toHex(unpackedUserOperation.paymasterPostOpGasLimit || BigInt(0)), {
43+
pad(toHex(BigInt(unpackedUserOperation.paymasterPostOpGasLimit || 0)), {
4444
size: 16,
4545
}),
4646
unpackedUserOperation.paymasterData || ("0x" as Hex),
@@ -53,11 +53,11 @@ export const getPackedUserOperation = (
5353
): PackedUserOperation => {
5454
return {
5555
sender: userOperation.sender,
56-
nonce: userOperation.nonce,
56+
nonce: BigInt(userOperation.nonce),
5757
initCode: getInitCode(userOperation),
5858
callData: userOperation.callData,
5959
accountGasLimits: getAccountGasLimits(userOperation),
60-
preVerificationGas: userOperation.preVerificationGas,
60+
preVerificationGas: BigInt(userOperation.preVerificationGas),
6161
gasFees: getGasLimits(userOperation),
6262
paymasterAndData: getPaymasterAndData(userOperation),
6363
signature: userOperation.signature,

0 commit comments

Comments
 (0)