Skip to content

Moderato ZoneFactory deploys legacy ZonePortal ABI #464

@0xrouss

Description

@0xrouss

Describe the bug

The shared Moderato ZoneFactory appears to deploy legacy ZonePortal contracts, while current tempoxyz/zones expects the post-#355 deposit-counter ABI.

Shared factory:

0x7Cc496Dc634b718289c192b59CF90262C5228545

Example portal:

0x9Dc5718593B748DD25f4B62E4512C7f63b75b54F

The deployed portal uses:

DepositMade(bytes32,address,address,address,uint128,uint128,bytes32)
submitBatch(uint64,uint64,(bytes32,bytes32),(bytes32,bytes32),bytes32,bytes,bytes)

Current repo expects:

DepositMade(bytes32,address,address,address,uint128,uint128,bytes32,uint64)
submitBatch(uint64,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),bytes32,bytes,bytes)

This mismatch makes current clients fail to decode deposits and submit batches unless they add legacy compatibility.

Relevant upstream change:

a1620eb spec: add deposit counter for transparent deposit confirmation (#355)

Steps to reproduce

  1. Create a zone through the shared Moderato factory.
  2. Query the created portal:
cast call 0x9Dc5718593B748DD25f4B62E4512C7f63b75b54F \
    'depositCount()(uint64)' \
    --rpc-url https://rpc.moderato.tempo.xyz

This reverts.

cast call 0x9Dc5718593B748DD25f4B62E4512C7f63b75b54F \
    'lastProcessedDepositNumber()(uint64)' \
    --rpc-url https://rpc.moderato.tempo.xyz

This reverts.

  1. Submit a deposit and inspect the log. It emits the legacy DepositMade topic, not the current one.

Logs

Legacy deployed portal:

DepositMade legacy topic:
0x75ab26fe3a392fb5f2259a165dc4027a5144ecdd47f538d708c27d7d3623f28c

legacy submitBatch selector:
0x11473119

Current ABI:

DepositMade with depositNumber topic:
0xec2f811591aa51cef3f39e6402ca7ba60afb89b368e11f9fcfb2f228b53446fd

current submitBatch selector:
0x0d0c743e

Platform(s)

Linux (x86)

Container Type

Not running in a container

What version/commit are you on?

Local fork

If you've built from source, provide the full command you used

No response

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions