Offer)キャンセル(Cancel)があります。一つずつ説明していく。(何か間違ってたら教えて)作成(Mint)出品したい画像でNFTを作成する機能です。このコントラクト上でNFTを発行しているっぽい。https://etherscan.io/address/0x495f947276749ce646f68ac8c248420045cb7b5e出品(Sell)作成したNFTをマーケットに出品します。proxyを呼び出します。ここで自分のアドレス専用のproxyをproxiesに登録します。proxy;}setApprovalForAll()このメソッドでregisterProxy()で作成したproxyに対しNFTの転送権限を与えます。これによりproxyが自由にNFTを転送できるようになります。購入(Buy)atomicMatch()ここが一番中心の処理といってもいいかもしれません。sellまたはbuyのcallDataをもとに送金の実行、NFTの移転を行います。ありますが要点を絞ります。(一つ一つの詳細は別記事にしようかと)CheckOut時に作成されるDataを見てみましょう。rssMetadata:0x4e45cfae11d66bd60d4bba5956dd96901d3f347a9d924c8805902decfc860efc0x586f75e97f8952ae65547cad025a1ba57249f098a0f3b84446e79ba1d96e4ed40x4e45cfae11d66bd60d4bba5956dd96901d3f347a9d924c8805902decfc860efc0x586f75e97f8952ae65547cad025a1ba57249f098a0f3b84446e79ba1d96e4ed40x0000000000000000000000000000000000000000000000000000000000000000ぱっと見いろんなデータの羅列でよくわからないのでコントラクト内でどのように使われているのか見てみます。どこにデータを渡しているかというと、atomicMatchに各々のデータを指定して渡しています。rssMetadata[4]);ここで登場するのがOrderとSigです。salt;}このOrderを使って処理を進めています。sell));ここでregisterProxy()で作成した出品者側のproxieを取得します。proxieが存在しなかった場合はコントラクトを停止します。address(0));移転処理自体はAuthenticatedProxyに委任する為、取得したproxieをもとにauthenticateProxyを取得します。true;}NFTの金額のお支払いをします。executeFundsTransferの中で送金に失敗した場合はコントラクトを停止します。sell);NFTを実際に移転します。!すでにこのproxyにsetApproveForAll()をしてあるためproxyのコントラクトがNFTの移転権限を持っています。出品者側が再度署名や転送の実行をする必要はありません。作成(Mint)出品(Sell)購入(Buy)Zennエンジニアのための情報共有コミュニティAboutZennについて運営会社お知らせ・リリースGuides使い方Publicationよくある質問LinksTwitterGitHubメディアキットLegal利用規約プライバシーポリシ。