Paymaster Utilities
Essential utilities for using paymasters on ZKsync Era
The paymaster utilities library contains essential utilities for using paymasters on ZKsync Era.
Contract interfaces
PaymasterFlowEncoder
Constant ABI definition for the Paymaster Flow Interface.
encoder = PaymasterFlowEncoder(zk_web3)
Functions
encodeApprovalBased
Returns encoded input for an approval-based paymaster.
Inputs
| Parameter | Type | Description |
|---|---|---|
address | HexStr | The token address of the paymaster. |
min_allowance | int | The minimal amount of token that can be used to pay fee. |
inner_input | bytes | The input data to the paymaster. |
paymaster_params = PaymasterParams(**{
"paymaster": paymaster_address,
"paymaster_input": zk_web3.to_bytes(
hexstr=PaymasterFlowEncoder(zk_web3).encode_approval_based(token_address, 1, b''))
})
encode_general
As above but for general-based paymaster.
Inputs
| Parameter | Type | Description |
|---|---|---|
inputs | bytes | The input data to the paymaster. |
paymaster_params = PaymasterParams(**{
"paymaster": paymaster_address,
"paymaster_input": zk_web3.to_bytes(
hexstr=PaymasterFlowEncoder(zk_web3).encode_general( b''))
})
Find out more about the PaymasterParams type.
Check out the example on how to use paymaster.