Недоступное состояние денег - PullRequest
0 голосов
/ 25 сентября 2018

У меня проблема с наличными.По сути, у меня есть узел, который сам выдает деньги и не может получить доступ к существующему состоянию, чтобы использовать его для оплаты / чего-либо.Допустим, это состояние составляет 5 долларов, и если я выпущу еще 10, rpcOps и сервисный концентратор getCashBalances скажут, что у меня 15 долларов.Тем не менее, любые денежные потоки, которые пытаются использовать более 10 долларов, скажут мне, что у меня недостаточно баланса.

Я настроил конечные точки API для узла, чтобы он даже мог просто выйти из наличности, но он скажетчто я ухожу больше, чем имею.Когда я запрашиваю хранилище с помощью QueryCriteria.VaultQueryCriteria(Vault.StateStatus.UNCONSUMED), я вижу, что там есть состояние, и, похоже, нет ничего, что отличало бы недоступное состояние от любых последующих доступных состояний.

Может ли быть что-нибудь, что я 'м с видом здесь?Эмитенты совпадают, а владельцы хэшируются, но также должны быть такими же.

Обновлено с помощью команды / кода:

fun selfIssueTime(@QueryParam(value = "amount") amount: Long,
                  @QueryParam(value = "currency") currency: String): Response {

    // 1. Prepare issue request.
    val issueAmount = Amount(amount.toLong() * 100, Currency.getInstance(currency))
    val notary = rpcOps.notaryIdentities().firstOrNull() ?: throw IllegalStateException("Could not find a notary.")
    val issueRef = OpaqueBytes.of(0)
    val issueRequest = CashIssueFlow.IssueRequest(issueAmount, issueRef, notary)
    val self = myIdentity

    // 2. Start flow and wait for response.
    val (status, message) = try {
        val flowHandle = rpcOps.startFlowDynamic(
                CashIssueFlow::class.java,
                issueRequest
        )

        flowHandle.use { it.returnValue.getOrThrow() }
        CREATED to "$issueAmount issued to $self."
    } catch (e: Exception) {
        BAD_REQUEST to e.message
    }

    // 3. Return the response.
    return Response.status(status).entity(message).build()
}
...