Long calls allow the user to run (long) multicalls that consume more than 300TGas. To do so, the (long) multicall is split up into smaller (< 300TGas) multicalls, then they are scheduled consecutively using croncat. (There will be an approx. 1min timeout between those)
UI implementation
To give full control to the user and to prevent the long call to pause (1min timeout) in a critical / exploitable state, we adjusted the input to our call function to take an array of small multicalls. The UI currently does not support long calls, it simply hands over an array, that only holds a single small multicall.
To allow the UI to use the new feature,
the user should be able to visibly create an array of small multicalls (I am thinking of making columns not only list horizontally, but also vertically, with each vertical layer representing a separate small multicall)
the way the UI generates the multicall arguments, will have to be adjusted to accommodate for the new long call layout.
We might face issues with big argument size due to URL size limits, since NEAR wallet uses URL params to pass transaction data to be signed. Integration of Sender wallet in #13 might help here
What are long calls?
Long calls allow the user to run (long) multicalls that consume more than
300TGas
. To do so, the (long) multicall is split up into smaller (<300TGas
) multicalls, then they are scheduled consecutively using croncat. (There will be an approx. 1min timeout between those)UI implementation
To give full control to the user and to prevent the long call to pause (1min timeout) in a critical / exploitable state, we adjusted the input to our
call
function to take an array of small multicalls. The UI currently does not support long calls, it simply hands over an array, that only holds a single small multicall.To allow the UI to use the new feature,
columns
not only list horizontally, but also vertically, with each vertical layer representing a separate small multicall)note: this feature relies on jobs (#11)