# Банк і події (env)

> Host-функції банку й подій NeuroWASM — transfer з балансу контракту, emit_event і set_return.

Source: https://docs.nro.world/uk/neurowasm/bank

## `transfer` <Badge type="tip" text="працює" />

```text
transfer(to_ptr, to_len, amount: i64) → i32
```

Виплата нативних uNRO з балансу **цього** контракту. Хост перевіряє знімок, списує в пам'яті для послідовності операцій і записує `(to, amount)` для фіксації — лише якщо весь виклик успішний (і це не dry-run).

| Повертає | Значення |
|----------|----------|
| `0` | успіх |
| `-1` | amount≤0, немає власної адреси, недостатній баланс, некоректний UTF-8 |

**Аналоги:** `BankMsg::Send` у CosmWasm, переказ / прикріплений депозит у NEAR.

## `emit_event` <Badge type="tip" text="працює" />

```text
emit_event(topic_ptr, topic_len, data_ptr, data_len)
```

Додає подію `{ topic, data }` у UTF-8. Зберігається й індексується при успішній фіксації.

## `set_return` <Badge type="tip" text="працює" />

```text
set_return(ptr, len)
```

Задає `return_data` виклику з пам'яті контракту (перезаписує попереднє значення).

## `log` <Badge type="info" text="заплановано" />

Рядок журналу для людини; може відображатися на `emit_event("log", …)`.
