You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
figure out how do we pack & unpack user operations (start with how do we pack a field like accountGasLimits) and implement that logic.
figure out how do we hash a user operation now the structure has changed. There's a Solidity reference implementation in the stub implementation.
write tests that check our packing & hashing logic using examples that we know are valid (figure out where to get them).
Why?
We need to start with this domain logic & entities because everything else depends on this.
EP V7 requires packed user operations and it's not backwards compatible with the old user operation entity.
How?
Overall:
Work on the branch related to the Draft PR. You may branch out and create PRs from your feature branch to the Draft PR branch, but let's not merge anything into master yet.
Consider consulting with the SDK team to see if they may already have an alpha version of the SDK so you can maybe take something from them.
🧪 How to test:
For testing the new getUserOpHash function you can generate a fixture file of N user operations and their (known) correct hashes by calling the getUserOpHash function on the EP contract. Then you can create hashes using your offchain logic and compare them to the expected results from the fixture file.
To test the packing / unpacking logic, maybe look into the implementations of our competitors for test cases you can replicate.
What?
There's a skeleton implementation in this file in our Draft PR.
You need to:
accountGasLimits
) and implement that logic.Why?
How?
Overall:
🧪 How to test:
getUserOpHash
function you can generate a fixture file ofN
user operations and their (known) correct hashes by calling thegetUserOpHash
function on the EP contract. Then you can create hashes using your offchain logic and compare them to the expected results from the fixture file.📚 Resources
The text was updated successfully, but these errors were encountered: