You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
my team is working on an app that primarily uses USDC and we are attempting to integrate the new coinbase Smart Wallets into our app. We utilize the permit function for off-chain gasless approvals for users, through which the user will sign an eip712 message that will authorize an allowance for their usdc tokens.
The issue we ran into is that the permit signature was not accepted for brand new created coinbase smart wallets, but i think this applies to smart wallets in general maybe.
It seems when the signature is submitted to USDC erc20 contract it gets a failing EOA signature error. I found the code i believe fails and it seems the SignatureChecker expects a smart wallets code to be deployed to the blockchain. However, from what I read the smart wallet code is deployed when the owner first initiates a transaction from the wallet. So new wallets that may have received tokens can not have their signed messages approved.
This is my first issue submission. What steps would need to be taken to bring this change about?
Edit: off the top of my head, i wonder if updating the conditional w/ isContract to also check if the signature ends with the predeploy magic bytes (0x6492649264926492649264926492649264926492649264926492649264926492) may be a suitable check to init a smart wallet signature check; I can attempt an example PR tomorrow to demonstrate
The text was updated successfully, but these errors were encountered:
Hello,
my team is working on an app that primarily uses USDC and we are attempting to integrate the new coinbase Smart Wallets into our app. We utilize the permit function for off-chain gasless approvals for users, through which the user will sign an eip712 message that will authorize an allowance for their usdc tokens.
The issue we ran into is that the permit signature was not accepted for brand new created coinbase smart wallets, but i think this applies to smart wallets in general maybe.
It seems when the signature is submitted to USDC erc20 contract it gets a failing EOA signature error. I found the code i believe fails and it seems the SignatureChecker expects a smart wallets code to be deployed to the blockchain. However, from what I read the smart wallet code is deployed when the owner first initiates a transaction from the wallet. So new wallets that may have received tokens can not have their signed messages approved.
Link to code: https://github.com/circlefin/stablecoin-evm/blob/f64f01f93ea4e4b3a88be1de716fc0ada88f798c/contracts/util/SignatureChecker.sol#L43C14-L43C24
I'm reading more into offchain signature verification for undeployed smart wallets, erc-6492
This is my first issue submission. What steps would need to be taken to bring this change about?
Edit: off the top of my head, i wonder if updating the conditional w/ isContract to also check if the signature ends with the predeploy magic bytes (
0x6492649264926492649264926492649264926492649264926492649264926492
) may be a suitable check to init a smart wallet signature check; I can attempt an example PR tomorrow to demonstrateThe text was updated successfully, but these errors were encountered: