1

インクで微調整中!スマート コントラクトといくつかのテスト コントラクトをhttps://polkadot.js.org/からデプロイしました。ただし、スマート コントラクト内に条件文を設定しても、呼び出しは元に戻さずに通過します。エラー処理に何か問題がありますか?

コード例:

  #[ink(message)]
    pub fn withdraw_(&mut self, value: Balance) -> Result<()>  {
        let caller= self.env().caller();
        let contract_address = self.env().account_id();
        let ticket_count = self.tickets_of_or_zero(caller);

    

        if ticket_count <= 0 {
            return  Err(Error::InsufficientTickets)
        }

        self.tickets.insert(caller, ticket_count - 1);

      let transfer_status =  self.transfer_from_to_reentrant(contract_address,caller,value);

      if !transfer_status {
          return Err(Error::UnsucceededTransfer)
      }

        

        Ok(())
    }
4

0 に答える 0