Extensions
Extensions are external smart contracts that can be added to the Paymaster contract. These extensions are used to enforce specific conditions or rules that must be met for a transaction to be eligible
createExtension
async function createExtension(
name: string,
type: ExtensionMethod,
wallet: WalletClient,
client: unknown,
items?: ExtensionItems,
restrictionFactoryABI?: Abi,
restrictionFactoryContractAddress?: Address
): Promise<Address>Deploys a new extension contract based on the provided parameters.
name:string- The name of the extension contract to be created.type:ExtensionMethod- The type of extension contract to be created. It can be one of the following:CONTRACT,USER, orFUNCTIONwallet:WalletClient: AWalletClientinstance used for signing transactions and interacting with the Restriction Factory contract.client:PublicClient: APublicClientinstance used for writing public transactions.items:ExtensionItems(optional) - An object containing the items (e.g., contract addresses, user addresses, function signatures with contract addresses) related to the extension being created.restrictionFactoryABI:Abi(optional) - The ABI of the Restriction Factory contract. If not provided, it will be retrieved based on the chain ID.restrictionFactoryContractAddress:Address(optional) - The address of the Restriction Factory contract. If not provided, it will be retrieved based on the chain ID.Returns: Address: address of the deployed extension.
types
PaymasterParams
A tuple type representing the parameters for several methods of Paymaster instance, like sendPaymasterTransaction. Added for easier usage.
PaymasterType
ExtensionMethod
PaymasterOptions
PaymasterOverrides
BaseRestrictionItem
AddressOrBaseRestrictionItem
ContractItems
UserItems
FunctionItems
RestrictionItems
Last updated