Title
Add paymaster integration for sponsored (gasless) transactions
Labels
enhancement, account-abstraction, paymaster, gasless
Description
Implement paymaster functionality to enable sponsored transactions where users don't pay gas fees directly, following the ERC-4337 paymaster specification.
Requirements
Paymaster Data Types
Paymaster Middleware
Common Paymaster Patterns
Integration
Paymaster Service Integration
File Structure
src/account_abstraction/
├── paymaster.zig # Paymaster types and logic
├── paymaster_middleware.zig # Middleware integration
└── paymaster_services/
├── pimlico.zig
├── biconomy.zig
└── custom.zig
Example Usage
// Using a paymaster service
const paymaster = try PimlicoPaymaster.init(allocator, api_key);
var userOp = try UserOperationBuilder.init(allocator)
.setSender(smart_account)
.setCallData(call_data)
.usePaymaster(&paymaster) // Gas will be sponsored!
.build();
const hash = try bundler.sendUserOperation(userOp);
// User pays 0 ETH for gas! 🎉
References
Title
Add paymaster integration for sponsored (gasless) transactions
Labels
enhancement,account-abstraction,paymaster,gaslessDescription
Implement paymaster functionality to enable sponsored transactions where users don't pay gas fees directly, following the ERC-4337 paymaster specification.
Requirements
Paymaster Data Types
PaymasterDatastruct:paymaster: Address- Paymaster contract addresspaymaster_verification_gas_limit: u256- Gas for paymaster validationpaymaster_post_op_gas_limit: u256- Gas for post-operation logicpaymaster_data: []u8- Custom data for paymasterPaymaster Middleware
PaymasterMiddleware:getPaymasterData(userOp: *UserOperation) PaymasterData- Get paymaster approvalsignPaymasterData(data: PaymasterData) []u8- Sign if neededverifyPaymasterData(data: PaymasterData) bool- Validate responseCommon Paymaster Patterns
Verifying Paymaster:
Token Paymaster:
Deposit Paymaster:
Integration
Integrate with UserOperation builder:
Add to providers:
withPaymaster(paymaster_url: []u8) ProviderPaymaster Service Integration
Support for popular paymaster services:
Custom paymaster API integration:
pm_sponsorUserOperationRPC methodFile Structure
Example Usage
References