EPF update 2

Virtual Machine with native code emission

I am quite interested in Virtual Machine with native code emission (IL VM) proposed by Łukasz Rozmej. I used to work on some virtual machine before and like to explore this. I reached out to Lukasz in discord and he gave more details for me to explore. Nethermind already got a proof of concept pr for it.

But sadly, I never wrote C# before and I dived my into C# documents by microsoft. I need to understand a few basic feature of C# and then look at the pr.

EIP-4337 account abstraction

Besides, I am also interested in the AA-wallet ideas. I took a good look at the EIP-4337 and I found @Vid who is another EFE participant also interested in the idea and he starts the repo aa-bundler to write the bundler in rust. I am trying to reach out to him and cooperate with him.He is trying to document the general pichture of the codes first. I would try to catch up with him with more details.

Exploring eth-infinitism EIP-4337

Read EIP-4337 implementation in eth-infinitism/account-abstraction. I tried to run tht tests there and understand the details of the implementation but I don't know too much about hardhat. Need to get into the docs about the hardhat.

Met an error on running the tests.

$ npx hardhat test
No need to generate any newer typings.
An unexpected error occurred:

test/entrypoint.test.ts:763:19 - error TS2339: Property 'deadline' does not exist on type 'void | ([BigNumber, BigNumber, BigNumber, string, string, string, string] & { preOpGas: BigNumber; prefund: BigNumber; ... 4 more ...; offChainSigInfo: string; })'.

763           const { deadline } = await entryPointView.callStatic.simulateValidation(userOp, false).catch(rethrow())
 

It is some typescript error. But I didn't dig into that. I just comment that test out and continue.

Next step

  1. Run the tests in proof of concept pr in nethermind and try to figure out what should be done.
  2. Take a look at the codes in eth-infinitism/bundler.

Reading List This Week