Skip to content

Commit 4e2af8c

Browse files
committed
Update bridge.move
1 parent 2e01732 commit 4e2af8c

File tree

1 file changed

+29
-105
lines changed
  • crates/sui-framework/packages/bridge/sources

1 file changed

+29
-105
lines changed

crates/sui-framework/packages/bridge/sources/bridge.move

Lines changed: 29 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
module bridge::bridge;
5+
56
use bridge::chain_ids;
67
use bridge::committee::{Self, BridgeCommittee};
78
use bridge::limiter::{Self, TransferLimiter};
@@ -81,7 +82,7 @@ public struct TokenDepositedEventV2 has copy, drop {
8182
target_address: vector<u8>,
8283
token_type: u8,
8384
amount: u64,
84-
timestamp: u64,
85+
timestamp_ms: u64,
8586
}
8687

8788
public struct EmergencyOpEvent has copy, drop {
@@ -199,11 +200,7 @@ public fun committee_registration(
199200
.register(system_state, bridge_pubkey_bytes, http_rest_url, ctx);
200201
}
201202

202-
public fun update_node_url(
203-
bridge: &mut Bridge,
204-
new_url: vector<u8>,
205-
ctx: &TxContext,
206-
) {
203+
public fun update_node_url(bridge: &mut Bridge, new_url: vector<u8>, ctx: &TxContext) {
207204
load_inner_mut(bridge).committee.update_node_url(new_url, ctx);
208205
}
209206

@@ -227,10 +224,7 @@ public fun send_token<T>(
227224
) {
228225
let inner = load_inner_mut(bridge);
229226
assert!(!inner.paused, EBridgeUnavailable);
230-
assert!(
231-
chain_ids::is_valid_route(inner.chain_id, target_chain),
232-
EInvalidBridgeRoute,
233-
);
227+
assert!(chain_ids::is_valid_route(inner.chain_id, target_chain), EInvalidBridgeRoute);
234228
assert!(target_address.length() == EVM_ADDRESS_LENGTH, EInvalidEvmAddress);
235229

236230
let bridge_seq_num = inner.get_current_seq_num_and_increment(
@@ -290,10 +284,7 @@ public fun send_token_v2<T>(
290284
) {
291285
let inner = load_inner_mut(bridge);
292286
assert!(!inner.paused, EBridgeUnavailable);
293-
assert!(
294-
chain_ids::is_valid_route(inner.chain_id, target_chain),
295-
EInvalidBridgeRoute,
296-
);
287+
assert!(chain_ids::is_valid_route(inner.chain_id, target_chain), EInvalidBridgeRoute);
297288
assert!(target_address.length() == EVM_ADDRESS_LENGTH, EInvalidEvmAddress);
298289

299290
let bridge_seq_num = inner.get_current_seq_num_and_increment(
@@ -355,14 +346,8 @@ public fun approve_token_transfer(
355346
// verify signatures
356347
inner.committee.verify_signatures(message, signatures);
357348

358-
assert!(
359-
message.message_type() == message_types::token(),
360-
EMustBeTokenMessage,
361-
);
362-
assert!(
363-
message.message_version() == MESSAGE_VERSION,
364-
EUnexpectedMessageVersion,
365-
);
349+
assert!(message.message_type() == message_types::token(), EMustBeTokenMessage);
350+
assert!(message.message_version() == MESSAGE_VERSION, EUnexpectedMessageVersion);
366351
let token_payload = message.extract_token_bridge_payload();
367352
let target_chain = token_payload.token_target_chain();
368353
assert!(
@@ -378,10 +363,7 @@ public fun approve_token_transfer(
378363
let record = &mut inner.token_transfer_records[message_key];
379364

380365
assert!(record.message == message, EMalformedMessageError);
381-
assert!(
382-
!record.claimed,
383-
EInvariantSuiInitializedTokenTransferShouldNotBeClaimed,
384-
);
366+
assert!(!record.claimed, EInvariantSuiInitializedTokenTransferShouldNotBeClaimed);
385367

386368
// If record already has verified signatures, it means the message has been approved
387369
// Then we exit early.
@@ -467,10 +449,7 @@ public fun execute_system_message(
467449
let message_type = message.message_type();
468450

469451
// TODO: test version mismatch
470-
assert!(
471-
message.message_version() == MESSAGE_VERSION,
472-
EUnexpectedMessageVersion,
473-
);
452+
assert!(message.message_version() == MESSAGE_VERSION, EUnexpectedMessageVersion);
474453
let inner = load_inner_mut(bridge);
475454

476455
assert!(message.source_chain() == inner.chain_id, EUnexpectedChainID);
@@ -508,11 +487,7 @@ public fun execute_system_message(
508487
//
509488

510489
#[allow(unused_function)]
511-
fun get_token_transfer_action_status(
512-
bridge: &Bridge,
513-
source_chain: u8,
514-
bridge_seq_num: u64,
515-
): u8 {
490+
fun get_token_transfer_action_status(bridge: &Bridge, source_chain: u8, bridge_seq_num: u64): u8 {
516491
let inner = load_inner(bridge);
517492
let key = message::create_key(
518493
source_chain,
@@ -597,28 +572,20 @@ fun claim_token_internal<T>(
597572
message_types::token(),
598573
bridge_seq_num,
599574
);
600-
assert!(
601-
inner.token_transfer_records.contains(key),
602-
EMessageNotFoundInRecords,
603-
);
575+
assert!(inner.token_transfer_records.contains(key), EMessageNotFoundInRecords);
604576

605577
// retrieve approved bridge message
606578
let record = &mut inner.token_transfer_records[key];
607579
// ensure this is a token bridge message
608-
assert!(
609-
&record.message.message_type() == message_types::token(),
610-
EUnexpectedMessageType,
611-
);
580+
assert!(&record.message.message_type() == message_types::token(), EUnexpectedMessageType);
612581
// Ensure it's signed
613582
assert!(record.verified_signatures.is_some(), EUnauthorisedClaim);
614583

615584
// extract token message
616585
let token_payload = record.message.extract_token_bridge_payload();
617586
let mut bypass_limiter = false;
618587
if (record.message.message_version() == 2) {
619-
let timestamp = record
620-
.message
621-
.extract_token_bridge_payload_v2_timestamp();
588+
let timestamp = record.message.extract_token_bridge_payload_v2_timestamp();
622589
// if token_payload.timestamp is within the last 48 hours, bypass the limiter
623590
if (clock.timestamp_ms() < timestamp + 48 * 3600000) {
624591
bypass_limiter = true;
@@ -691,10 +658,7 @@ fun execute_emergency_op(inner: &mut BridgeInner, payload: EmergencyOp) {
691658
};
692659
}
693660

694-
fun execute_update_bridge_limit(
695-
inner: &mut BridgeInner,
696-
payload: UpdateBridgeLimit,
697-
) {
661+
fun execute_update_bridge_limit(inner: &mut BridgeInner, payload: UpdateBridgeLimit) {
698662
let receiving_chain = payload.update_bridge_limit_payload_receiving_chain();
699663
assert!(receiving_chain == inner.chain_id, EUnexpectedChainID);
700664
let route = chain_ids::get_route(
@@ -710,10 +674,7 @@ fun execute_update_bridge_limit(
710674
)
711675
}
712676

713-
fun execute_update_asset_price(
714-
inner: &mut BridgeInner,
715-
payload: UpdateAssetPrice,
716-
) {
677+
fun execute_update_asset_price(inner: &mut BridgeInner, payload: UpdateAssetPrice) {
717678
inner
718679
.treasury
719680
.update_asset_notional_price(
@@ -730,31 +691,20 @@ fun execute_add_tokens_on_sui(inner: &mut BridgeInner, payload: AddTokenOnSui) {
730691
let mut token_prices = payload.token_prices();
731692

732693
// Make sure token data is consistent
733-
assert!(
734-
token_ids.length() == token_type_names.length(),
735-
EMalformedMessageError,
736-
);
737-
assert!(
738-
token_ids.length() == token_prices.length(),
739-
EMalformedMessageError,
740-
);
694+
assert!(token_ids.length() == token_type_names.length(), EMalformedMessageError);
695+
assert!(token_ids.length() == token_prices.length(), EMalformedMessageError);
741696

742697
while (token_ids.length() > 0) {
743698
let token_id = token_ids.pop_back();
744699
let token_type_name = token_type_names.pop_back();
745700
let token_price = token_prices.pop_back();
746-
inner
747-
.treasury
748-
.add_new_token(token_type_name, token_id, native_token, token_price)
701+
inner.treasury.add_new_token(token_type_name, token_id, native_token, token_price)
749702
}
750703
}
751704

752705
// Verify seq number matches the next expected seq number for the message type,
753706
// and increment it.
754-
fun get_current_seq_num_and_increment(
755-
bridge: &mut BridgeInner,
756-
msg_type: u8,
757-
): u64 {
707+
fun get_current_seq_num_and_increment(bridge: &mut BridgeInner, msg_type: u8): u64 {
758708
if (!bridge.sequence_nums.contains(&msg_type)) {
759709
bridge.sequence_nums.insert(msg_type, 1);
760710
return 0
@@ -793,11 +743,7 @@ fun get_parsed_token_transfer_message(
793743
//
794744

795745
#[test_only]
796-
public fun create_bridge_for_testing(
797-
id: UID,
798-
chain_id: u8,
799-
ctx: &mut TxContext,
800-
) {
746+
public fun create_bridge_for_testing(id: UID, chain_id: u8, ctx: &mut TxContext) {
801747
create(id, chain_id, ctx);
802748
}
803749

@@ -904,9 +850,7 @@ public fun inner_treasury(bridge_inner: &BridgeInner): &BridgeTreasury {
904850
}
905851

906852
#[test_only]
907-
public fun inner_treasury_mut(
908-
bridge_inner: &mut BridgeInner,
909-
): &mut BridgeTreasury {
853+
public fun inner_treasury_mut(bridge_inner: &mut BridgeInner): &mut BridgeTreasury {
910854
&mut bridge_inner.treasury
911855
}
912856

@@ -930,10 +874,7 @@ public fun inner_token_transfer_records_mut(
930874
}
931875

932876
#[test_only]
933-
public fun test_execute_emergency_op(
934-
bridge_inner: &mut BridgeInner,
935-
payload: EmergencyOp,
936-
) {
877+
public fun test_execute_emergency_op(bridge_inner: &mut BridgeInner, payload: EmergencyOp) {
937878
bridge_inner.execute_emergency_op(payload)
938879
}
939880

@@ -961,18 +902,12 @@ public fun test_get_current_seq_num_and_increment(
961902
}
962903

963904
#[test_only]
964-
public fun test_execute_update_bridge_limit(
965-
inner: &mut BridgeInner,
966-
payload: UpdateBridgeLimit,
967-
) {
905+
public fun test_execute_update_bridge_limit(inner: &mut BridgeInner, payload: UpdateBridgeLimit) {
968906
execute_update_bridge_limit(inner, payload)
969907
}
970908

971909
#[test_only]
972-
public fun test_execute_update_asset_price(
973-
inner: &mut BridgeInner,
974-
payload: UpdateAssetPrice,
975-
) {
910+
public fun test_execute_update_asset_price(inner: &mut BridgeInner, payload: UpdateAssetPrice) {
976911
execute_update_asset_price(inner, payload)
977912
}
978913

@@ -997,10 +932,7 @@ public fun transfer_status_not_found(): u8 {
997932
}
998933

999934
#[test_only]
1000-
public fun test_execute_add_tokens_on_sui(
1001-
bridge: &mut Bridge,
1002-
payload: AddTokenOnSui,
1003-
) {
935+
public fun test_execute_add_tokens_on_sui(bridge: &mut Bridge, payload: AddTokenOnSui) {
1004936
let inner = load_inner_mut(bridge);
1005937
inner.execute_add_tokens_on_sui(payload);
1006938
}
@@ -1024,9 +956,7 @@ public fun get_seq_num_inc_for(bridge: &mut Bridge, message_type: u8): u64 {
1024956
}
1025957

1026958
#[test_only]
1027-
public fun transfer_approve_key(
1028-
event: TokenTransferApproved,
1029-
): BridgeMessageKey {
959+
public fun transfer_approve_key(event: TokenTransferApproved): BridgeMessageKey {
1030960
event.message_key
1031961
}
1032962

@@ -1036,23 +966,17 @@ public fun transfer_claimed_key(event: TokenTransferClaimed): BridgeMessageKey {
1036966
}
1037967

1038968
#[test_only]
1039-
public fun transfer_already_approved_key(
1040-
event: TokenTransferAlreadyApproved,
1041-
): BridgeMessageKey {
969+
public fun transfer_already_approved_key(event: TokenTransferAlreadyApproved): BridgeMessageKey {
1042970
event.message_key
1043971
}
1044972

1045973
#[test_only]
1046-
public fun transfer_already_claimed_key(
1047-
event: TokenTransferAlreadyClaimed,
1048-
): BridgeMessageKey {
974+
public fun transfer_already_claimed_key(event: TokenTransferAlreadyClaimed): BridgeMessageKey {
1049975
event.message_key
1050976
}
1051977

1052978
#[test_only]
1053-
public fun transfer_limit_exceed_key(
1054-
event: TokenTransferLimitExceed,
1055-
): BridgeMessageKey {
979+
public fun transfer_limit_exceed_key(event: TokenTransferLimitExceed): BridgeMessageKey {
1056980
event.message_key
1057981
}
1058982

0 commit comments

Comments
 (0)