Skip to content

Commit

Permalink
Update docs/references/ic-interface-spec.md
Browse files Browse the repository at this point in the history
Co-authored-by: mraszyk <[email protected]>
  • Loading branch information
oggy-dfin and mraszyk authored Dec 13, 2024
1 parent c5046fd commit 61a6b7f
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/references/ic-interface-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -1757,7 +1757,7 @@ There must be at most one call to `ic0.call_on_cleanup` between `ic0.call_new` a

The returned `err_code` is always one of `0`, `1`, `2`, and `3`. An `err_code` of `0` means that no error occurred and that the IC could enqueue the call. In this case, the call will either be delivered, returned because the destination canister does not exist, returned due to a lack of resources within the IC, or returned because of an out of cycles condition. This also means that exactly one of the reply or reject callbacks will be executed.

Non-``0` values of `err_code` indicate that the call could not be performed, and the semantics of the values are the same as for [reject codes](#reject-codes) (i.e., the `err_code` `1` has the semantics of `SYS_FATAL`, `2` of `SYS_TRANSIENT`, and `3` of `DESTINATION_INVALID`). A non-`0` code could arise due to a lack of resources within the IC, but also if the call would reduce the current cycle balance to a level below where the canister would be frozen. No callbacks are executed in this case.
Non-zero values of `err_code` indicate that the call could not be performed, and the semantics of the values are the same as for [reject codes](#reject-codes) (i.e., the `err_code` `1` has the semantics of `SYS_FATAL`, `2` of `SYS_TRANSIENT`, and `3` of `DESTINATION_INVALID`). A non-zero code could arise due to a lack of resources within the IC, but also if the call would reduce the current cycle balance to a level below where the canister would be frozen. No callbacks are executed in this case.

After `ic0.call_perform` and before the next call to `ic0.call_new`, all other `ic0.call_*` function calls trap.

Expand Down

0 comments on commit 61a6b7f

Please sign in to comment.