22// SPDX-License-Identifier: Apache-2.0
33
44module bridge ::bridge ;
5+
56use bridge::chain_ids;
67use bridge::committee::{Self , BridgeCommittee };
78use 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
8788public 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