code: def Transfer(self, wallet, from_addr, to_addr, amount, tx_attributes=None):
          
          if not tx_attributes:
              tx_attributes = []
  
          sb = ScriptBuilder()
          sb.EmitAppCallWithOperationAndArgs(self.ScriptHash, 'transfer',
                                             [PromptUtils.parse_param(from_addr, wallet), PromptUtils.parse_param(to_addr, wallet),
                                              PromptUtils.parse_param(amount)])
  
          tx, fee, results, num_ops, engine_success = test_invoke(sb.ToArray(), wallet, [], from_addr=from_addr, invoke_attrs=tx_attributes)
  
          return tx, fee, results
docs: Transfer a specified amount of the NEP5Token to another address.
  
          Args:
              wallet (neo.Wallets.Wallet): a wallet instance.
              from_addr (str): public address of the account to transfer the given amount from.
              to_addr (str): public address of the account to transfer the given amount to.
              amount (int): quantity to send.
              tx_attributes (list): a list of TransactionAtribute objects.
  
          Returns:
              tuple:
                  InvocationTransaction: the transaction.
                  int: the transaction fee.
                  list: the neo VM evaluationstack results.