## Description
Implement object read API with options, with some TODOs
- figure package and object query serving, should both base on `objects`
table
- parsed object and display needs impl of module_cache on indexer
- add CI tests for object read
## Test Plan
local run agains indexer and FN, verify that other than display and
content, other fields are the same
```
curl --location --request POST http://127.0.0.1:3030 \
--header 'Content-Type: application/json' \
--data-raw '{ "jsonrpc":"2.0", "id":1, "method":"sui_getObject", "params":["0x1ace65f54d65a96251b3f46bfa720ab65a7ebe0174caa9fa1dc0d65a56ae7872", [true, true, true, true, true, true, true]]}'
{"jsonrpc":"2.0","result":{"status":"Exists","details":{"objectId":"0x1ace65f54d65a96251b3f46bfa720ab65a7ebe0174caa9fa1dc0d65a56ae7872","version":1,"digest":"89EGgBRsPBnasx87FCVuHJUeFpFNzKndubjhP21Bo53S","type":"0x2::staking_pool::StakedSui","owner":{"AddressOwner":"0x00df836a90d2b145f4fb5ceaf53d112d905b65e9a5d6ee3141a917d39a21cfde"},"previousTransaction":"Fde5EQZvYY59Aj4ruZYvWdtWXUorsqHUJASosCdWAQvZ","storageRebate":0,"bcs":{"dataType":"moveObject","type":"0x2::staking_pool::StakedSui","hasPublicTransfer":false,"version":1,"bcsBytes":"Gs5l9U1lqWJRs/Rr+nIKtlp+vgF0yqn6HcDWWlaueHJij/0OUemm6jLBPCc5oxqPNEtVfTQp4Fezd6nEmbm7EwDfg2qQ0rFF9Ptc6vU9ES2QW2XppdbuMUGpF9OaIc/eAAAAAAAAAAAAgGIXXtFYAAA="}}},"id":1}%
curl --location --request POST http://127.0.0.1:9000 \
--header 'Content-Type: application/json' \
--data-raw '{ "jsonrpc":"2.0", "id":1, "method":"sui_getObject", "params":["0x1ace65f54d65a96251b3f46bfa720ab65a7ebe0174caa9fa1dc0d65a56ae7872", [true, true, true, true, true, true, true]]}'
{"jsonrpc":"2.0","result":{"status":"Exists","details":{"objectId":"0x1ace65f54d65a96251b3f46bfa720ab65a7ebe0174caa9fa1dc0d65a56ae7872","version":1,"digest":"89EGgBRsPBnasx87FCVuHJUeFpFNzKndubjhP21Bo53S","type":"0x2::staking_pool::StakedSui","owner":{"AddressOwner":"0x00df836a90d2b145f4fb5ceaf53d112d905b65e9a5d6ee3141a917d39a21cfde"},"previousTransaction":"Fde5EQZvYY59Aj4ruZYvWdtWXUorsqHUJASosCdWAQvZ","storageRebate":0,"content":{"dataType":"moveObject","type":"0x2::staking_pool::StakedSui","hasPublicTransfer":false,"fields":{"delegation_activation_epoch":"0","id":{"id":"0x1ace65f54d65a96251b3f46bfa720ab65a7ebe0174caa9fa1dc0d65a56ae7872"},"pool_id":"0x628ffd0e51e9a6ea32c13c2739a31a8f344b557d3429e057b377a9c499b9bb13","principal":"25000000000000000","sui_token_lock":null,"validator_address":"0x00df836a90d2b145f4fb5ceaf53d112d905b65e9a5d6ee3141a917d39a21cfde"}},"bcs":{"dataType":"moveObject","type":"0x2::staking_pool::StakedSui","hasPublicTransfer":false,"version":1,"bcsBytes":"Gs5l9U1lqWJRs/Rr+nIKtlp+vgF0yqn6HcDWWlaueHJij/0OUemm6jLBPCc5oxqPNEtVfTQp4Fezd6nEmbm7EwDfg2qQ0rFF9Ptc6vU9ES2QW2XppdbuMUGpF9OaIc/eAAAAAAAAAAAAgGIXXtFYAAA="}}},"id":1}%
```
### Release notes