Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func QueueEVMKnownStaleAccounts ¶
func QueueEVMKnownStaleAccounts(batch *storage.QueryBatch, chainName common.ChainName, runtime common.Runtime, round uint64, logger *log.Logger) error
QueueEVMKnownStaleAccounts queues (known-to-be stale) account lists at specific heights for native token balance update.
At the moment, these lists were manually obtained at rounds soon after Eden genesis, to mitigate the following issues: - runtimes used to not emit Transfer events for FEE payments
- therefore we are unable to dead-reckon these balances, as fee payment was missed
- oasis-sdk runtimes used to not emit Transfer events for Reward and Fee disbursements
- therefore there exist accounts that have received native balance, but if they never submitted any transactions then Nexus is unaware of them
These were fixed sometime during Damask, but for simplicity we take the list of accounts at (or soon after) Eden genesis, which possibly contains a few additional accounts that were not effected by the above issues and are instead incorrect due to unknown Nexus bugs.
This list also helps partially mitigating the issue of accounts that have only ever interacted within internal EVM transactions (e.g. transfers within evm.Call). This is an ongoing issue where Nexus cannot known about the existence of these accounts as Nexus is unable to simulate EVM transactions. With these lists we at least know about all such accounts at Eden genesis time.
Types ¶
This section is empty.