## Description
title, so that we can replace hard-coded field count in pipelines.
a crate did very similar things but it's archived, so prob better to
have our own impl, also b/c the functionality is relatively simple
https://github.com/discosultan/field-count
## Test plan
added tests in models/
---
## Release notes
Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.
For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.
- [ ] Protocol:
- [ ] Nodes (Validators and Full nodes):
- [ ] Indexer:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [ ] CLI:
- [ ] Rust SDK:
- [ ] REST API: