Вам нужно обновить оба состояния, если одно ссылается на другое в контракте - PullRequest
0 голосов
/ 08 июня 2018

Сценарий: у меня есть contractV1 cordapp с ObligationV1 и CashV1.В команде Obligation.Settle она обеспечивает использование ObligationV1 и CashV1 для погашения обязательства.

Предположим, что необходимо обновить CashV1 и CashContractV1 до V2.Поскольку в Облигационном договоре были некоторые зависимости от состояния CashV1, значит ли это, что мне нужно увеличить ObligationContractV1 до V2, чтобы он мог обеспечить использование CashV2 во время команды Settle?Нет необходимости обновлять состояние обязательства, потому что ничего не меняется?)

1 Ответ

0 голосов
/ 11 июня 2018

Если вы написали ObligationContractV1 таким образом, что он тесно связан с CashV1, то да - вам придется обновить ObligationContractV1 тоже.

Однако было бы лучшеиметь абстрактный Cash интерфейс, который реализуют все CashVX состояния.Затем в ObligationContractV1 вы можете просто указать, что одно из состояний имеет тип Cash.Ваш контракт не будет тесно связан с определенной Cash версией.

...