🐷
[Astar]コントラクト備忘録11(psp22 Mintableへの機能追加(呼び出し元へのミント)について)
こちらの知見がたまったので、備忘録として残します。
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