Content pfp
Content
@
0 reply
0 recast
2 reactions

jtriley.eth pfp
jtriley.eth
@jtriley
announcing the rippler, a fast as fuck multicaller. the rippler uses a custom encoding scheme, packing calls in reverse order and prefixing the calldata with a 2 byte jump target indicating the number of calls to make. 0/3 https://github.com/jtriley-eth/the-rippler
2 replies
1 recast
18 reactions

jtriley.eth pfp
jtriley.eth
@jtriley
the rippler branches only in the initial jump, there are no loops, no calldata structure checks, no external call status checks. turing completeness is gas inefficiency. 1/3
1 reply
0 recast
4 reactions

jtriley.eth pfp
jtriley.eth
@jtriley
encoding reversal is conceptually related to turing incompleteness, instead of iterating left to right, calldata is read right to left where the jump target specifies the rightmost element and reads left until there are no more calls to make. 2/3
1 reply
0 recast
2 reactions

jtriley.eth pfp
jtriley.eth
@jtriley
to compensate for dynamically sized payloads, the encoding consists of a header and body where the header contains the call target, value, and payload calldata pointer and size. the body is each payload tightly packed. until next time 🫡 3/3
0 reply
0 recast
4 reactions