Releases: chainbound/apollo
Releases · chainbound/apollo
v1.0.2-alpha
This release open sources Apollo and marks the start of the beta testing phase. If you find any bugs, please create an issue!
No new features.
v1.0.1-alpha
- v1.0.1-alpha
- Logging with log levels
- Improved stdout output
- Timestamps for setting start, end and interval options
- Review concurrency model
- The problem with the current concurrency model is that when the max number of workers is reached, it waits until
all goroutines in that batch finish before starting another batch. This is not what we want, since some goroutines
can take disproportionate amounts of time and thus block the program from collecting more data.
- Fixed with "go.uber.org/ratelimit" package. We can now define a max number of requests per second. - Working DB output
- Ability to call methods when logs occur, and not just at a random interval. This would make it easier for some use cases. The DSL syntax will be defining a method block inside of an event block. NOTE: method calls are at the block level (happen at the
end of a block, while events are on the transaction level) - Filter lists
- Example: when one of these evaluates to
false
, don't proceed totransform
orsave
. This should also be a top-level
block. It's like an SQLWHERE
clause.
filter = [ _reserve0 != 0, _reserve1 != 0 ]
- Example: when one of these evaluates to
- Standalone events (not emitted from a certain contract)
- Example: if we want every ERC20 transfer, we don't want to define theevent
in acontract
block but as a top-level block. -
transform
blocks, which are contract level blocks to define and transform variables to be used later in the top-level save blocks -
save
block should be a top-level block so that we can do cross-contract operations- This only works for results that happen at the same time, i.e. method calls
- Variables
- Schema validation
- Add loops
loop { items = ["arbitrum", "ethereum", "polygon"] query loop_query { chain = item ... } }
- Custom helper functions
-
balance()
-
token_balance()
-
- Add more context variables:
tx_index
,block_hash
- Major update of Documentation
- Standalone domain
- Advanced features
- custom functions
- More schema examples
- Refactor + error handling and reliability