# 뱅크와 이벤트 (env)

> NeuroWASM 뱅크와 이벤트 host 함수 — 컨트랙트 잔액에서의 transfer, emit_event, set_return.

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

## `transfer` <Badge type="tip" text="작동 중" />

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

**이** 컨트랙트의 잔액에서 네이티브 uNRO를 지급합니다. 호스트는 스냅샷을 검증하고, 순서 처리를 위해 메모리상에서 차감하며, 전체 호출이 성공한 경우에만(dry-run이 아닐 때) 커밋용으로 `(to, amount)`를 기록합니다.

| 반환 | 의미 |
|------|------|
| `0` | 성공 |
| `-1` | amount≤0, 자신의 주소 없음, 잔액 부족, 잘못된 UTF-8 |

**유사 기능:** CosmWasm `BankMsg::Send`, NEAR transfer / attached deposit.

## `emit_event` <Badge type="tip" text="작동 중" />

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

UTF-8 이벤트 `{ topic, data }`를 추가합니다. 커밋이 성공하면 저장되고 색인됩니다.

## `set_return` <Badge type="tip" text="작동 중" />

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

게스트 메모리에서 호출의 `return_data`를 설정합니다(이전 값을 덮어씀).

## `log` <Badge type="info" text="계획됨" />

사람이 읽는 로그 한 줄. `emit_event("log", …)`에 대응될 수 있습니다.
