Я пытаюсь реализовать простое состояние типа FungibleAsset, даже если оно кажется не таким деликатным, оно выдает ошибку компиляции.
ошибка: TestState не является абстрактным и не переопределяет абстрактное Метод getAmount () в FungibleState публикуется c класс TestState реализует FungibleAsset {
error: getAmount () в TestState не может реализовать getAmount () в FungibleState publi c Amount> getAmount () {
тип возвращаемого значения Amount> не совместим с Amount>, где T является переменной типа: T расширяет объект, объявленный в интерфейсе FungibleState
public class TestState implements FungibleAsset<Currency> {
Amount<Issued<Currency>> amount;
AbstractParty owner;
@NotNull
@Override
public Amount<Issued<Currency>> getAmount() {
return amount;
}
@NotNull
@Override
public Collection<PublicKey> getExitKeys() {
return Arrays.asList(owner.getOwningKey());
}
@NotNull
@Override
public FungibleAsset<Currency> withNewOwnerAndAmount(@NotNull Amount<Issued<Currency>> newAmount, @NotNull AbstractParty newOwner) {
return null;
}
@NotNull
@Override
public AbstractParty getOwner() {
return owner;
}
@NotNull
@Override
public CommandAndState withNewOwner(@NotNull AbstractParty newOwner) {
return null;
}
@NotNull
@Override
public List<AbstractParty> getParticipants() {
return Arrays.asList(owner);
}
}
При реализации работ FungibleState я не понимаю, что именно неправильно, я переопределяю необходимые методы.