Skip to content

Commit 43beb35

Browse files
authored
Rename PaymasterNFT to PaymasterERC721Owner (#102)
1 parent b6af12a commit 43beb35

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## 03-04-2025
22

3-
- `PaymasterNFT`: Extension of `PaymasterCore` that approves sponsoring of user operation based on ownership of an ERC-721 NFT.
43
- `PaymasterERC20`: Extension of `PaymasterCore` that sponsors user operations against payment in ERC-20 tokens.
4+
- `PaymasterERC721Owner`: Extension of `PaymasterCore` that approves sponsoring of user operation based on ownership of an ERC-721 NFT.
55

66
## 28-03-2025
77

contracts/account/paymaster/PaymasterNFT.sol renamed to contracts/account/paymaster/PaymasterERC721Owner.sol

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ import {PaymasterCore} from "./PaymasterCore.sol";
1212
* This paymaster will sponsor user operations if the user has at least 1 token of the token specified
1313
* during construction (or via {_setToken}).
1414
*/
15-
abstract contract PaymasterNFT is PaymasterCore {
15+
abstract contract PaymasterERC721Owner is PaymasterCore {
1616
IERC721 private _token;
1717

1818
/// @dev Emitted when the paymaster token is set.
19-
event PaymasterNFTTokenSet(IERC721 token);
19+
event PaymasterERC721OwnerTokenSet(IERC721 token);
2020

2121
constructor(IERC721 token_) {
2222
_setToken(token_);
@@ -30,7 +30,7 @@ abstract contract PaymasterNFT is PaymasterCore {
3030
/// @dev Sets the ERC-721 token used to validate the user operation.
3131
function _setToken(IERC721 token_) internal virtual {
3232
_token = token_;
33-
emit PaymasterNFTTokenSet(token_);
33+
emit PaymasterERC721OwnerTokenSet(token_);
3434
}
3535

3636
/**

contracts/mocks/account/paymaster/PaymasterNFTMock.sol renamed to contracts/mocks/account/paymaster/PaymasterERC721OwnerMock.sol

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ pragma solidity ^0.8.20;
44

55
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
66
import {ERC4337Utils, PackedUserOperation} from "@openzeppelin/contracts/account/utils/draft-ERC4337Utils.sol";
7-
import {PaymasterNFT} from "../../../account/paymaster/PaymasterNFT.sol";
7+
import {PaymasterERC721Owner} from "../../../account/paymaster/PaymasterERC721Owner.sol";
88

9-
abstract contract PaymasterNFTContextNoPostOpMock is PaymasterNFT, Ownable {
9+
abstract contract PaymasterERC721OwnerContextNoPostOpMock is PaymasterERC721Owner, Ownable {
1010
using ERC4337Utils for *;
1111

1212
function _validatePaymasterUserOp(
@@ -16,14 +16,14 @@ abstract contract PaymasterNFTContextNoPostOpMock is PaymasterNFT, Ownable {
1616
) internal override returns (bytes memory context, uint256 validationData) {
1717
// use the userOp's callData as context;
1818
context = userOp.callData;
19-
// super call (PaymasterNFT) for the validation data
19+
// super call (PaymasterERC721Owner) for the validation data
2020
(, validationData) = super._validatePaymasterUserOp(userOp, userOpHash, requiredPreFund);
2121
}
2222

2323
function _authorizeWithdraw() internal override onlyOwner {}
2424
}
2525

26-
abstract contract PaymasterNFTMock is PaymasterNFTContextNoPostOpMock {
26+
abstract contract PaymasterERC721OwnerMock is PaymasterERC721OwnerContextNoPostOpMock {
2727
event PaymasterDataPostOp(bytes paymasterData);
2828

2929
function _postOp(

test/account/paymaster/PaymasterNFT.test.js renamed to test/account/paymaster/PaymasterERC721Owner.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ const { ERC4337Helper } = require('../../helpers/erc4337');
88
const { shouldBehaveLikePaymaster } = require('./Paymaster.behavior');
99

1010
for (const [name, opts] of Object.entries({
11-
PaymasterNFT: { postOp: true, timeRange: false },
12-
PaymasterNFTContextNoPostOp: { postOp: false, timeRange: false },
11+
PaymasterERC721Owner: { postOp: true, timeRange: false },
12+
PaymasterERC721OwnerContextNoPostOp: { postOp: false, timeRange: false },
1313
})) {
1414
async function fixture() {
1515
// EOAs and environment

0 commit comments

Comments
 (0)