# Scope
## Problem
`Gnosis` withdrawals mechanism differs from the `Ethereum` one because `ERC20 GNO` token used for staking.
=> Withdrawals are implemented by internal contract execution on EC side:
e.g. Erigon:
```go
// See https://github.com/gnosischain/specs/blob/master/execution/withdrawals.md
func (c *AuRa) ExecuteSystemWithdrawals(withdrawals []*types.Withdrawal, syscall consensus.SystemCall) error {
if c.cfg.WithdrawalContractAddress == nil {
return nil
}
amounts := make([]uint64, 0, len(withdrawals))
addresses := make([]libcommon.Address, 0, len(withdrawals))
for _, w := range withdrawals {
amounts = append(amounts, w.Amount)
addresses = append(addresses, w.Address)
}
packed, err := withdrawalAbi().Pack("executeSystemWithdrawals", amounts, addresses)
if err != nil {
return err
}
_, err = syscall(*c.cfg.WithdrawalContractAddress, packed)
return err
}
```
As such execution creates no transaction receipts It breaks `ERC20` standard compliance as such transfer events will be not presented in network state. It may possibly affect tools and protocols that rely on transaction receipts and logs related to `GNO` token.
Such behaviour may create `'shadow'` accounts that are not presented in holders lists but hold `GNO`.
## Probable impacted systems :
#### Indexers, Block Explorers and Every tool that use circulation supply
-- List of `GNO` holders on `Chiado` [blockscout](https://blockscout.com/gnosis/chiado/token/0x19C653Da7c37c66208fbfbE8908A5051B57b4C70/token-holders)
-- GnosisDAO proposals [snapshots](https://snapshot.org/#/gnosis.eth) will not count abstain `GNO` on shadow accounts
-- Voting threshold is based on circulation supply
#### Dune
-- Queries and dashboards that threat `GNO` as other`ERC20`s may provide unproper results
e.g. [GNO-Holders-Snapshot](https://dune.com/gnosis.protocol/GNO-Holders-Snapshot)
#### Tellor Oracle Protocol
[link](https://tellor.io/); [Feeds specs](https://github.com/tellor-io/dataSpecs/tree/main/types)
-- **[CrossChainBalance](https://github.com/tellor-io/crosschainBalances/tree/main)** data feed [provides](https://github.com/tellor-io/crosschainBalances/blob/main/src/Snapshot.js#L41) data for accounts list based on trasfer events
#### Also there are couple of proprietary systems that have alerts/event interaction
e.g. [https://www.curvegrid.com/](https://www.curvegrid.com/)