This annotation indicates a method in a contract class that will not be deployed to the blockchain when
the contract is deployed.
Methods marked with
JavaSideExecutionOnly
will not be translated into Solidity code, and are not
subject to the normal restrictions on code within contract methods.
The purpose of this annotation is to allow the code author to write helper methods on a class which may
be called locally on proxy objects. These helper methods run on the local JVM, but may in turn call
transaction based methods on the underlying contract.
A common use case would be to provide a
JavaSideExecutionOnly
helper method which accepts java
friendly argument types, which then converts those values to the types required when making a call to
the actual contract.