Initial release of NFT trading was not written to account for large numbers of offers and tokenIds. Lots of debottlenecking opportunities.
Big one is using promise.all to get and set agora offers.
Implement this.
Since we also want to implement promise.all to get and cache token info, and the approach is similar -- we do this in the same diff. In both cases, testing is the same, and more improvements are available.
imo worth doing this in one diff to solve the immediate problem of "this is almost unusable at current load speeds." We can optimize from here.