Перейти к основному содержанию

Спецификация инструкций и регистров XCM

Документация 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 Набор инструкций

  • WithdrawAsset
  • ReserveAssetDeposited
  • ReceiveTeleportedAsset
  • QueryResponse
  • TransferAsset
  • TransferReserveAsset
  • Transact
  • HrmpNewChannelOpenRequest
  • HrmpChannelAccepted
  • HrmpChannelClosing
  • ClearOrigin
  • DescendOrigin
  • ReportError
  • DepositAsset
  • DepositReserveAsset
  • ExchangeAsset
  • InitiateReserveWithdraw
  • InitiateTeleport
  • QueryHolding
  • BuyExecution
  • RefundSurplus
  • SetErrorHandler
  • SetAppendix
  • ClearError
  • ClaimAsset
  • Trap
  • SubscribeVersion
  • UnsubscribeVersion
  • BurnAsset
  • ExpectAsset
  • ExpectError
  • ExpectOrigin
  • QueryBarrel
  • ExpectBarrel
  • ReportTransactStatus
  • ClearTransactStatus
  • LockAsset
  • UnlockAsset
  • NoteUnlockable
  • RequestUnlock

Инструкции Пример приложения

Ниже представлено практическое отображение инструкций на некоторые Основные функции в XCM.

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

  • ExpectAsset(MultiAssets) - Проверяет, есть ли в регистре холдинга определенное количество активов, и выбрасывает ошибку, если нет.

  • ExpectError(Option<(u32, Error)>) - Убеждается, что регистр Error содержит заданную ошибку, и выбрасывает ошибку, если она не содержится.

  • ExpectOrigin(MultiLocation) - Убеждается, что регистр Origin содержит ожидаемое происхождение, и выбрасывает ошибку, если это не так.

  • QueryBarrel - Запрашивает существование определенного типа бочки.

  • ExpectBarrel - Проверка существования конкретного бочонка с конкретной версией.

  • ReportTransactStatus(QueryResponseInfo) - Отправляет QueryResponse сообщение, содержащее значение регистра состояния транзакций в пункт назначения.

  • ClearTransactStatus - Устанавливает регистр состояния транзакций в значение по умолчанию, очищенное.