🐷

[Astar]コントラクト備忘録11(psp22 Mintableへの機能追加(呼び出し元へのミント)について)

2023/02/25に公開

こちらの知見がたまったので、備忘録として残します。

1 概要

  1. psp22 Mintableへの機能追加①(呼び出し元へのミント)

2 内容

こちらのメッセージを作成しました。(こちらはコントラクト備忘録10の続きです。)

#[ink(message)]
        pub fn mint_to(&mut self, account: AccountId, amount: Balance) -> Result<(), PSP22Error> {
            self.mint(account, amount)
        }
        #[ink(message)]
        pub fn mint_to_me(&mut self, amount: Balance) -> Result<(), PSP22Error> {
            self.mint(self.env().caller(), amount)
        }

このように、Mintableの「mint」を用いて実装しています。

なお、「self.env().caller()」については、こちらをご参照ください。

下のように、「mintToMe」が実装されていました。

問題なく動くことも確認できました。

Shibuya

W8W7te18Wb4iTFfeWLiyKdrA31Yb7DJzRdBFSUryZWTL913

今回は以上です。

以下、追記です。

#[ink(message)]
        pub fn mint_option(&mut self, account: Option<AccountId>, amount: Balance) -> Result<(), PSP22Error> {
            if let Some(account) = account {
                self.mint_to(account, amount)
            }else {
                self.mint_to_me(amount)
            }
        }

Discussion