Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 6 additions & 10 deletions crates/astria-bridge-contracts/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ where
.ok_or_else(|| GetWithdrawalActionsError::log_without_block_number(&log))?
.as_u64();

let rollup_transaction_hash = log
let rollup_withdrawal_event_id = log
.transaction_hash
.ok_or_else(|| GetWithdrawalActionsError::log_without_transaction_hash(&log))?
.to_string();
Expand All @@ -400,7 +400,7 @@ where
memo: event.memo.clone(),
rollup_block_number,
rollup_return_address: event.sender.to_string(),
rollup_transaction_hash,
rollup_withdrawal_event_id,
})
.map_err(GetWithdrawalActionsError::encode_memo)?;

Expand Down Expand Up @@ -433,20 +433,14 @@ where
.ok_or_else(|| GetWithdrawalActionsError::log_without_block_number(&log))?
.as_u64();

let rollup_transaction_hash = log
let rollup_withdrawal_event_id = log
.transaction_hash
.ok_or_else(|| GetWithdrawalActionsError::log_without_transaction_hash(&log))?
.to_string();

let event = decode_log::<SequencerWithdrawalFilter>(log)
.map_err(GetWithdrawalActionsError::decode_log)?;

let memo = memo_to_json(&memos::v1alpha1::BridgeUnlock {
rollup_block_number,
rollup_transaction_hash,
})
.map_err(GetWithdrawalActionsError::encode_memo)?;

let amount = calculate_amount(&event, self.asset_withdrawal_divisor)
.map_err(GetWithdrawalActionsError::calculate_withdrawal_amount)?;

Expand All @@ -456,7 +450,9 @@ where
let action = astria_core::protocol::transaction::v1alpha1::action::BridgeUnlockAction {
to,
amount,
memo,
rollup_block_number,
rollup_withdrawal_event_id,
memo: String::new(),
fee_asset: self.fee_asset.clone(),
bridge_address: self.bridge_address,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -461,11 +461,7 @@ fn rollup_height_from_signed_transaction(
.ok_or_eyre("last transaction by the bridge account did not contain a withdrawal action")?;

let last_batch_rollup_height = match withdrawal_action {
Action::BridgeUnlock(action) => {
let memo: memos::v1alpha1::BridgeUnlock = serde_json::from_str(&action.memo)
.wrap_err("failed to parse memo from last transaction by the bridge account")?;
Some(memo.rollup_block_number)
}
Action::BridgeUnlock(action) => Some(action.rollup_block_number),
Action::Ics20Withdrawal(action) => {
let memo: memos::v1alpha1::Ics20WithdrawalFromRollup =
serde_json::from_str(&action.memo)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@ use astria_core::{
},
protocol::{
bridge::v1alpha1::BridgeAccountLastTxHashResponse,
memos::v1alpha1::{
BridgeUnlock,
Ics20WithdrawalFromRollup,
},
memos::v1alpha1::Ics20WithdrawalFromRollup,
transaction::v1alpha1::{
action::{
BridgeUnlockAction,
Expand Down Expand Up @@ -423,11 +420,9 @@ pub fn make_bridge_unlock_action(receipt: &TransactionReceipt) -> Action {
let inner = BridgeUnlockAction {
to: default_sequencer_address(),
amount: 1_000_000u128,
memo: serde_json::to_string(&BridgeUnlock {
rollup_block_number: receipt.block_number.unwrap().as_u64(),
rollup_transaction_hash: receipt.transaction_hash.to_string(),
})
.unwrap(),
rollup_block_number: receipt.block_number.unwrap().as_u64(),
rollup_withdrawal_event_id: receipt.transaction_hash.to_string(),
memo: String::new(),
fee_asset: denom,
bridge_address: default_bridge_address(),
};
Expand All @@ -448,7 +443,7 @@ pub fn make_ics20_withdrawal_action(receipt: &TransactionReceipt) -> Action {
memo: "nootwashere".to_string(),
rollup_return_address: receipt.from.to_string(),
rollup_block_number: receipt.block_number.unwrap().as_u64(),
rollup_transaction_hash: receipt.transaction_hash.to_string(),
rollup_withdrawal_event_id: receipt.transaction_hash.to_string(),
})
.unwrap(),
fee_asset: denom,
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading