# 컨트랙트 간 호출 (env)

> NeuroWASM의 동기식 컨트랙트 간 호출 — call_contract, 중첩 호출에서의 호출자 신원, 공유 저널, 깊이 제한.

Source: https://docs.nro.world/ko/neurowasm/cross-contract

Phase A: **동기식** CPI. 중첩 호출 전에 부모 스토리지가 공유 저널로 플러시됩니다(read-your-writes). `MAX_CALL_DEPTH = 8`.

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

```text
call_contract(addr_ptr, addr_len, input_ptr, input_len, result_ptr, result_max) → i32
```

다른 `.app`을 호출합니다. 중첩 호출에서 `get_caller` = 이 컨트랙트. 결과 바이트를 `result_ptr`에 씁니다.

**반환:** 쓴 바이트 수, 또는 `-1`(깊이 초과 / dispatcher 없음 / 잘못된 인자).

**유사 기능:** CosmWasm `WasmMsg::Execute`(그쪽은 큐에 넣음), NEAR `promise_create`(그쪽은 비동기).

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

위와 같으며, 추가로 하위 컨트랙트의 attached deposit으로 uNRO를 첨부합니다.
