fix: align sponsored tempo tx fees with policy#123
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 21eab7c5ad
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| run: docker compose up -d --wait | ||
|
|
||
| - name: Run integration tests | ||
| run: uv run pytest -m integration -v --timeout=120 |
There was a problem hiding this comment.
Run Redis-marked tests in CI integration job
The integration workflow now executes pytest -m integration, but tests/test_stores_redis_integration.py uses the redis marker (not integration), and this commit also deletes tests/test_stores_redis.py. That leaves RedisStore behavior untested in CI (test skips without REDIS_URL, integration excludes non-integration markers), so Redis regressions can merge without detection.
Useful? React with 👍 / 👎.
| account: TempoAccount | None = None, | ||
| fee_payer: TempoAccount | None = None, | ||
| chain_id: int | None = None, | ||
| chain_id: int = CHAIN_ID, |
There was a problem hiding this comment.
Keep custom rpc_url usable without forcing mainnet chain_id
Defaulting tempo() to chain_id=4217 makes calls like tempo(rpc_url="...", intents=...) implicitly mainnet-bound. That default is propagated into request methodDetails.chainId and client chain-ID validation, so custom/devnet RPC endpoints on non-4217 chains now fail unless callers add an explicit chain_id, which is a regression from the previous None default behavior.
Useful? React with 👍 / 👎.
21eab7c to
b59de8f
Compare
b43f11a to
059aa38
Compare
Summary
Align sponsored Tempo transaction construction with fee-payer policy limits, and finish the live integration harness cleanup.
What changed
max_priority_fee_per_gasto the chain's fee-payer policy when building0x78envelopesxfails now that the live devnet behavior has changedWhy
eth_gasPriceintomax_priority_fee_per_gas, which exceeded the sponsor policy on chain1337xfails had become stale: wrong-memo rejection now fails earlier during payload validation, and auto-generated attribution memos now verify successfully when the server omits an explicit memoValidation
uv run ruff check src/mpp/methods/tempo/client.py tests/test_tempo.py tests/test_tempo_integration.pyuv run pyrightuv run pytest tests/test_tempo.py -vTEMPO_RPC_URL=http://localhost:8545 uv run pytest tests/test_tempo_integration.py -m integration -vIntegration result:
18 passed