Paymaster Utilities


Paymaster Utilities

The paymaster utilities libraryopen in new window contains essential utilities for using paymasters on zkSync Era.

Contract interfaces

PaymasterFlowEncoder

Constant ABI definition for the Paymaster Flow Interfaceopen in new window.

encoder = PaymasterFlowEncoder(zk_web3)

Functions

encodeApprovalBased

Returns encoded input for an approval-based paymaster.

Inputs

ParameterTypeDescription
addressHexStrThe token address of the paymaster.
min_allowanceintThe minimal amount of token that can be used to pay fee.
inner_inputbytesThe 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

ParameterTypeDescription
inputsbytesThe 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 exampleopen in new window how to use paymaster.