Skip to content

Commit

Permalink
chore: up snapshots
Browse files Browse the repository at this point in the history
  • Loading branch information
jxom committed Nov 19, 2024
1 parent 924c054 commit f136101
Show file tree
Hide file tree
Showing 6 changed files with 412 additions and 398 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -680,17 +680,19 @@ describe('smoke', async () => {
],
})

expect(gas).toMatchInlineSnapshot(`
{
"callGasLimit": 80000n,
"preVerificationGas": 67086n,
"verificationGasLimit": 369595n,
}
`)
expect(gas.callGasLimit).toBeGreaterThanOrEqual(70000n)
expect(gas.preVerificationGas).toBeGreaterThanOrEqual(67000n)
expect(gas.verificationGasLimit).toBeGreaterThanOrEqual(369000n)
})

test('prepareUserOperation', async () => {
const userOperation = await prepareUserOperation(bundlerClient, {
const {
account: _,
callGasLimit,
preVerificationGas,
verificationGasLimit,
...userOperation
} = await prepareUserOperation(bundlerClient, {
account,
calls: [
{
Expand All @@ -701,22 +703,21 @@ describe('smoke', async () => {
maxPriorityFeePerGas: 2000000000n,
})

expect({ ...userOperation, account: null }).toMatchInlineSnapshot(`
expect(callGasLimit).toBeGreaterThanOrEqual(70000n)
expect(preVerificationGas).toBeGreaterThanOrEqual(67000n)
expect(verificationGasLimit).toBeGreaterThanOrEqual(369000n)
expect(userOperation).toMatchInlineSnapshot(`
{
"account": null,
"callData": "0xb61d27f60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
"callGasLimit": 80000n,
"initCode": "0x0ba5ed0c6aa8c49038f819e587e2633c4a9f428a3ffba36f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"maxFeePerGas": 22785120848n,
"maxPriorityFeePerGas": 2000000000n,
"nonce": 30902162761039795222892423151616n,
"paymasterAndData": "0x",
"paymasterPostOpGasLimit": undefined,
"paymasterVerificationGasLimit": undefined,
"preVerificationGas": 67086n,
"sender": "0xBb0c1d5E7f530e8e648150fc7Cf30912575523E8",
"signature": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c00000000000000000000000000000000000000000000000000000000000000",
"verificationGasLimit": 369595n,
}
`)
})
Expand Down
214 changes: 94 additions & 120 deletions src/account-abstraction/actions/bundler/estimateUserOperationGas.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,31 +39,26 @@ describe('entryPointVersion: 0.7', async () => {
const [account, account_2, account_3] = await getSmartAccounts_07()

test('default', async () => {
expect(
await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
{
to: wagmiContractConfig.address,
abi: wagmiContractConfig.abi,
functionName: 'mint',
},
],
...fees,
}),
).toMatchInlineSnapshot(`
{
"callGasLimit": 141653n,
"paymasterPostOpGasLimit": 0n,
"paymasterVerificationGasLimit": 0n,
"preVerificationGas": 53438n,
"verificationGasLimit": 259350n,
}
`)
const gas = await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
{
to: wagmiContractConfig.address,
abi: wagmiContractConfig.abi,
functionName: 'mint',
},
],
...fees,
})
expect(gas.callGasLimit).toBeGreaterThanOrEqual(141600n)
expect(gas.verificationGasLimit).toBeGreaterThanOrEqual(237000n)
expect(gas.preVerificationGas).toBeGreaterThanOrEqual(53400n)
expect(gas.paymasterVerificationGasLimit).toBe(0n)
expect(gas.paymasterPostOpGasLimit).toBe(0n)
})

test('args: paymaster (client)', async () => {
Expand All @@ -74,32 +69,28 @@ describe('entryPointVersion: 0.7', async () => {
transport: http(server.url),
})

expect(
await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
{
to: wagmiContractConfig.address,
abi: wagmiContractConfig.abi,
functionName: 'mint',
},
],
paymaster: paymasterClient,
...fees,
}),
).toMatchInlineSnapshot(`
{
"callGasLimit": 141653n,
"paymasterPostOpGasLimit": 1n,
"paymasterVerificationGasLimit": 20150n,
"preVerificationGas": 59826n,
"verificationGasLimit": 237672n,
}
`)
const gas = await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
{
to: wagmiContractConfig.address,
abi: wagmiContractConfig.abi,
functionName: 'mint',
},
],
paymaster: paymasterClient,
...fees,
})

expect(gas.callGasLimit).toBeGreaterThanOrEqual(141600n)
expect(gas.verificationGasLimit).toBeGreaterThanOrEqual(237000n)
expect(gas.preVerificationGas).toBeGreaterThanOrEqual(53400n)
expect(gas.paymasterVerificationGasLimit).toBeGreaterThanOrEqual(20000n)
expect(gas.paymasterPostOpGasLimit).toBe(1n)
})

test('behavior: client.paymaster (client)', async () => {
Expand All @@ -114,31 +105,27 @@ describe('entryPointVersion: 0.7', async () => {
paymaster: paymasterClient,
})

expect(
await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
{
to: wagmiContractConfig.address,
abi: wagmiContractConfig.abi,
functionName: 'mint',
},
],
...fees,
}),
).toMatchInlineSnapshot(`
{
"callGasLimit": 141653n,
"paymasterPostOpGasLimit": 1n,
"paymasterVerificationGasLimit": 20150n,
"preVerificationGas": 59826n,
"verificationGasLimit": 237672n,
}
`)
const gas = await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
{
to: wagmiContractConfig.address,
abi: wagmiContractConfig.abi,
functionName: 'mint',
},
],
...fees,
})

expect(gas.callGasLimit).toBeGreaterThanOrEqual(141600n)
expect(gas.verificationGasLimit).toBeGreaterThanOrEqual(237000n)
expect(gas.preVerificationGas).toBeGreaterThanOrEqual(53400n)
expect(gas.paymasterVerificationGasLimit).toBeGreaterThanOrEqual(20000n)
expect(gas.paymasterPostOpGasLimit).toBe(1n)
})

test('behavior: prepared user operation', async () => {
Expand All @@ -158,20 +145,16 @@ describe('entryPointVersion: 0.7', async () => {

expectTypeOf(request).toMatchTypeOf<UserOperation>()

expect(
await estimateUserOperationGas(bundlerClient, {
...request,
entryPointAddress: account.entryPoint?.address,
}),
).toMatchInlineSnapshot(`
{
"callGasLimit": 80000n,
"paymasterPostOpGasLimit": 0n,
"paymasterVerificationGasLimit": 0n,
"preVerificationGas": 51722n,
"verificationGasLimit": 259060n,
}
`)
const gas = await estimateUserOperationGas(bundlerClient, {
...request,
entryPointAddress: account.entryPoint?.address,
})

expect(gas.callGasLimit).toBeGreaterThanOrEqual(80000n)
expect(gas.verificationGasLimit).toBeGreaterThanOrEqual(237000n)
expect(gas.preVerificationGas).toBeGreaterThanOrEqual(51000n)
expect(gas.paymasterVerificationGasLimit).toBe(0n)
expect(gas.paymasterPostOpGasLimit).toBe(0n)
})

test('error: insufficient funds', async () => {
Expand Down Expand Up @@ -738,24 +721,20 @@ describe('entryPointVersion: 0.6', async () => {
const [account] = await getSmartAccounts_06()

test('default', async () => {
expect(
await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
],
...fees,
}),
).toMatchInlineSnapshot(`
{
"callGasLimit": 80000n,
"preVerificationGas": 55233n,
"verificationGasLimit": 258801n,
}
`)
const gas = await estimateUserOperationGas(bundlerClient, {
account,
calls: [
{
to: '0x0000000000000000000000000000000000000000',
value: parseEther('1'),
},
],
...fees,
})

expect(gas.callGasLimit).toBeGreaterThanOrEqual(80000n)
expect(gas.preVerificationGas).toBeGreaterThanOrEqual(55000n)
expect(gas.verificationGasLimit).toBeGreaterThanOrEqual(258000n)
})

test('behavior: prepared user operation', async () => {
Expand All @@ -775,18 +754,13 @@ describe('entryPointVersion: 0.6', async () => {

expectTypeOf(request).toMatchTypeOf<UserOperation>()

expect(
await estimateUserOperationGas(bundlerClient, {
...request,
entryPointAddress: account.entryPoint.address,
}),
).toMatchInlineSnapshot(`
{
"callGasLimit": 80000n,
"preVerificationGas": 55233n,
"verificationGasLimit": 258801n,
}
`)
const gas = await estimateUserOperationGas(bundlerClient, {
...request,
entryPointAddress: account.entryPoint.address,
})
expect(gas.callGasLimit).toBeGreaterThanOrEqual(80000n)
expect(gas.preVerificationGas).toBeGreaterThanOrEqual(55000n)
expect(gas.verificationGasLimit).toBeGreaterThanOrEqual(258000n)
})

test('error: aa13', async () => {
Expand Down
Loading

0 comments on commit f136101

Please sign in to comment.