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, щоб гарантувати вам найкращий досвід на нашому сайті.
Детальніше