├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── paymaster_issue.md │ └── paymaster_request.md ├── pr_request_template.md └── workflows │ └── test.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── contracts ├── .env.example ├── README.md ├── contracts │ ├── README.md │ ├── paymasters │ │ ├── AllowlistPaymaster.sol │ │ ├── ApplicationPaymaster.sol │ │ ├── ERC20fixedPaymaster.sol │ │ ├── ERC721gatedPaymaster.sol │ │ ├── GaslessPaymaster.sol │ │ ├── SignatureBasedPaymaster.sol │ │ └── TimeBasedPaymaster.sol │ ├── token │ │ ├── ERC20.sol │ │ └── ERC721.sol │ └── utils │ │ └── Greeter.sol ├── deploy │ ├── allowListPaymaster.ts │ ├── applicationPaymaster.ts │ ├── erc20.ts │ ├── erc20fixedPaymaster.ts │ ├── erc721.ts │ ├── erc721gatedPaymaster.ts │ ├── gaslessPaymaster.ts │ ├── greeter.ts │ ├── signatureBasedPaymaster.ts │ ├── timeBasedPaymaster.ts │ ├── use-greeter.ts │ └── utils.ts ├── hardhat.config.ts ├── package.json └── test │ ├── allowlist.test.ts │ ├── application.test.ts │ ├── erc20fixed.test.ts │ ├── erc721gated.test.ts │ ├── gasless.test.ts │ ├── signatureBased.test.ts │ └── timeBased.test.ts ├── frontend ├── README.md ├── jsconfig.json ├── next.config.js ├── package.json ├── postcss.config.js ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── src │ ├── .eslintrc.json │ ├── .gitignore │ ├── components │ │ ├── Button.js │ │ ├── Check.js │ │ ├── Dropdown.js │ │ ├── Greeting.js │ │ ├── Input.js │ │ ├── InstructionsCard.js │ │ ├── PaymasterMessage.js │ │ ├── Spinner.js │ │ ├── Title.js │ │ └── TxDetails.js │ ├── constants │ │ └── consts.js │ ├── hooks │ │ ├── useAccountChanges.js │ │ └── useWeb3.js │ ├── pages │ │ ├── _app.js │ │ ├── _document.js │ │ └── index.js │ ├── styles │ │ └── globals.css │ └── utils │ │ ├── formatAddress.js │ │ ├── index.js │ │ ├── paymasterUtils.js │ │ ├── updateGreeting.js │ │ └── updateNFTBalance.js ├── tailwind.config.js └── yarn.lock ├── package.json ├── paymaster-examples.png └── yarn.lock /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/paymaster_issue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.github/ISSUE_TEMPLATE/paymaster_issue.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/paymaster_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.github/ISSUE_TEMPLATE/paymaster_request.md -------------------------------------------------------------------------------- /.github/pr_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.github/pr_request_template.md -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/.prettierrc -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/README.md -------------------------------------------------------------------------------- /contracts/.env.example: -------------------------------------------------------------------------------- 1 | WALLET_PRIVATE_KEY= -------------------------------------------------------------------------------- /contracts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/README.md -------------------------------------------------------------------------------- /contracts/contracts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/README.md -------------------------------------------------------------------------------- /contracts/contracts/paymasters/AllowlistPaymaster.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/paymasters/AllowlistPaymaster.sol -------------------------------------------------------------------------------- /contracts/contracts/paymasters/ApplicationPaymaster.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/paymasters/ApplicationPaymaster.sol -------------------------------------------------------------------------------- /contracts/contracts/paymasters/ERC20fixedPaymaster.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/paymasters/ERC20fixedPaymaster.sol -------------------------------------------------------------------------------- /contracts/contracts/paymasters/ERC721gatedPaymaster.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/paymasters/ERC721gatedPaymaster.sol -------------------------------------------------------------------------------- /contracts/contracts/paymasters/GaslessPaymaster.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/paymasters/GaslessPaymaster.sol -------------------------------------------------------------------------------- /contracts/contracts/paymasters/SignatureBasedPaymaster.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/paymasters/SignatureBasedPaymaster.sol -------------------------------------------------------------------------------- /contracts/contracts/paymasters/TimeBasedPaymaster.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/paymasters/TimeBasedPaymaster.sol -------------------------------------------------------------------------------- /contracts/contracts/token/ERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/token/ERC20.sol -------------------------------------------------------------------------------- /contracts/contracts/token/ERC721.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/token/ERC721.sol -------------------------------------------------------------------------------- /contracts/contracts/utils/Greeter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/contracts/utils/Greeter.sol -------------------------------------------------------------------------------- /contracts/deploy/allowListPaymaster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/allowListPaymaster.ts -------------------------------------------------------------------------------- /contracts/deploy/applicationPaymaster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/applicationPaymaster.ts -------------------------------------------------------------------------------- /contracts/deploy/erc20.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/erc20.ts -------------------------------------------------------------------------------- /contracts/deploy/erc20fixedPaymaster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/erc20fixedPaymaster.ts -------------------------------------------------------------------------------- /contracts/deploy/erc721.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/erc721.ts -------------------------------------------------------------------------------- /contracts/deploy/erc721gatedPaymaster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/erc721gatedPaymaster.ts -------------------------------------------------------------------------------- /contracts/deploy/gaslessPaymaster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/gaslessPaymaster.ts -------------------------------------------------------------------------------- /contracts/deploy/greeter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/greeter.ts -------------------------------------------------------------------------------- /contracts/deploy/signatureBasedPaymaster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/signatureBasedPaymaster.ts -------------------------------------------------------------------------------- /contracts/deploy/timeBasedPaymaster.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/timeBasedPaymaster.ts -------------------------------------------------------------------------------- /contracts/deploy/use-greeter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/use-greeter.ts -------------------------------------------------------------------------------- /contracts/deploy/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/deploy/utils.ts -------------------------------------------------------------------------------- /contracts/hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/hardhat.config.ts -------------------------------------------------------------------------------- /contracts/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/package.json -------------------------------------------------------------------------------- /contracts/test/allowlist.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/test/allowlist.test.ts -------------------------------------------------------------------------------- /contracts/test/application.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/test/application.test.ts -------------------------------------------------------------------------------- /contracts/test/erc20fixed.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/test/erc20fixed.test.ts -------------------------------------------------------------------------------- /contracts/test/erc721gated.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/test/erc721gated.test.ts -------------------------------------------------------------------------------- /contracts/test/gasless.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/test/gasless.test.ts -------------------------------------------------------------------------------- /contracts/test/signatureBased.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/test/signatureBased.test.ts -------------------------------------------------------------------------------- /contracts/test/timeBased.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/contracts/test/timeBased.test.ts -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/jsconfig.json -------------------------------------------------------------------------------- /frontend/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/next.config.js -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/postcss.config.js -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/public/index.html -------------------------------------------------------------------------------- /frontend/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/public/logo192.png -------------------------------------------------------------------------------- /frontend/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/public/logo512.png -------------------------------------------------------------------------------- /frontend/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/public/manifest.json -------------------------------------------------------------------------------- /frontend/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/public/robots.txt -------------------------------------------------------------------------------- /frontend/src/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/.gitignore -------------------------------------------------------------------------------- /frontend/src/components/Button.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/Button.js -------------------------------------------------------------------------------- /frontend/src/components/Check.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/Check.js -------------------------------------------------------------------------------- /frontend/src/components/Dropdown.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/Dropdown.js -------------------------------------------------------------------------------- /frontend/src/components/Greeting.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/Greeting.js -------------------------------------------------------------------------------- /frontend/src/components/Input.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/Input.js -------------------------------------------------------------------------------- /frontend/src/components/InstructionsCard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/InstructionsCard.js -------------------------------------------------------------------------------- /frontend/src/components/PaymasterMessage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/PaymasterMessage.js -------------------------------------------------------------------------------- /frontend/src/components/Spinner.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/Spinner.js -------------------------------------------------------------------------------- /frontend/src/components/Title.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/Title.js -------------------------------------------------------------------------------- /frontend/src/components/TxDetails.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/components/TxDetails.js -------------------------------------------------------------------------------- /frontend/src/constants/consts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/constants/consts.js -------------------------------------------------------------------------------- /frontend/src/hooks/useAccountChanges.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/hooks/useAccountChanges.js -------------------------------------------------------------------------------- /frontend/src/hooks/useWeb3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/hooks/useWeb3.js -------------------------------------------------------------------------------- /frontend/src/pages/_app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/pages/_app.js -------------------------------------------------------------------------------- /frontend/src/pages/_document.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/pages/_document.js -------------------------------------------------------------------------------- /frontend/src/pages/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/pages/index.js -------------------------------------------------------------------------------- /frontend/src/styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/styles/globals.css -------------------------------------------------------------------------------- /frontend/src/utils/formatAddress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/utils/formatAddress.js -------------------------------------------------------------------------------- /frontend/src/utils/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/utils/index.js -------------------------------------------------------------------------------- /frontend/src/utils/paymasterUtils.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/utils/updateGreeting.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/utils/updateGreeting.js -------------------------------------------------------------------------------- /frontend/src/utils/updateNFTBalance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/src/utils/updateNFTBalance.js -------------------------------------------------------------------------------- /frontend/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/tailwind.config.js -------------------------------------------------------------------------------- /frontend/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/frontend/yarn.lock -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/package.json -------------------------------------------------------------------------------- /paymaster-examples.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/paymaster-examples.png -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matter-labs/paymaster-examples/HEAD/yarn.lock --------------------------------------------------------------------------------