Skip to content

Conversation

@aapclark
Copy link
Contributor

@aapclark aapclark commented Jan 6, 2026

  • (ccq-server): query ccq staking contract and look up rate limits in ipfs tranche

Rate limiting is enforced by the CCQ server before requests reach the guardian. Guardians trust that requests on the gossip network have already been validated. This aligns with the CCQ whitepaper: "The CCQ query server does request validation and responds with an error if it detects a bad request."

  • (ccq-server): support raw and eip191 signed messages

  • (ccq-server): remove unused permissions file

  • (ccq-server): add config values for contract address and ipfs host

  • (ccq-server): add X-Signature-Format header (values: "eip191" or default raw)

  • (ci): add ipfs provider with staking tranches

  • (ci): add queries staking contract deployment and pool creation

  • (js-query): switches to newer version of viem from web3

  • (js-query): add integration tests for staking-based rate limits

  • (js-query): add integration tests for raw and eip191 signed messages

elee1766 and others added 5 commits January 8, 2026 12:27
- (ccq-server): query ccq staking contract and look up rate limits in ipfs
tranche

Rate limiting is enforced by the CCQ server before requests reach the guardian.
Guardians trust that requests on the gossip network have already been validated.
This aligns with the CCQ whitepaper: "The CCQ query server does request validation
and responds with an error if it detects a bad request."

- (ccq-server): support raw and eip191 signed messages

- (ccq-server): remove unused permissions file

- (ccq-server): add config values for contract address and ipfs host

- (ccq-server): add X-Signature-Format header (values: "eip191" or default raw)

- (ci): add ipfs provider with staking tranches

- (ci): add queries staking contract deployment and pool creation

- (js-query): switches to newer version of viem from web3

- (js-query): add integration tests for staking-based rate limits

- (js-query): add integration tests for raw and eip191 signed messages

Co-authored-by: web3ashlee <[email protected]>
removes duplicate  call introduced by rebase
fix: configure notary once in node test

removes duplicate  call introduced by rebase

chore(ccq): update ccq metrics

chore(querystaking): update querystaking metrics

chore(query): update context handling in memorystore

fix(js-query): pass uint8Array buffer to BinaryReader

fix(query): use common.ReadSafe
eth-node is built locally or in CI and is not a hosted docker image
@aapclark aapclark force-pushed the ccq-server-staking-rate-limits branch from cabf87e to 81ac7e8 Compare January 8, 2026 18:27
- switch to improved format for rate limit payload

- update querystaking and ipfs modules to retrieve and parse simplified
  payload

- update CI setup scripts and tests

fix(ccq-server): handle decayRate in queryType

- the addition of `decayRate` in the staking contract `queryType` field
  makes it cumbersome to lookup a pool. Instead, the server will use a
  list of staking pool addresses rather than querying the factory
  contract.

- add config option `stakingPoolAddresses` so that query-server can
  identify staking contracts without having to iterate through multiple
  possible decay rates

- make config flag `ccqFactoryAddress` optional

- update CI script to generate full queryType

- update tests with new query type addresses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants