near-multicall / ui

User interface for near-multicall
https://multicall.app
MIT License
10 stars 0 forks source link

Support long calls #10

Open lennczar opened 2 years ago

lennczar commented 2 years ago

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,

  1. 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)
  2. the way the UI generates the multicall arguments, will have to be adjusted to accommodate for the new long call layout.

note: this feature relies on jobs (#11)

mohamedalichelbi commented 2 years ago

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