Skip to content

fix(core, bridge, sequencer)!: dismabiguate return addresses#1266

Merged
SuperFluffy merged 2 commits intomainfrom
superfluffy/rollup_return_address_into_memo
Jul 13, 2024
Merged

fix(core, bridge, sequencer)!: dismabiguate return addresses#1266
SuperFluffy merged 2 commits intomainfrom
superfluffy/rollup_return_address_into_memo

Conversation

@SuperFluffy
Copy link
Contributor

@SuperFluffy SuperFluffy commented Jul 12, 2024

Summary

Ensures that bridge-withdrawer does not use a rollup address as a sequencer refund address.

Background

Bridge-withdrawer was using an address on the ethereum rollup as the sequencer refund address in the actions it was submitting to sequencer. That was wrong.

Changes

  • add a field rollup_refund_address to Ibc20WithdrawalFromRollupMemo to make its purpose clear
  • In bridge-withdrawer, set refund_address to the bridge account always (refund_address and bridge_address are now the same).
  • Sequencer now assumes that for refunds of ics20 withdrawals initiated by a rollup FungibleToketPacketData.sender is now the bridge address to which funds should be refunded. This is consistent with the change above.
  • Remove field Ibc20WithdrawalFromRollupMemo.brigde_address as it is no longer necessary.

Testing

Tests were updated and pass. This patch relies on the tests exhaustively testing the ics20 logic.

Breaking Changelist

  • This change is network-breaking because Ibc20WithdrawalFromRollupMemo is used in Sequencer's protocol.

@github-actions github-actions bot added the sequencer pertaining to the astria-sequencer crate label Jul 12, 2024
@SuperFluffy SuperFluffy changed the title fix(core, bridge, sequencer)!: separate rollup and sequencer return a… fix(core, bridge, sequencer)!: dismabiguate return addresses Jul 12, 2024
@SuperFluffy SuperFluffy marked this pull request as ready for review July 12, 2024 19:37
@SuperFluffy SuperFluffy requested review from a team, joroshiba and noot as code owners July 12, 2024 19:37
Copy link
Contributor

@noot noot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice, this looks great!

@SuperFluffy SuperFluffy added this pull request to the merge queue Jul 13, 2024
Merged via the queue into main with commit bb41dc4 Jul 13, 2024
@SuperFluffy SuperFluffy deleted the superfluffy/rollup_return_address_into_memo branch July 13, 2024 08:04
steezeburger added a commit that referenced this pull request Jul 15, 2024
* main:
  feat(cli): add cmd to collect withdrawal events and submit as actions (#1261)
  fix(core, bridge, sequencer)!: dismabiguate return addresses (#1266)
  fix(withdrawer): support withdrawer address that differs from bridge address   (#1262)
  (core, sequencer)!: generate serde traits impls for all protocol protobufs (#1260)
  fix(charts): add resources for sequencer/cometbft (#1254)
  chore(sequencer)!: add metrics (#1248)
  fix(sequencer-utils): fixes issue in `parse_blob` tests (#1243)
  feat(core, proto)!: make bridge unlock memo string (#1244)
  fix(conductor): don't panic during panic (#1252)
  feat(core)!: lowerCamelCase for protobuf json mapping (#1250)
  refactor(bridge-withdrawer)!: refactor startup to a separate subtask and remove balance check from startup (#1190)
  fix: rollup archive node configurations (#1249)
  refactor(core, bridge-withdrawer)!: move bridge-unlock memo to core (#1245)
  fix(sequencer)!: store native asset ibc->trace mapping in init_chain (#1242)
steezeburger added a commit that referenced this pull request Jul 19, 2024
* main: (24 commits)
  chore: update `bytes` and `ics23` crates (#1279)
  fix(sequencer): improve and fix instrumentation (#1255)
  feature(charts): hermes chart fixes, bech32 updates, ibc bridge test (#1130)
  chore(cli): remove unused rollup cli code (#1275)
  chore(test): use a temporary file to not pollute the workspace (#1269)
  chore(sequencer): add mempool benchmarks (#1238)
  fix(bridge-withdrawer)!: fix nonce handling (#1215)
  feat(cli, bridge-withdrawer)!: share code between cli and service (#1270)
  feat(cli): add cmd to collect withdrawal events and submit as actions (#1261)
  fix(core, bridge, sequencer)!: dismabiguate return addresses (#1266)
  fix(withdrawer): support withdrawer address that differs from bridge address   (#1262)
  (core, sequencer)!: generate serde traits impls for all protocol protobufs (#1260)
  fix(charts): add resources for sequencer/cometbft (#1254)
  chore(sequencer)!: add metrics (#1248)
  fix(sequencer-utils): fixes issue in `parse_blob` tests (#1243)
  feat(core, proto)!: make bridge unlock memo string (#1244)
  fix(conductor): don't panic during panic (#1252)
  feat(core)!: lowerCamelCase for protobuf json mapping (#1250)
  refactor(bridge-withdrawer)!: refactor startup to a separate subtask and remove balance check from startup (#1190)
  fix: rollup archive node configurations (#1249)
  ...
bharath-123 pushed a commit that referenced this pull request Jul 25, 2024
## Summary
Ensures that bridge-withdrawer does not use a rollup address as a
sequencer refund address.

## Background
Bridge-withdrawer was using an address on the ethereum rollup as the
sequencer refund address in the actions it was submitting to sequencer.
That was wrong.

## Changes
- add a field `rollup_refund_address` to `Ibc20WithdrawalFromRollupMemo`
to make its purpose clear
- In bridge-withdrawer, set `refund_address` to the bridge account
always (`refund_address` and `bridge_address` are now the same).
- Sequencer now assumes that for refunds of ics20 withdrawals initiated
by a rollup `FungibleToketPacketData.sender` is now the bridge address
to which funds should be refunded. This is consistent with the change
above.
- Remove field `Ibc20WithdrawalFromRollupMemo.brigde_address` as it is
no longer necessary.

## Testing
Tests were updated and pass. This patch relies on the tests exhaustively
testing the ics20 logic.

## Breaking Changelist
- This change is network-breaking because
`Ibc20WithdrawalFromRollupMemo` is used in Sequencer's protocol.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sequencer pertaining to the astria-sequencer crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants