Jacob Elias
d4382bfa19
feat: add multi call routing strategy ( #26 )
...
* feat: add multicall routing strategy
* Updated proxyd config to accept a routing strategy parameter
* Added multicall routing strategies
* Refactored backendGroup.Forward to handle multiple types of routing strategies
* Background.ForwardToBackend now will return results via a channel
2024-07-22 16:44:27 -05:00
Jacob Elias
1babca422e
feat: Improve updateBackend error handling and node banning logic ( #15 )
...
- Return early on network errors or invalid responses within updateBackend (e.g., zero block height)
- Prevent premature node banning
- Use existing sliding windows for node banning for unexpected tags or excessive network errors
2024-06-26 15:54:53 -05:00
Jacob Elias
82c9581727
feat: linting fixes
2024-06-11 14:34:44 -05:00
Jacob Elias
c2101a4fbb
v1 circle-ci configs for proxyd
2024-06-11 14:17:04 -05:00
Jacob Elias
cbcf9d3c3b
feat: misc logging improvements for fallback mode ( #10775 )
2024-06-10 20:04:47 +00:00
Jacob Elias
584322fced
feat: proxyd: enable consensus-proxyd be able to fallback to a different list of backends if the primary list is experiencing downtime. ( #10668 )
...
Co-authored-by: Jacob Elias <jacob@jacobs-apple-macbook-pro.phoenix-vibes.ts.net>
2024-06-04 23:19:54 +00:00
Hteev Oli
2f424fd5c6
proxyd: remove unused error ( #10444 )
2024-05-08 16:20:35 +00:00
dependabot[bot]
0a2c79cafa
build(deps): bump github.com/ethereum/go-ethereum in /proxyd ( #10413 )
...
Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum ) from 1.13.14 to 1.13.15.
- [Release notes](https://github.com/ethereum/go-ethereum/releases )
- [Commits](https://github.com/ethereum/go-ethereum/compare/v1.13.14...v1.13.15 )
---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 17:24:36 +00:00
Danyal Prout
f2e64d3c28
Update proxyd blacklist status to match geth not found status ( #10052 )
2024-04-17 02:42:13 +00:00
tdot
094edc4fc6
feat(proxyd): customise poller interval and enable cross origin check on web socket upgrader ( #10107 )
...
* feat: poller interval arg
* fix: websocket check origin
* fix: check origin behind flag
* fix: rename poller default interval
2024-04-11 22:07:16 +00:00
sellskin
3a1b2633bb
refactor: Optimize code by using built-in constants in the standard library ( #9963 )
...
Signed-off-by: sellskin <mydesk@yeah.net>
2024-04-09 16:54:15 +00:00
Roberto Bayardo
82b11f53b2
Update op-geth dependency to v1.101309.0-rc.2 ( #9935 )
...
* use updated op-geth
* update geth moar
* resource usage cleanup
* remove sleeping
* go: fix broken indirect dependency of github.com/kataras/iris/v12
* proxyd: update to geth v1.13.10
* proxyd: update to geth v1.13.14
* op-chain-ops: reduce diff, utilize chainID from caller to make Permit2 path use correct chainID during deployment
* op-chain-ops: L2 backend only, enable shanghai/canyon by default, fix doc comments
* op-chain-ops: simulator without L2 features, to support op-upgrade
---------
Co-authored-by: protolambda <proto@protolambda.com>
2024-04-04 02:15:15 +00:00
felipe
84a504dc39
feat(proxyd): ha redis namespace should be both backend group name and the namespace itself ( #9955 )
2024-03-25 18:10:11 +00:00
felipe
94c236b467
feat(proxyd): add smoke test ( #9875 )
2024-03-18 18:26:59 +00:00
felipe
fcf6e3323d
feat(proxyd): use a specific redis instance for consensus_ha ( #9877 )
2024-03-18 18:26:39 +00:00
dependabot[bot]
89cb5f5057
build(deps): bump google.golang.org/protobuf in /proxyd ( #9851 )
...
Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0.
---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 00:37:24 +00:00
felipe
08b38db217
fix(proxyd): log initialization ( #9785 )
...
* fix(proxyd): log initialization
* update integration test as well
2024-03-08 00:29:59 +00:00
felipe
f44f147313
feat(proxyd): change default cache ttl to 2 hours and make it configurable ( #9645 )
2024-02-23 21:58:00 +00:00
felipe
a6c9489376
feat(proxyd): improved consensus HA error reporting ( #9647 )
...
* feat(proxyd): improved consensus HA error reporting
* error metric should be a counter
2024-02-23 21:17:07 +00:00
Oak
97767bcfa3
fix: typo on cache_test eth_call ( #9462 )
2024-02-09 18:11:30 +00:00
Sebastian Stammler
6eaf7ee2b4
Update op-geth dependency to upstream geth v1.13.8 and migrate to slog ( #8917 )
...
* Update op-geth dependency (v1.13.8) & migrate to slog
* op-e2e: format system_test.go
* op-chain-ops/genesis: Ignore nil addresses in BuildL1DeveloperGenesis
* go: Update to latest op-geth
commit fb90ca39bc5c4f45e99ef320abfab85eeb56c561
* update latest op-geth dependency
* op-program,op-wheel: Use new StateDB.OpenStorageTrie
* all: fix more slog stuff after merging
* proxyd: update geth 1.13.8 & migrate to slog
* op-ufm: update monorepo dependency to prev commit
* testlog: Return pointer with FindLog
* genesis: Parse addresses from dump string keys in BuildL1DeveloperGenesis
* op-ufm: go mod tidy
* update to latest op-geth
* genesis: Update ForgeDump.UnmarshalJSON to latest geth types
* eth: Use hexutils.U256 instead of uint256.Int as type in ExecutionPayload
This fixes JSON mashaling.
* op-e2e: fix usage of legacy geth levels
* go: update latest op-geth dependency
* check-ecotone: adapt to field type change
* Resolve remaining TODOs
* op-program: remove json-pretty formatting option from test
* go: update to latest op-geth v1.101308.0-rc.1
* op-dispute-mon: Fix logger setup
* log: improve LevelFromString docs
* op-e2e/config: treat EthNodeVerbosity as legacy log level
* all: fix order of imports
2024-02-06 21:02:02 +00:00
dependabot[bot]
f635c50eb5
build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /proxyd ( #8674 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.17.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 23:59:12 +00:00
felipe
b1522ace51
feat(proxyd): impl proxyd_healthz method ( #8658 )
2023-12-18 18:58:18 +00:00
Raffaele
ca17102998
fix: resolving dependabot vulnerabilities. ( #8643 )
...
* resolving dependabot vulnerabilities.
setting go-ethereum v.1.13.5 everywhere and grpc to v1.56.3
* fixing sum sha
2023-12-15 22:46:37 +00:00
Joshua Gutow
55757dfacd
Aggregate typo fixes
2023-12-13 09:50:18 -08:00
Zach Howard
678577a389
proxyd: adds test case, docs for allowing pre-eip155 txns
2023-12-12 13:04:52 -05:00
Chomtana
a6a84c0078
fix: unmarshaling -> unmarshalling on other files
2023-12-11 23:06:56 +07:00
Matthew Slipper
e84a39a28f
proxyd: Delete bad test
...
This test was originally checking for a panic in the websocket code. However, we have since re-architected this code and have coverage for this issue elsewhere. Therefore, this test is now superfluous and can be removed. It causes a lot of spam in the logs, and makes debugging other tests harder.
2023-12-07 14:57:17 -07:00
felipe
fef2f0f965
Merge pull request #7977 from danyalprout/proxyd-weighting
...
feat(proxyd): add weighting feature to node selection
2023-11-11 09:56:01 +00:00
kaliubuntu0206
adb397c21b
proxyd: add example block range regulation params ( #8039 )
2023-11-11 01:54:25 -08:00
Danyal Prout
7175c46a00
feat(proxyd): ability to add additional headers to backend requests ( #8134 )
2023-11-11 01:52:09 -08:00
Danyal Prout
20dd9feaf7
Weighted shuffle list
2023-11-08 20:23:49 -06:00
Danyal Prout
2ac9981e00
Code review feedback
2023-11-05 20:07:39 -06:00
Danyal Prout
bd7bd24e66
Review feedback
2023-11-05 14:20:49 -06:00
Danyal Prout
a5a4a5108d
proxyd: add weighting feature to node selection
2023-11-05 14:20:49 -06:00
Danyal Prout
798878e455
proxyd: configurable IP rate limit header
2023-11-02 14:38:04 -05:00
Felipe Andrade
22b7237389
feat(proxyd): support eip-1898 in tag rewritting
2023-10-27 15:38:20 -07:00
protolambda
92058943d8
ops: buildx bake and fix ci docker publish/release
2023-10-25 16:00:26 +02:00
felipe
c4c88f4307
fix(proxyd): alpine version should be 3.18 ( #7781 )
2023-10-21 14:33:42 -07:00
Felipe Andrade
7abc329946
go get -u all
2023-10-21 14:20:10 -07:00
Matthew Slipper
4ed4ae99ba
proxyd: Handle oversize requests/backend responses
...
Under certain conditions, users could provide batch requests that cause the upstream Geth nodes to return very large responses. These responses were being handled improperly, and rather than returning an error were being truncated and leading to backends being marked as offline. This issue extended to large client requests as well.
This PR also enables `pprof` on proxyd, which was used to debug this problem.
2023-10-21 15:18:53 -06:00
Felipe Andrade
a064fe06c1
chore(proxyd): bump go to 1.21 and update dependencies
2023-10-21 13:22:29 -07:00
Danyal Prout
a3e2b12363
Remove space after comma
2023-10-19 21:02:12 -05:00
felipe andrade
2e2259a0d9
Merge pull request #7754 from ethereum-optimism/felipe/avoid-caching-empty-get-raw-receipts
...
feat(proxyd): avoid caching debug_getRawReceipts responses with 0 receipts
2023-10-19 20:50:30 +00:00
Felipe Andrade
fed302dd19
fix cache_test
2023-10-19 12:58:54 -07:00
Felipe Andrade
56df3a6892
add x-served-by header
2023-10-19 12:48:03 -07:00
Felipe Andrade
c82a9a08de
fix consensus tests
2023-10-19 12:32:39 -07:00
Felipe Andrade
7986edeb26
betterer tests
2023-10-19 11:46:24 -07:00
Felipe Andrade
ca70e3a37f
mod
2023-10-19 11:32:46 -07:00
Felipe Andrade
42b2f6db61
feat(proxyd): avoid caching debug_getRawReceipts responses with 0 receipts
2023-10-19 11:29:24 -07:00