optimism
optimism copied to clipboard
txmgr: admin rpc
We should add an admin rpc to the txmgr to help debugging and fixing tx submission issues. Some ideas
getPendingTxs()- would returntxHash, nonce,status, timestamp, size (data or blob), type, sender, to, data/blob (only optionally by parameter), full encoded tx (optional, ready to be used bycast publish), gas fields, and the auxiliary attributes (tbd, like channel id), ...cancelSend(nonce)- immediately drop all pending txs for the given nonce. TBD what happens to all higher nonces?- getters and setters for gas configs and other params
- threshold
- min base fee, prio fee, blob fee
- retry & bump times
- any other parameters?
@sebastianst a few questions:
- should we implement a way to call the geth json rpc method
txpool_contentto retrieve pending txs or are you thinking that we should track pending txs in-memory (i.e. we could add apendingTxsmapnonce --> txto theSimpleTxManagerstruct)? - Are you expecting the methods you mentioned (e.g.
getPendingTxs()andcancelSend(nonce)) to be accessible, after abstraction layers, through (a) cli commands, (b) json rpc requests, or (c) a different way?- Edit: Seems like we probably want to add
admin_*methods to the json rpc server on theop-proposer,op-challenger. Those two services already haveadminapi namespaces. Should we also add anadminapi to theop-nodeand add the same methods? It doesn't look like theop-nodecurrently has aTxMgr🤔
- Edit: Seems like we probably want to add
@bitwiseguy
- this is only about locally pending txs in the txmgr, not what's in the remote L1's tx pool
- This is about adding json-rpcs in the
admin_*namespace. This should be done in a reusable way in thetxmgrpackage so that other services that use it can add it to their admin ns. Theop-nodedoesn't send txs, so it doesn't have a txmgr. Only the batcher, proposer, and challenger have a txmgr.
we will try to close this one out in Cycle 10.