Agent Gas Values
Context
Gas estimation is hard. eth_estimateGas
calls have historically caused our agents many issues across different RPC providers and networks. Given that we now have a reasonable dataset on how much gas is needed for different contract methods, we are moving to custom-coding our gas limits using estimates from previous gas usage data.
Standard EVM
Home
Update
- Take average limit for one message (50k) and double base to 100k
- Each additional message dequeued is ~5k gas so double that cost to 10k per message
100k + (num_messages * 10k)
Improper Update:
- Subset of
update
gas (update
callsimproperUpdate
) - Using same estimation as
update
100k + (num_messages * 10k)
DoubleUpdate:
- Signature check is ~
50k
- Double that for two signature checks in double update
100k
- Double total for safety to
200k
Replica
Update
70k
on average- Double that to
140k
(constant)
Prove
100k
on average- Double that to
200k
(constant since merkle proofs always same size)
Process
- Minimum
850k
required - Double minimum to
1.7M
ProveAndProcess
1.7M
for process200k
for prove1.9M
total
DoubleUpdate:
- Signature check is ~
50k
- Double that for two signature checks in double update
100k
- Double total for safety to
200k
XAppConnectionManager
UnenrollReplica:
60k
average- Double that to
120k
OwnerUnenrollReplica:
- Cheaper version of normal
unenrollReplica
without signature check - Use same estimate of
120k