Sui.

Пост

Поделитесь своими знаниями.

HaGiang.
Jul 09, 2025
Экспертные Вопросы и Ответы

Как убедиться, что deepbook v3 используется?

  • Sui
0
1
Поделиться
Комментарии
.

Ответы

1
24p30p.
Jul 9 2025, 21:04

В настоящее время вы используете устаревшую функцию DeepBook (deepbook::clob::place_limit_order), принадлежащую более старой версии протокола. Чтобы перейти наDeepBook V3, вам необходимо обновить зависимость, Move.tomlуказав на правильную версию пакета DeepBook, а также заменить старые вызовы функций новым API, совместимым с версией 3. В DeepBook V3 представлены обновленные имена модулей и функций, а это значит, что использование версии 3 — это не только обновление справочника git, но и вызов новой логики в коде Move.

Move.tomlЧтобы убедиться, что вы используете DeepBook V3, обновите зависимость следующим образом в файле:

[dependencies]
DeepBook = { git = "https://github.com/MystenLabs/deepbook-v3.git", rev = "main" }

Или, если DeepBook V3 теперь является частью основного репозитория фреймворка Sui, вам следует указать правильный подкаталог и коммит, включающий версию 3. Например:

[dependencies]
DeepBook = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/deepbook", rev = "framework/mainnet" }

После обновления зависимости запустите:

sui move build

Затем в модуле Move замените устаревшие вызовы, например, deepbook::clob::place_limit_orderобновленной функцией DeepBook V3. Последние названия функций и шаблоны использования вы найдете в репозитории DeepBook на GitHub или в репозитории фреймворка Sui.

Всегда проверяйте наличие обновленных определений структур или новых шаблонов транзакций. При необходимости используйте такой блок транзакций для вызова обновленной функции во внешнем интерфейсе:

const tx = new TransactionBlock();
tx.moveCall({
  target: '0xDeepBookPackage::v3_module::place_limit_order_v3',
  arguments: [
    tx.object('0xPool'),
    tx.pure(1000),         // price
    tx.pure(50),           // quantity
    tx.pure(true),         // is_bid
    tx.pure(expiryTime),   // expiration
    tx.pure(0),            // restriction
    tx.object('0xClock'),  // clock reference
  ],
});

Проверьте последние документы DeepBook или исходный код, чтобы проверить типы аргументов и имена целевых функций. Чтобы получать дальнейшие обновления, посетите https://docs.sui.io или отслеживайте проблемы и обновления в репозитории DeepBook.

0
Комментарии
.

Знаете ответ?

Пожалуйста, войдите в систему и поделитесь им.