Я хочу создать настраиваемый грибной актив на корде. Мне неясно, как состояния, которые реализуют FungibleAsset, обрабатываются внутренне.Скажем, я получаю десять 1-долларовых CoinStates от транзакции, объединены ли они с одним 10-долларовым Coinstate, который я затем использую в качестве единственного и единственного состояния ввода, если я хочу сделать платеж самостоятельно?
в основном я хочу что-то вродеCash.generateSpend, который, к сожалению, не очень хорошо задокументирован
Мой подход к TransferFlow пока что:
У меня есть функция, которая выполняет запрос хранилища и должна возвращать баланс некоторых сторон .. (этопредполагает, что сумма баланса внутренне объединена в одно состояние)
, затем, используя этот баланс в качестве состояния ввода, я проверяю, равен ли ввод суммы, которую нужно заплатить, и в этом случае я просто создаю одно состояние выводато же количество, но новый владелец, в противном случае я создаю другое выходное состояние с количеством изменений и сам как владелец
Пока эта функция ... У меня есть функция, которая выполняет запрос хранилища и должнавернуть баланс некоторых сторон ..
StateAndRef<CurrencyState> getBalaceOfIdentiy(AbstractParty id) throws FlowException {
QueryCriteria queryCriteria = new QueryCriteria.FungibleAssetQueryCriteria(null,ImmutableList.of(id),null, null,
null, null, null
);
// this assumes states are merged internally
List<StateAndRef<CurrencyState>> balanceOfID = getServiceHub().getVaultService().queryBy(CurrencyState.class, queryCriteria).getStates();
return balanceOfID.get(0);
}