Skip to content

Incorrect contractAddress field in transaction receipts #125

@ozwaldorf

Description

@ozwaldorf

Describe the bug

Currently when deploying a contract with a tempo transaction and a passkey, the returned contract address is incorrect in the transaction receipt. Doesn't matter how the contract is deployed; manually with ox and send raw transaction, using viem's deployContract, or manually with sendTransaction.

On tempo, the deployed address is computed from the signer and nonce + 1 instead of just the signer and its current nonce (reverse engineered the off-by-one error). Currently the RPC returns the contractAddress computed from what would be correct on ethereum, however trying to interact with the contract fails due to it being deployed on the next address, instead of the current one

Steps to reproduce

  1. Deploy a contract
  2. Observe the contract address in the transaction receipt, it is empty on the explorer as well as eth_getCode
  3. Manually compute the next contract address (nonce + 1 at the time of deployment) and observe both the explorer and eth_getCode correctly shows the deployment

What version/commit are you on?

Not important as I believe this is an upstream bug in the testnet.

Code of Conduct

  • I agree to follow the Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions