Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SendRawTransactionConditional: remove reference to authentication #1086

Merged
merged 1 commit into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions pages/builders/chain-operators/tools/op-txproxy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,6 @@ A [passthrough proxy](https://github.com/ethereum-optimism/infra/tree/main/op-tx
To safely expose this endpoint publicly, additional stateless constraints are applied. These constraints help scale validation rules horizontally and preemptively reject conditional transactions before they reach the sequencer.

Various metrics are emitted to guide necessary adjustments.
#### Authentication

The caller authenticates using any valid ECDSA-secp256k1 key, such as an Ethereum key. The signature is computed over the [EIP-191](https://eips.ethereum.org/EIPS/eip-191) hash of the request body. The calling address does **not need to hold an Ethereum balance**; it is simply used for identification.

With the signature and signing address, the request is authenticated under the `X-Optimism-Signature` header with the value `<public key address>: <signature>`.

* Requests with a missing authentication header fail with the `-32003` (transaction rejected) json rpc error code.
* Requests with a mismatch in recovered signer and supplied public key will have the http request failed with status code `400 - Bad Request`.

Currently, no authorization policies are implemented on this endpoint. However, the authentication mechanism is in place to allow for future implementation of policies such as allowlists, localized rate limits, and other potential restrictions.
#### Runtime shutoff

This service can be configured with a flag or environment variable to reject conditional transactions without needing to interrupt the execution engine. This feature is useful for diagnosing issues.
Expand Down Expand Up @@ -59,7 +49,6 @@ When the request passes validation, it is passed through to the configured backe

`--sendRawTxConditional.backend ($OP_TXPROXY_SENDRAWTXCONDITIONAL_BACKENDS)`


<Callout type="warning">
Per the [specification](/stack/features/send-raw-transaction-conditional), conditional transactions are not gossiped between peers. Thus, if you use replicas in an active/passive sequencer setup, this request must be broadcasted to all replicas.

Expand Down
2 changes: 1 addition & 1 deletion pages/builders/tools/build/account-abstraction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import { Callout } from 'nextra/components'

The OP Stack includes support for the `eth_sendRawTransactionConditional` RPC method to assist bundlers on shared 4337 mempools. See the [specification](/stack/features/send-raw-transaction-conditional) for how this method is implemented in op-geth.

If enabled by the chain operator, also see the supplemental [op-txproxy](/builders/chain-operators/tools/op-txproxy) service, if applied, as this enforces request authentication for this method.
If used by the chain operator, also see the supplemental [op-txproxy](/builders/chain-operators/tools/op-txproxy) service which may apply additional restrictions prior to reaching the block builder.

<Callout type="info">
As of today, this endpoint is not enabled by default in the stack. The operator must explicitly configure this.
Expand Down
Loading