You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`--network``-n`|`TQ_ORACLE_NETWORK`|`network`|`"mainnet"`| Network to report on (`mainnet`, `sepolia`, `base`) |
70
+
|`--block-number`|`TQ_ORACLE_BLOCK_NUMBER`|`block_number`| Latest block | Block number to snapshot vault state |
71
+
|`--vault-rpc`|`TQ_ORACLE_VAULT_RPC`|`vault_rpc`| Network default | RPC endpoint for the selected vault network |
72
+
|`--dry-run/--no-dry-run`|`TQ_ORACLE_DRY_RUN`|`dry_run`|`true`| Preview report without submitting a Safe transaction |
73
+
|`--ignore-empty-vault/--require-nonempty-vault`|`TQ_ORACLE_IGNORE_EMPTY_VAULT`|`ignore_empty_vault`|`false`| Skip failure when vault holds zero assets |
74
+
|`--ignore-timeout-check/--enforce-timeout-check/--enforce-timeout-check`|`TQ_ORACLE_IGNORE_TIMEOUT_CHECK`|`ignore_timeout_check`|`false`| Skip minimum interval guard between reports |
75
+
|`--ignore-active-proposal-check/--enforce-active-proposal-check/--enforce-active-proposal-check`|`TQ_ORACLE_IGNORE_ACTIVE_PROPOSAL_CHECK`|`ignore_active_proposal_check`|`false`| Skip duplicate active proposal guard |
-**Dry-run on mainnet**: Preview report generation without submitting to chain
154
-
-**Custom subvault**: Specify Hyperliquid subvault address for cross-chain asset tracking
155
154
-**Testnet execution**: Run against testnet with Safe multi-sig for testing
156
155
-**Pre-deployment testing**: Test with empty vaults using ignore flags
157
156
@@ -177,20 +176,20 @@ src/tq_oracle/
177
176
Before processing TVL data, TQ Oracle runs automated pre-flight validation checks to ensure data integrity:
178
177
179
178
-**Safe State Validation**: Ensures no duplicate or pending reports exist
180
-
-**CCTP Bridge Detection**: Identifies in-flight USDC transfers between L1 and Hyperliquid
181
179
-**Check Retry Logic**: Automatically retries failed checks with exponential backoff when recommended
180
+
-**CCTP Bridge Detection***(disabled)*: Re-enable via the checklist when cross-chain monitoring is required
182
181
183
-
These checks prevent race conditions and ensure accurate TVL snapshots by detecting ongoing cross-chain transfers that could affect asset balances.
182
+
These checks prevent race conditions and ensure accurate TVL snapshots by detecting ongoing cross-chain transfers that could affect asset balances. You can bypass individual guards when needed via the CLI flags `--ignore-empty-vault`, `--ignore-timeout-check/--enforce-timeout-check`, and `--ignore-active-proposal-check/--enforce-active-proposal-check`.
184
183
185
184
### Testing CCTP Bridge Detection
186
185
187
-
A standalone test script is available in `scripts/check_cctp_inflight.py`to verify CCTP bridge in-flight detection with L1 and Hyperliquid subvault addresses.
186
+
A standalone test script is available in `scripts/check_cctp_inflight.py`and can be used once the CCTP integration is re-enabled.
188
187
189
188
## Adding New Adapters
190
189
191
190
### Asset Adapters
192
191
193
-
Asset adapters fetch asset holdings from specific protocols (e.g., Hyperliquid, Aave, Lido).
192
+
Asset adapters fetch asset holdings from specific protocols (e.g., Aave, Lido).
194
193
195
194
Quick overview:
196
195
@@ -223,8 +222,9 @@ Price validators cross-check prices from the main price adapters against referen
223
222
5.**Write unit tests** in `tests/adapters/price_validators/`
224
223
225
224
Validators respect tolerance thresholds configured in `settings.py`:
Use this checklist when you are ready to ship Hyperliquid support and the CCTP pre-check again. Work through every section before exposing the functionality.
4
+
5
+
## 1. Dependencies
6
+
7
+
-[ ] Add the hyperliquid sdk back to `pyproject.toml` and run **uv sync** to update `uv.lock`.
8
+
-[ ] Confirm RPC providers and API endpoints for the target Hyperliquid environment(s).
0 commit comments