В данной версии проекта реализован флоу для объединения и разделения 2х токенов, обмена между разными типами токенов. Всего 2 типа токенов, обменный коэффициент не изменяется и задан в коде. При выпуске токена можно задать его тип. Для каждой из операций с токеном реализованы проверки, например:
- объединение доступно только для токенов с одним владельцем и одного типа
- после каждой операции проверяется, что входное и выходное количество токенов каждого типа совпадают
Также реализован тест для контрактов, взятие комиссии при операции move.
./gradlew deployNodes
./build/nodes/runnodes
- Выпустить токен
flow start TokenIssueFlowInitiator owner: "PartyA", amount: 10, currencyType: RICK
flow start TokenIssueFlowInitiator owner: "PartyB", amount: 10, currencyType: MORTY
- Проверить токены текущей ноды
run vaultQuery contractStateType: com.exactpro.bootcamp.states.TokenState
- Разделить токен на 2 части
flow start TokenSplitFlowInitiator transactionId: "41AA642...", outputIndex: 0, splitRatio: 0.7
- Объединить 2 токена
flow start TokenJoinFlowInitiator transactionId1: "41AA642...", outputIndex1: 1, transactionId2: "488A83...", outputIndex2: 1
- Выполнить обмен одного токена на другой
flow start TokenSwapFlowInitiator transactionId1: "A38D2F...", outputIndex1: 0, transactionId2: "E7A9AF...", outputIndex2: 0, needAmount: 3.0
Подчезерцев Алексей, Самоделкина Мария, Солодянкин Андрей, 2022