 It's just in the coding library. It doesn't do anything else really. It's just hyper focused It's used by dune unstoppable domains. I figured that I Wanted to make a general solution. That's like low-level High performance that people can just build stuff on here's some just rough benchmarks for my laptop It can be like partial decoding of call data for a bi so that's like the Measured nanoseconds over there So it works with bytes instead of strings. So it's a lot faster than some other tools So yeah, just very few dependencies supposed to be lightweight. This is just sort of the general design philosophy around it and yeah, Java so it does compatible with Android and Kotlin and It's like if you're using it on like a web server using Decoding large amounts of data This is useful for something like that the other type of user I have is Like people are trying to work with like an array of structs Inside a struct and like other tools aren't working for them. So Like mine can decode any arbitrary Function signature Or data that matches any function signature. So here's the API for like the RLP stuff This is different because uses an iterator pattern and it decodes on demand instead of eagerly. Yeah, all these objects just sort of point at at a byte buffer and you can decode directly from the byte buffer on demand and So it saves some time there and then here's like the ABI stuff So all the objects are meant to be reused many times like the function object and their stateless So you can share them across threads or between code Here's some decoding and also deals with JSON So you can like parse JSON and create a function from JSON It also does event decoding was added recently So just here's some details on You know how I got the performance benefits from you know using byte buffer and Pre-calculating things and and holding on to them for like multiple encodings and decodings. Yeah, and there's some denial of service protection For if you're decoding like untrusted data that wants to allocate like a huge array It'll throw an exception Instead of like allocating a gigabyte of memory Yeah, future work might involve Doing like more partial decodes like querying like nested tuples So like go and do a specific index and then if that's a tuple go in an index and that and just pick out the Thing you want to decode and just ignore everything else But it requires like jumping around the index and stuff and Then yeah, I've been talking to some people recently about a possible a bi v3 so like I wrote a command line interface that can encode arguments as RLP and Uses a lot less Bites because you don't have an offset and all this zero padding and stuff like that So and then you can try that out if you want Headlong CLI is like the command line interface and Yeah, faster simpler software Legos. I kind of just want people to you know be able to build modular stuff just so That you're not like weighted down by all these dependencies and like complex frameworks where you have to read all this documentation and Just build something to last and then special thanks to Victor Dillipine because he added some code that now I can Decode events with headlong and Thanks, do you have any plans for SSZ support? Not right now. I thought about maybe implementing something separate for SSC, but I Don't know if I'm gonna so maybe What does he good use cases for this library? We'll do an analytics Start using it for like ingesting large amounts of data So they can put it in the databases and like query it So like if you have a lot of historical data lying around do you want to? decode like huge amounts of it and Gain insights from data and stuff otherwise It's just designed to work in every possible case nested arrays nested tubules tubular a structs and stuff And there's no code generation, so it's all just very traditional that way