ERC20承認 ガス代スポンサー
EIP-2612非対応を含む任意のERC-20トークンのPermit2承認をガスレスで実行するエクステンションです。
EIP-2612 ガス代スポンサーの汎用版です。permit() 関数を持たないトークンでも、クライアントがオフチェーンで承認トランザクションに署名し、ファシリテーターがガス代を負担してアトミックに実行します。
仕組み
- クライアント:approve(Permit2, MaxUint256) トランザクションをオフチェーンで署名(ブロードキャストしない)
- サーバー:PaymentRequired レスポンスに erc20ApprovalGasSponsoring エクステンションを宣言
- ファシリテーター:ガス代の資金調達・署名済み承認のブロードキャスト・決済完了をアトミックバッチで実行
実装フロー
- 1サーバーが
erc20ApprovalGasSponsoring対応を宣言 - 2Permit2の承認額が不足している場合、クライアントが
approve(Permit2, MaxUint256)に署名 - 3ファシリテーターがガス代資金調達・承認ブロードキャスト・決済完了をアトミックに実行
主なメリット
- EIP-2612非対応トークンでも広いトークン互換性を実現
- アトミックバッチ構造により承認と支払いの間のフロントランニングを防止
- バイヤーはガス代ゼロで承認完了
ExactEvmScheme はEIP-2612が利用できない場合のフォールバックとしてこのエクステンションを自動的に処理します。TypeScript・Go・Python全てのSDKで対応しています。