@biconomy-devx/modules
Version:
This package provides different validation modules/plugins for ERC4337 compatible modular account
2 lines (1 loc) • 965 B
JavaScript
;import{encodeAbiParameters as n,keccak256 as e,parseAbiParameters as a}from"viem";function c(t,i=!0){if(!t.initCode||!t.callData||!t.paymasterAndData)throw new Error("Missing userOp properties");return i?n(a("address, uint256, bytes32, bytes32, uint256, uint256, uint256, uint256, uint256, bytes32"),[t.sender,BigInt(t.nonce),e(t.initCode),e(t.callData),BigInt(t.callGasLimit),BigInt(t.verificationGasLimit),BigInt(t.preVerificationGas),BigInt(t.maxFeePerGas),BigInt(t.maxPriorityFeePerGas),e(t.paymasterAndData)]):n(a("address, uint256, bytes, bytes, uint256, uint256, uint256, uint256, uint256, bytes, bytes"),[t.sender,BigInt(t.nonce),t.initCode,t.callData,BigInt(t.callGasLimit),BigInt(t.verificationGasLimit),BigInt(t.preVerificationGas),BigInt(t.maxFeePerGas),BigInt(t.maxPriorityFeePerGas),t.paymasterAndData,t.signature])}export const getUserOpHash=(t,i,r)=>{const s=e(c(t,!0)),u=n(a("bytes32, address, uint256"),[s,i,BigInt(r)]);return e(u)};