Как узнать, какой Wasm был развёрнут на аккаунте NEAR в заданном блоке

Для отчёта о релизе нужны байты именно той сборки, которую развернули в момент изменения. Поздний запрос текущего контракта может вернуть уже другой релиз.

Запросите изменения кода в блоке развёртывания

Подставьте целевой аккаунт и хеш блока, в котором исполнился receipt развёртывания. Для старого блока нужен RPC, который хранит соответствующую историю.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "changes",
  "params": {
    "changes_type": "contract_code_changes",
    "account_ids": [
      "shop.testnet"
    ],
    "block_id": "BLOCK_HASH"
  }
}

Сравните исполняемые байты с артефактом релиза

Для обновления кода декодируйте code_base64 и вычислите хеш байтов тем же алгоритмом, что и для локального Wasm. Хеш печатной строки base64 получится другим. Сохраните причину изменения и хеш блока для связи с исполнением.

Пустой массив changes на высоте включения транзакции возможен, если действие развёртывания исполнилось в более позднем блоке. До расширения диапазона поиска проверьте хеш блока результата receipt.

Источники