Nomad Docs
Search
K

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 calls improperUpdate)
  • 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 process
  • 200k for prove
  • 1.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