Move.

Пост

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

1 Luca.
Jan 11, 2025
Экспертные Вопросы и Ответы

How to query Swap_Event without specifying phantom types?

I'm trying to query all Swap_Event instances without specifying phantom types for the struct like Swap_Event<phantom Ty0, phantom Ty1>. What are some alternative methods to achieve this? Also, if I upgrade the contract, how does it affect my queries? Additionally, is there a rate limit on public GraphQL queries?

  • Move CLI
  • Move
3
3
Поделиться
Комментарии
.

Ответы

3
farshad.
Jan 11 2025, 10:18

Вы можете использовать API QueryEvents с фильтром, предназначенным для следующегоMoveEventModule:

"params": [
  {
    "MoveEventModule": {
      "package": "<PACKAGE_ID>",
      "module": "<MODULE_NAME>",
      "event": "Swap_Event"
    }
  }
]

Однако имейте в виду, что это относится ко всем событиям модуля, а не толькоSwap_Event. Для фильтрации определенных имен событий, если фантомные типы не указаны, вы можете использовать такой запрос GraphQL, как:

https://sui-<devnet|testnet|mainnet>.mystenlabs.com/
{
  events(
    filter: {
      eventType: "<PACKAGE_ID>::<MODULE_NAME>::Swap_Event"
    }
  ) {
    edges {
      node {
        timestamp
        type {
          repr
        }
        data
        json
      }
    }
  }
}

Этот метод позволяет осуществлять более детальный контроль.

2
Лучший ответ
Комментарии
.
Theoremus.
Jan 11 2025, 07:00

Что касается обновлений контрактов, ваши запросы будут работать с любой версией пакета. Хотя новый пакет рекомендуется использовать для новых запросов, старый пакет все же можно использовать для поиска исторических данных.

2
Комментарии
.
deriss.
Jan 12 2025, 01:45

Ограничение скорости публичных запросов GraphQL ограничено для любого источника, выполняющего более 2000 запросов в 10-секундном окне.

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

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

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

Мы используем файлы cookie, чтобы гарантировать вам лучший опыт на нашем сайте.
Подробнее