unchain-tech / ERCs-deepdive

Everything about ERCs
https://unchain-tech.github.io/ERCs-deepdive/
16 stars 5 forks source link

metatx-related-contracts 追加 #1

Closed terapasta closed 2 years ago

terapasta commented 2 years ago

summary

contracts/metatx の内容を追加しました。

一部、自分の力不足のためTODOとしてやり残している箇所がありますが、metatxを理解する上での主要な内容についてはコメントを付けられたと思いますので、PR送らせていただきます。

補足

READMEの図1で使用しているmermaid の記述は、previewでこのように表示されます。

sequenceDiagram
participant client as Client
participant relayer as Relayer
participant forwarder as Forwarder Contract
participant recipient as Recipient Contract
client ->> relayer: signed request(off-chain)
note over relayer: gas代を肩代わりする
relayer ->> forwarder: send(req)
forwarder ->> forwarder: verify(req, signature)
forwarder ->> recipient: call(req.data, req.from)
note over recipient: req.fromでmsg.senderをoverrideし<br>clientが実行しているように見せる
recipient ->> recipient: executeSomeFunction()
recipient -->> client: eventで関数の実行完了を知らせる
neila commented 2 years ago

LGTM :3