1

I plan to deploy a contract on an EVM-compatible network at a specific, predetermined address. I intend to use Gnosis's pre-signed transaction in safe-global/safe-singleton-factory repository to deploy the contract.

Unfortunately, I made a mistake by sending a token to the same address before deploying the contract. As a result, the blockchain is displaying the address as an externally owned account (EOA) rather than a contract address. Here is an example of how the address should appear, but it is currently being displayed as an EOA.

I have sent a POST request to verify the example mentioned above, and the result seems satisfactory.

POST Request to https://api.test.wemix.com
{
    "method": "eth_getCode",
    "params": ["0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", "latest"],
    "id": 1,
    "jsonrpc": "2.0"
}
Result (cf. How to detect if an address is a contract?)
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3"
}

Questions are:

  1. Does transferring tokens to a non-existent address on an EVM network result in the creation of an Externally Owned Account? Is the case in the example truly an EOA? Could it be a possibility that the Contract Account is displayed as an Externally Owned Account due to a bug in the Explorer?
  2. Is it possible to convert a Contract Address (CA) to an Externally Owned Account (EOA) in this particular situation?
  3. Are there any potential problems associated with this situation, and if so, what are the possible solutions? (For reference, deploying the factory to a different address will not be a viable solution as the addresses will not match the ones expected in safe-deployments.)

1 Answer 1

0

Does transferring tokens to a non-existent address on an EVM network result in the creation of an Externally Owned Account?

No, the token contract which contains the balances doesn't care what type of account the destination address is and vice versa.

Is the case in the example truly an EOA?

If the RPC API says that there's code deployed at the address, it's not an EOA.

Could it be a possibility that the Contract Account is displayed as an Externally Owned Account due to a bug in the Explorer?

Absolutely.

Is it possible to convert a Contract Address (CA) to an Externally Owned Account (EOA) in this particular situation?

No, EVM doesn't allow that.

Are there any potential problems associated with this situation

There shouldn't be any

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.