🔥

[Astar]RMRKコントラクト備忘録③(RMRKの関数を確認しよう)

2023/03/30に公開

こちらの記事は、下の記事の続きです。

https://zenn.dev/yuki2020/articles/93f5ec5ffbd7d9

本日はRMRKで作成した、コントラクトの関数を確認していきます。

関数はこのようになっています。

こちらが続きです。

これらから、次の6種類があることがわかります。

  1. psp34
  2. accessControl
  3. psp34Metadata
  4. psp34Enumerable
  5. minting
  6. query

このように、6つ実装されていることが確認できます。

今回はRMRKの「minting」について見ていきます。

まずは、そもそもどこからこの「minting」を使っているのかを確認していきます。

こちらにuseが書かれています。

上の場所を確認すると、rmrk_mintingが使われていることが確認できます。

では、具体的に、この「minting」について見ていきましょう。

こちらを確認すると、「Minting」が実装されていることが確認できます。

さらにここで、複数のStorageとtrait項目を実装しなければならない旨が記載されています。

さらに、具体的に、このように5つの関数がデフォルトで実装されていることも確認できます。

そのうち3つはmodifierがついています。

それがこのまま実装されている関数であることが確認できます。

さらに、詳細を見ていきましょう。

この関数の中では、

  • _check_amount
  • _mint

などの関数があります。

それが、こちらの箇所です。
use internal::Internal;

Internalトレイトを確認すると、下のような関数シグネチャが定義されています。

それが下のように、具体的に実装されています。

また、最後にDataの部分も見ていきましょう。

こちらの4つのデータが実装されているということがわかりました。

今回は以上です。

Discussion