Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSN Bounty Completed #24

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rizzytwizzy
Copy link

No description provided.

@Divide-By-0
Copy link
Owner

Divide-By-0 commented Dec 15, 2023

Hey! Thanks for the contribution @rizzytwizzy.

A few notes:

  • After doing this: 'Open Developer Tools for logs, connect MetaMask account and select Goerli network to make a GSN transaction.' -- it didn't automatically detect and refresh the UI, so I had to manually refresh
  • The UI for the three text fields is particularly raw compared to the rest of the UI; is there any way you could add some minimal styling to them? Image attached in case there's some CSS error on my side or something.
  • When I hit "Transfer Tokens", it fails:
index-bc565533.js:187 Uncaught (in promise) TypeError: c.transferTokens is not a function
    at onClick (index-bc565533.js:187:9253)
    at Object.EK (index-bc565533.js:108:9864)
    at TK (index-bc565533.js:108:10018)
    at SK (index-bc565533.js:108:10075)
    at jR (index-bc565533.js:108:31482)
    at $$ (index-bc565533.js:108:31899)
    at index-bc565533.js:108:36812
    at hA (index-bc565533.js:111:36956)
    at c$ (index-bc565533.js:108:8999)
    at Yy (index-bc565533.js:108:33186)
  • Goerli is being deprecated so it would be cool if it worked on Sepolia; is GSN even on Sepolia?
  • Is there some alternative to GSN that uses AA instead that might be more modern?
image

@rizzytwizzy
Copy link
Author

I developed this smart contract, which allows for gas fees to be paid in ERC20.

  1. A user permits a transaction
  2. Gas fee is calculated in ERC20
  3. Somebody else pays for the transaction in ETH, payer is rewarded a small fee (+ gas fee in ERC20) for doing so. Think of the reward fee as a tip the original user sets for the transaction.
  4. This amount of ERC20 is charged to the original user who wants to transfer funds and paid to the user who paid for the transaction in ETH.

The caveat is the tokens have to utilize Erc20Permit, which is unfortunately not implemented by any currencies with chainlink price feeds. For this form of account abstraction to be possible, more tokens will need to adopt Erc20Permit, or wrapped Erc20Permit tokens should be made and pegged to the price of a normal Erc20 token.

@rizzytwizzy
Copy link
Author

The issue I've found with GSN is that it's only available on Goerli, and only supports a naive paymaster (so no Token paymasters). To achieve the original goal of the bounty, AA would need to be leveraged instead of GSN.

@Divide-By-0
Copy link
Owner

The issue I've found with GSN is that it's only available on Goerli, and only supports a naive paymaster (so no Token paymasters). To achieve the original goal of the bounty, AA would need to be leveraged instead of GSN.

That makes sense to me. Are there any interfaces you know of with AA that do this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants