dymensionxyz / e2e-tests

Dymension e2e tests
25 stars 11 forks source link

[E2E Test] Genesis transfers: RA users cannot use reserved fungible packet memo #257

Closed danwt closed 2 months ago

danwt commented 3 months ago

Test Case Type

New

DRS

EVM

Target Milestone

3D

Test Case Issue link

No response

Epic

genesis-bridge

Test Case Description

When I create a new rollapp, I will specify genesis accounts in the genesis file. After registering the rollapp and sequencer on the hub, then I can open a relayer Hub->RA. After some time, the genesis transfers will arrive on the Hub An event will be emitted https://github.com/dymensionxyz/dymension/blob/6a54cf642d61f894231b1f5a7294ec4abc688154/x/rollapp/types/events.go#L23 The bridge will be open for transfers To/From

At ANY time, the RA will reject user transactions which include an ibc transfer memo containing a 'genesis_transfer' json field https://github.com/dymensionxyz/dymension-rdk/blob/59e9c329ee33ca63587b9496ae50c076cdd5ea72/x/hub-genesis/keeper/memo.go#L13-L20 ANY on chain code/contract, except the hubgenesis module, are also prevented from sending such a memo

Preconditions

Hub and rollapp are up and running, and registered sequencer and rollapp on Hub Rollapp contains correct genesis data IBC path is being relayed

Test Steps

Create Hub Create RA with genesis accounts in genesis Start relayer connection Hub->RA Submit transaction containing banned memo

Expected Results

TX is rejected

Live Test

Comments

    There are three relevant PRs which need to land before this test can be done
    https://github.com/dymensionxyz/dymension/pull/933
    https://github.com/dymensionxyz/dymension-rdk/pull/449
    https://github.com/dymensionxyz/rollapp-evm/pull/279
    The tests must be run with the new Hub
    New functionality should be tested with the new rollapp evm
    Existing functionality (may) be backwards-compat tested with the new hub and the old rollapp evm
    Ask Dan at Dymension for any questions
    IMPORTANT: you SHOULD read the protocol overview here https://github.com/dymensionxyz/dymension/blob/67a424ea0886dc99a9d890f4308c65347bc9daa0/x/rollapp/transfergenesis/doc.go#L1-L11
    Additionally, see here for an example rollapp genesis file https://pastebin.com/ji0PiTKW,
        and this PR diff for an understanding of changes to the rollapp setup steps https://github.com/dymensionxyz/rollapp-evm/pull/279/files#diff-2238c8f2eb7e6ce10c76e9d98719c4d2c2913c70d6a19c40b2487ef5019c6eb7
    I have not ticked 'live test', but it would be good. Would require Hub upgrade.