Спецификация инструкций и регистров XCM
Для более практичного подхода к использованию XCM, обратитесь к XCM Документация. Пожалуйста, имейте в виду Помните, что XCM находится в стадии активной разработки.
Эту страницу также можно посмотреть на сайте xcm-формат
хранилище, где каждая инструкция и регистр подробно описаны.
XCVM Регистры
- Programme
- Programme Counter
- Error
- Error Handler
- Appendix
- Origin
- Holding
- Surplus Weight
- Refunded Weight
- Transact Status
- Topic
- Transact Status Register
- Topic Register
XCVM Набор инструкций
WithdrawAssetReserveAssetDepositedReceiveTeleportedAssetQueryResponseTransferAssetTransferReserveAssetTransactHrmpNewChannelOpenRequestHrmpChannelAcceptedHrmpChannelClosingClearOriginDescendOriginReportErrorDepositAssetDepositReserveAssetExchangeAssetInitiateReserveWithdrawInitiateTeleportQueryHoldingBuyExecutionRefundSurplusSetErrorHandlerSetAppendixClearErrorClaimAssetTrapSubscribeVersionUnsubscribeVersionBurnAssetExpectAssetExpectErrorExpectOriginQueryBarrelExpectBarrelReportTransactStatusClearTransactStatusLockAssetUnlockAssetNoteUnlockableRequestUnlock
Инструкции Пример приложения
Ниже представлено практическое отображение инструкций на некоторые Основные функции в XCM.
- Программируемость
- Функциональная многоцепочечная декомпозиция
Это основные инструкции, которые обеспечивают возможность программирования и ветвления. Ветвление в данном контексте - это возможность обрабатывать ошибки и логику по мере необходимости при работе с с сообщением.
-
ExpectAsset(MultiAssets)- Проверяет, есть ли в регистре холдинга определенное количество активов, и выбрасывает ошибку, если нет. -
ExpectError(Option<(u32, Error)>)- Убеждается, что регистр Error содержит заданную ошибку, и выбрасывает ошибку, если она не содержится. -
ExpectOrigin(MultiLocation)- Убеждается, что регистр Origin содержит ожидаемое происхождение, и выбрасывает ошибку, если это не так. -
QueryBarrel- Запрашивает существование определенного типа бочки. -
ExpectBarrel- Проверка существования конкретного бочонка с конкретной версией. -
ReportTransactStatus(QueryResponseInfo)- ОтправляетQueryResponseсообщение, содержащее значение регистра состояния транзакций в пункт назначения. -
ClearTransactStatus- Устанавливает регистр состояния транзакций в значение по умолчанию, очищенное.
В этих инструкциях выделены ключевые указания, направленные на функциональное многоцепочечное декодирование.
-
LockAsset(MultiAsset, MultiLocation)- Блокирует локальный актив и предотвращает дальнейшую передачу или изъятие. -
UnlockAsset(MultiAsset, MultiLocation)- Снимает блокировкуактивана этой цепочке и (если ничто другое не мешает этому) позволяют передать актив. -
NoteUnlockable(MultiAsset, MultiLocation)- Актив (asset) был заблокирован наoriginи не может быть передан. Его можно разблокировать только при полученииUnlockAssetинструкция по этой цепочке. -
RequestUnlock(MultiAsset, MultiLocation)- ОтправляетUnlockAssetинструкцию кlockerдля данногоasset.