Все мои тесты в IOUStateTests проходят, за исключением того, где я пишу свой метод оплаты. Я написал это, как показано ниже.
Я получаю ошибку как Token mismatch: USD vs GBP
. По умолчанию Corda принимает в качестве валюты доллар США? Как указано в постановке задачи, одно свойство viz.- «paid» класса «IOUState» инициируется в фунтах. Я сделал то же самое. Я скопировал его в метод «pay» внутри класса и добавил в метод «paid». Но получаю ошибку выше. Пожалуйста, помогите:)
Это для разработки CorDapp с использованием Kotlin.
data class IOUState(val amount: Amount<Currency>,
val lender:Party,
val borrower:Party,
val paid: Amount<Currency> = POUNDS(0),
override val linearId : UniqueIdentifier = UniqueIdentifier()): LinearState {
override val participants: List<Party> get() = listOf(lender, borrower)
fun pay(amountToPay: Amount<Currency>) = copy(paid = paid.plus(amountToPay))
}
Я ожидаю, что метод 'pay'
вернет сложение 'paid'
и 'amountToPay'
в фунтах. Но я получаю сообщение об ошибке: 'paid '
в ПУНДАХ и amountToPay
в долларах США. ТАК, не могу добавить.