署名者からのデータの完全性を保証するため、オンチェーンおよび未デプロイのウォレットコントラクトでメッセージの署名検証を行う方法
TypedData
型を構築し、name
、wallet
、message
パラメータを持つメッセージ構造を検証します:
この例のVERIFYING_CONTRACT_ADDRESS
はsepolia
にデプロイしたスマートコントラクトですが、次のステップでこのコントラクトの内容を紹介し、どのネットワークでもデプロイできるように説明します:
Universal Signature Validator(ユニバーサル署名バリデータ)
カスタムコントラクトバリファイア
署名の検証
signer
アドレス、digest
、signature
を検証します。EIP6492 署名が渡された場合は universal signature validator を利用し、それ以外は EIP1271 の署名検証を直接行います。ethers
を使ってデプロイ済みコントラクトを呼び出します。この際、PROJECT_ACCESS_KEY
を利用します。
プロバイダの作成
Ethers コントラクトの初期化
署名検証関数をスタティックコール