Why is TRO a "contract instruction"?

The TRO instruction is listed under “Contract Instructions” in the Fuel Specs.

Why is that? Can’t simple Address accounts transfer coins between them?

When address accounts transfer to other addresses, they don’t need to execute code in the VM, they can just include an input and an output.

The TRO instruction decreases the balance of the contract that is currently executing, and transfers that balance to the output token.


Thanks, @david, makes sense now.

Am I right to conclude that all contract instructions execute code in the VM, somehow?

All opcodes in general execute “inside” the VM.

However, asset transfers don’t require VM execution. Providing appropriate inputs and outputs is all that’s needed to do basic transfers.

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.