Как узнать, какой 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.