|
1 | 1 | window.BENCHMARK_DATA = { |
2 | | - "lastUpdate": 1784630511536, |
| 2 | + "lastUpdate": 1784661516489, |
3 | 3 | "repoUrl": "https://github.com/dojoengine/katana", |
4 | 4 | "entries": { |
5 | 5 | "Benchmark": [ |
@@ -37262,6 +37262,342 @@ window.BENCHMARK_DATA = { |
37262 | 37262 | "unit": "ns/iter" |
37263 | 37263 | } |
37264 | 37264 | ] |
| 37265 | + }, |
| 37266 | + { |
| 37267 | + "commit": { |
| 37268 | + "author": { |
| 37269 | + "email": "evergreenkary@gmail.com", |
| 37270 | + "name": "Ammar Arif", |
| 37271 | + "username": "kariy" |
| 37272 | + }, |
| 37273 | + "committer": { |
| 37274 | + "email": "noreply@github.com", |
| 37275 | + "name": "GitHub", |
| 37276 | + "username": "web-flow" |
| 37277 | + }, |
| 37278 | + "distinct": true, |
| 37279 | + "id": "678ba9d7c10ab79af2ede488586d00aa15085927", |
| 37280 | + "message": "feat(starknet): honor `HTTP(S)_PROXY` env vars in outbound JSON-RPC clients (#643)\n\nAdds a reqwest-backed implementation of jsonrpsee's `ClientT` trait\n(`katana_starknet::http::HttpClient`) and makes it the default transport\nfor `StarknetRpcClient` and the RPC server's `PaymasterProxy`, so all\noutbound JSON-RPC connections (forking, full-node sync, messaging, TEE,\nbootstrap, paymaster forwarding) honor the standard proxy environment\nvariables like the rest of katana's reqwest/alloy clients already do.\n\n## Proxy environment variables\n\n`HTTPS_PROXY` is the de-facto standard way to route a process's outbound\ntraffic through a forward proxy — needed in environments without direct\negress, e.g. corporate networks or sandboxed/TEE VMs. Katana now reads:\n\n| Variable | Effect |\n| --- | --- |\n| `HTTPS_PROXY` | Proxy for `https://` targets. The client opens an HTTP\n`CONNECT` tunnel through the proxy and runs TLS end-to-end inside it, so\nthe proxy never sees plaintext. |\n| `HTTP_PROXY` | Proxy for plain `http://` targets (requests are\nforwarded in absolute-form). |\n| `NO_PROXY` | Comma-separated hosts/domains/CIDRs that must connect\ndirectly. |\n\nLowercase variants (`https_proxy`, …) are also recognized. Values are\nread when a client is constructed, i.e. at node startup. Example:\n\n```sh\nHTTPS_PROXY=http://proxy.internal:3128 katana --forking.provider https://api.cartridge.gg/x/starknet/mainnet\n```\n\n**Loopback bypass:** targets on `localhost`/`127.0.0.1`/`::1` always\nconnect directly, even with a proxy configured — local sidecars\n(paymaster, VRF) and dev/test flows keep working without users having to\nmaintain a `NO_PROXY` entry.\n\n**Not covered:** SOCKS proxies and OS-level proxy settings (macOS System\nSettings / Windows registry); only the environment variables are read.\nSee `docs/proxy.md` for the full write-up.\n\n## Why a new transport\n\njsonrpsee's hyper-based `HttpClient` hardcodes its connector and has no\nproxy support, so the jsonrpsee-built clients were the only ones in\nkatana that ignored these variables. The new transport mirrors\njsonrpsee's wire format, request-id checking, and error-variant\nsemantics, so `StarknetApiError` mapping and retry classification are\nunchanged; the WebSocket client and localhost-only helpers stay on\njsonrpsee.\n\nCovered by 9 new tests, including proxy routing through a mock forward\nproxy (asserting absolute-form forwarding) and loopback bypass.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>", |
| 37281 | + "timestamp": "2026-07-21T14:44:16-04:00", |
| 37282 | + "tree_id": "f45511b30e3bbcc23ac822376ca184b8858f67c5", |
| 37283 | + "url": "https://github.com/dojoengine/katana/commit/678ba9d7c10ab79af2ede488586d00aa15085927" |
| 37284 | + }, |
| 37285 | + "date": 1784661514742, |
| 37286 | + "tool": "cargo", |
| 37287 | + "benches": [ |
| 37288 | + { |
| 37289 | + "name": "CompiledClass(fixture)/compress", |
| 37290 | + "value": 2650651, |
| 37291 | + "range": "± 136671", |
| 37292 | + "unit": "ns/iter" |
| 37293 | + }, |
| 37294 | + { |
| 37295 | + "name": "CompiledClass(fixture)/decompress", |
| 37296 | + "value": 2816910, |
| 37297 | + "range": "± 18206", |
| 37298 | + "unit": "ns/iter" |
| 37299 | + }, |
| 37300 | + { |
| 37301 | + "name": "ExecutionCheckpoint/compress", |
| 37302 | + "value": 32, |
| 37303 | + "range": "± 5", |
| 37304 | + "unit": "ns/iter" |
| 37305 | + }, |
| 37306 | + { |
| 37307 | + "name": "ExecutionCheckpoint/decompress", |
| 37308 | + "value": 24, |
| 37309 | + "range": "± 8", |
| 37310 | + "unit": "ns/iter" |
| 37311 | + }, |
| 37312 | + { |
| 37313 | + "name": "PruningCheckpoint/compress", |
| 37314 | + "value": 33, |
| 37315 | + "range": "± 5", |
| 37316 | + "unit": "ns/iter" |
| 37317 | + }, |
| 37318 | + { |
| 37319 | + "name": "PruningCheckpoint/decompress", |
| 37320 | + "value": 23, |
| 37321 | + "range": "± 9", |
| 37322 | + "unit": "ns/iter" |
| 37323 | + }, |
| 37324 | + { |
| 37325 | + "name": "VersionedHeader/compress", |
| 37326 | + "value": 638, |
| 37327 | + "range": "± 45", |
| 37328 | + "unit": "ns/iter" |
| 37329 | + }, |
| 37330 | + { |
| 37331 | + "name": "VersionedHeader/decompress", |
| 37332 | + "value": 823, |
| 37333 | + "range": "± 21", |
| 37334 | + "unit": "ns/iter" |
| 37335 | + }, |
| 37336 | + { |
| 37337 | + "name": "StoredBlockBodyIndices/compress", |
| 37338 | + "value": 76, |
| 37339 | + "range": "± 6", |
| 37340 | + "unit": "ns/iter" |
| 37341 | + }, |
| 37342 | + { |
| 37343 | + "name": "StoredBlockBodyIndices/decompress", |
| 37344 | + "value": 34, |
| 37345 | + "range": "± 8", |
| 37346 | + "unit": "ns/iter" |
| 37347 | + }, |
| 37348 | + { |
| 37349 | + "name": "StorageEntry/compress", |
| 37350 | + "value": 136, |
| 37351 | + "range": "± 1", |
| 37352 | + "unit": "ns/iter" |
| 37353 | + }, |
| 37354 | + { |
| 37355 | + "name": "StorageEntry/decompress", |
| 37356 | + "value": 138, |
| 37357 | + "range": "± 3", |
| 37358 | + "unit": "ns/iter" |
| 37359 | + }, |
| 37360 | + { |
| 37361 | + "name": "ContractNonceChange/compress", |
| 37362 | + "value": 138, |
| 37363 | + "range": "± 1", |
| 37364 | + "unit": "ns/iter" |
| 37365 | + }, |
| 37366 | + { |
| 37367 | + "name": "ContractNonceChange/decompress", |
| 37368 | + "value": 236, |
| 37369 | + "range": "± 3", |
| 37370 | + "unit": "ns/iter" |
| 37371 | + }, |
| 37372 | + { |
| 37373 | + "name": "ContractClassChange/compress", |
| 37374 | + "value": 182, |
| 37375 | + "range": "± 3", |
| 37376 | + "unit": "ns/iter" |
| 37377 | + }, |
| 37378 | + { |
| 37379 | + "name": "ContractClassChange/decompress", |
| 37380 | + "value": 251, |
| 37381 | + "range": "± 4", |
| 37382 | + "unit": "ns/iter" |
| 37383 | + }, |
| 37384 | + { |
| 37385 | + "name": "ContractStorageEntry/compress", |
| 37386 | + "value": 148, |
| 37387 | + "range": "± 3", |
| 37388 | + "unit": "ns/iter" |
| 37389 | + }, |
| 37390 | + { |
| 37391 | + "name": "ContractStorageEntry/decompress", |
| 37392 | + "value": 311, |
| 37393 | + "range": "± 4", |
| 37394 | + "unit": "ns/iter" |
| 37395 | + }, |
| 37396 | + { |
| 37397 | + "name": "GenericContractInfo/compress", |
| 37398 | + "value": 130, |
| 37399 | + "range": "± 7", |
| 37400 | + "unit": "ns/iter" |
| 37401 | + }, |
| 37402 | + { |
| 37403 | + "name": "GenericContractInfo/decompress", |
| 37404 | + "value": 101, |
| 37405 | + "range": "± 5", |
| 37406 | + "unit": "ns/iter" |
| 37407 | + }, |
| 37408 | + { |
| 37409 | + "name": "Felt/compress", |
| 37410 | + "value": 68, |
| 37411 | + "range": "± 6", |
| 37412 | + "unit": "ns/iter" |
| 37413 | + }, |
| 37414 | + { |
| 37415 | + "name": "Felt/decompress", |
| 37416 | + "value": 51, |
| 37417 | + "range": "± 6", |
| 37418 | + "unit": "ns/iter" |
| 37419 | + }, |
| 37420 | + { |
| 37421 | + "name": "BlockHash/compress", |
| 37422 | + "value": 68, |
| 37423 | + "range": "± 7", |
| 37424 | + "unit": "ns/iter" |
| 37425 | + }, |
| 37426 | + { |
| 37427 | + "name": "BlockHash/decompress", |
| 37428 | + "value": 52, |
| 37429 | + "range": "± 5", |
| 37430 | + "unit": "ns/iter" |
| 37431 | + }, |
| 37432 | + { |
| 37433 | + "name": "TxHash/compress", |
| 37434 | + "value": 68, |
| 37435 | + "range": "± 1", |
| 37436 | + "unit": "ns/iter" |
| 37437 | + }, |
| 37438 | + { |
| 37439 | + "name": "TxHash/decompress", |
| 37440 | + "value": 52, |
| 37441 | + "range": "± 4", |
| 37442 | + "unit": "ns/iter" |
| 37443 | + }, |
| 37444 | + { |
| 37445 | + "name": "ClassHash/compress", |
| 37446 | + "value": 68, |
| 37447 | + "range": "± 2", |
| 37448 | + "unit": "ns/iter" |
| 37449 | + }, |
| 37450 | + { |
| 37451 | + "name": "ClassHash/decompress", |
| 37452 | + "value": 51, |
| 37453 | + "range": "± 3", |
| 37454 | + "unit": "ns/iter" |
| 37455 | + }, |
| 37456 | + { |
| 37457 | + "name": "CompiledClassHash/compress", |
| 37458 | + "value": 68, |
| 37459 | + "range": "± 6", |
| 37460 | + "unit": "ns/iter" |
| 37461 | + }, |
| 37462 | + { |
| 37463 | + "name": "CompiledClassHash/decompress", |
| 37464 | + "value": 52, |
| 37465 | + "range": "± 4", |
| 37466 | + "unit": "ns/iter" |
| 37467 | + }, |
| 37468 | + { |
| 37469 | + "name": "BlockNumber/compress", |
| 37470 | + "value": 30, |
| 37471 | + "range": "± 2", |
| 37472 | + "unit": "ns/iter" |
| 37473 | + }, |
| 37474 | + { |
| 37475 | + "name": "BlockNumber/decompress", |
| 37476 | + "value": 24, |
| 37477 | + "range": "± 0", |
| 37478 | + "unit": "ns/iter" |
| 37479 | + }, |
| 37480 | + { |
| 37481 | + "name": "TxNumber/compress", |
| 37482 | + "value": 30, |
| 37483 | + "range": "± 2", |
| 37484 | + "unit": "ns/iter" |
| 37485 | + }, |
| 37486 | + { |
| 37487 | + "name": "TxNumber/decompress", |
| 37488 | + "value": 24, |
| 37489 | + "range": "± 0", |
| 37490 | + "unit": "ns/iter" |
| 37491 | + }, |
| 37492 | + { |
| 37493 | + "name": "FinalityStatus/compress", |
| 37494 | + "value": 1, |
| 37495 | + "range": "± 0", |
| 37496 | + "unit": "ns/iter" |
| 37497 | + }, |
| 37498 | + { |
| 37499 | + "name": "FinalityStatus/decompress", |
| 37500 | + "value": 10, |
| 37501 | + "range": "± 2", |
| 37502 | + "unit": "ns/iter" |
| 37503 | + }, |
| 37504 | + { |
| 37505 | + "name": "TypedTransactionExecutionInfo/compress", |
| 37506 | + "value": 17772, |
| 37507 | + "range": "± 121", |
| 37508 | + "unit": "ns/iter" |
| 37509 | + }, |
| 37510 | + { |
| 37511 | + "name": "TypedTransactionExecutionInfo/decompress", |
| 37512 | + "value": 3604, |
| 37513 | + "range": "± 89", |
| 37514 | + "unit": "ns/iter" |
| 37515 | + }, |
| 37516 | + { |
| 37517 | + "name": "VersionedContractClass/compress", |
| 37518 | + "value": 435, |
| 37519 | + "range": "± 131", |
| 37520 | + "unit": "ns/iter" |
| 37521 | + }, |
| 37522 | + { |
| 37523 | + "name": "VersionedContractClass/decompress", |
| 37524 | + "value": 786, |
| 37525 | + "range": "± 8", |
| 37526 | + "unit": "ns/iter" |
| 37527 | + }, |
| 37528 | + { |
| 37529 | + "name": "MigratedCompiledClassHash/compress", |
| 37530 | + "value": 136, |
| 37531 | + "range": "± 8", |
| 37532 | + "unit": "ns/iter" |
| 37533 | + }, |
| 37534 | + { |
| 37535 | + "name": "MigratedCompiledClassHash/decompress", |
| 37536 | + "value": 141, |
| 37537 | + "range": "± 4", |
| 37538 | + "unit": "ns/iter" |
| 37539 | + }, |
| 37540 | + { |
| 37541 | + "name": "ContractInfoChangeList/compress", |
| 37542 | + "value": 1421, |
| 37543 | + "range": "± 24", |
| 37544 | + "unit": "ns/iter" |
| 37545 | + }, |
| 37546 | + { |
| 37547 | + "name": "ContractInfoChangeList/decompress", |
| 37548 | + "value": 2168, |
| 37549 | + "range": "± 386", |
| 37550 | + "unit": "ns/iter" |
| 37551 | + }, |
| 37552 | + { |
| 37553 | + "name": "BlockChangeList/compress", |
| 37554 | + "value": 627, |
| 37555 | + "range": "± 103", |
| 37556 | + "unit": "ns/iter" |
| 37557 | + }, |
| 37558 | + { |
| 37559 | + "name": "BlockChangeList/decompress", |
| 37560 | + "value": 871, |
| 37561 | + "range": "± 155", |
| 37562 | + "unit": "ns/iter" |
| 37563 | + }, |
| 37564 | + { |
| 37565 | + "name": "ReceiptEnvelope/compress", |
| 37566 | + "value": 28317, |
| 37567 | + "range": "± 725", |
| 37568 | + "unit": "ns/iter" |
| 37569 | + }, |
| 37570 | + { |
| 37571 | + "name": "ReceiptEnvelope/decompress", |
| 37572 | + "value": 6027, |
| 37573 | + "range": "± 269", |
| 37574 | + "unit": "ns/iter" |
| 37575 | + }, |
| 37576 | + { |
| 37577 | + "name": "TrieDatabaseValue/compress", |
| 37578 | + "value": 165, |
| 37579 | + "range": "± 2", |
| 37580 | + "unit": "ns/iter" |
| 37581 | + }, |
| 37582 | + { |
| 37583 | + "name": "TrieDatabaseValue/decompress", |
| 37584 | + "value": 234, |
| 37585 | + "range": "± 1", |
| 37586 | + "unit": "ns/iter" |
| 37587 | + }, |
| 37588 | + { |
| 37589 | + "name": "TrieHistoryEntry/compress", |
| 37590 | + "value": 288, |
| 37591 | + "range": "± 2", |
| 37592 | + "unit": "ns/iter" |
| 37593 | + }, |
| 37594 | + { |
| 37595 | + "name": "TrieHistoryEntry/decompress", |
| 37596 | + "value": 261, |
| 37597 | + "range": "± 10", |
| 37598 | + "unit": "ns/iter" |
| 37599 | + } |
| 37600 | + ] |
37265 | 37601 | } |
37266 | 37602 | ] |
37267 | 37603 | } |
|
0 commit comments