Test Results Dashboard
Dashboard
testAfterBalances
-
✅
-
-
✅
✅
testRefillFund
✅
✅
-
-
-
-
✅: Security measures for the feature have been completed as the tests have passed successfully.
❌: There is a potential risk as the security measures related to the test have not been implemented.
The rest are entities unrelated to the test.
✅
❌
✅
✅
testPriceMarkUpisValid
If the range of priceMarkUp is not restricted, issues may arise with the gas fees charged to users or businesses. Therefore, it’s better not to implement discount logic that applies a priceMarkUp lower than the token’s decimal places. While this issue is common across many paymasters.
Biconomy handles this aspect well.
testGetFundInValidation
If funds are not withdrawn during the verification stage, issues may arise because the verification process cannot proceed with the user’s funds deducted. Currently, Biconomy withdraws funds from the user in the postOp stage, which could lead to serious issues if the user makes a withdrawal or if their fund status changes during execution.
testRefillFund
After covering the gas fees for a specific user, a sufficient amount of funds (more than the gas fees used) must be recharged.
Biconomy adheres to this requirement well.
testValidatePaymasterUserOpRevert
Even if validatePaymasterUserOp reverts due to a reason like signature verification failure, the userOp itself should not be reverted; instead, it should return a result like sigFailed. If a revert occurs in this situation, it could potentially cause the entire bundle to revert.
Biconomy’s paymaster adheres to this requirement.
❌
✅
✅
testGetFundInValidation
VISA also collects gas fees from the user during the postOp stage. This approach could potentially lead to unexpected balance insufficiency issues in the postOp stage. The method should be adjusted to retrieve funds during the verification phase.
testAfterBalances
Even if a user provides certain gas options at a slightly higher rate, resulting in the paymaster covering more gas, the paymaster must accurately settle and refund any excess gas beyond what was actually used in the postOp stage. Testing has shown that VISA handles this aspect well.
testRefillFund
VISA covers certain users’ gas fees and then replenishes a sufficient amount of funds to ensure continuity of service.
✅
✅
testGetFundInValidation
PimlicoV07 retrieves the cost of gas fee coverage from the user during the verification phase.
testValdiatePaymasterUserOpRevert
PimlicoV07 does not return a revert on signature verification failure; instead, it returns data indicating that the signature verification has failed.
✅
testGetFundInValidation
PimlicoV06 retrieves funds during the verification stage, allowing it to accurately verify the correct amount.
❌
✅
✅
✅
testPriceMarkUpisValid
The paymasterAndData does not check the range of the exchangeRate (or PriceMarkUp). If a user pays for gas at an excessively low exchange rate, the paymaster may incur a loss due to the difference between the amount it collects and the gas fee paid by the EntryPoint (EP).
testGetFundInValidation
The cost is charged to and collected from the user during the verification phase.
testAfterBalances
After correctly settling the balance in the postOp phase, any remaining difference is returned to the user.
testValdiatePaymasterUserOpRevert
Even if the signature verification fails during the verification phase, it returns SIG_FAILED instead of reverting.
✅
✅
✅
✅
EtherSpot meets all the requirements in our proposed test cases.
Last updated