Сховище (env)
Ключ-значення для кожного контракту (ізольований префікс). Поточний хост працює з ключами й значеннями — рядками UTF-8. Записи оплачуються fuel і мають ліміт.
get_storage працює
get_storage(key_ptr, key_len, val_ptr, val_max) → i32Копіює min(value_len, val_max) байтів у val_ptr. Відсутній ключ → довжина 0. Некоректний UTF-8 чи вказівник → -1.
Fuel: FUEL_STORAGE_READ_BASE + PER_BYTE × len (за замовчуванням 800 + 5×len). Вичерпано fuel → -1.
Аналоги: storage.get у CosmWasm, storage_read у NEAR.
set_storage працює
set_storage(key_ptr, key_len, val_ptr, val_len)Пише в накладку і storage_changes. Відмовляє (нічого не пише) при некоректному UTF-8, вичерпаному fuel або перевищенні ліміту зростання.
Fuel: FUEL_STORAGE_WRITE_BASE + PER_BYTE × (ключ+значення) (за замовчуванням 5000 + 50×nbytes).
Ліміт: сумарно нових байтів ≤ MAX_STATE_GROWTH_BYTES_PER_TX (64 KiB).
remove_storage заплановано
remove_storage(key_ptr, key_len) → i321, якщо ключ існував, інакше 0.
storage_has заплановано
storage_has(key_ptr, key_len) → i32storage_usage заплановано
storage_usage() → i64Загальна кількість байтів, збережених цим контрактом (сумісно з NEAR).