Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(auth): extract validation to weight signers and proof #140

Merged
merged 58 commits into from
Sep 17, 2024

Conversation

npty
Copy link
Member

@npty npty commented Sep 12, 2024

@npty npty self-assigned this Sep 12, 2024
Copy link
Contributor

github-actions bot commented Sep 12, 2024

Code Coverage Summary

Click to see the summary
Coverage report for module ./move/abi/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a0::abi
>>> % Module coverage: 96.38
+-------------------------+
| % Move Coverage: 96.38  |
+-------------------------+

Coverage report for module ./move/axelar_gateway/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a1::weighted_signer
>>> % Module coverage: 92.31
Module 00000000000000000000000000000000000000000000000000000000000000a1::bytes32
>>> % Module coverage: 66.67
Module 00000000000000000000000000000000000000000000000000000000000000a1::weighted_signers
>>> % Module coverage: 83.33
Module 00000000000000000000000000000000000000000000000000000000000000a1::proof
>>> % Module coverage: 29.59
Module 00000000000000000000000000000000000000000000000000000000000000a1::auth
>>> % Module coverage: 44.68
Module 00000000000000000000000000000000000000000000000000000000000000a1::channel
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a1::discovery
>>> % Module coverage: 57.95
Module 00000000000000000000000000000000000000000000000000000000000000a1::message
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a1::gateway
>>> % Module coverage: 58.40
+-------------------------+
| % Move Coverage: 62.50  |
+-------------------------+


 NO tests found for module ./move/example/. Skipped.

Coverage report for module ./move/gas_service/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a2::gas_service
>>> % Module coverage: 100.00
+-------------------------+
| % Move Coverage: 100.00  |
+-------------------------+

Coverage report for module ./move/governance/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a3::governance
>>> % Module coverage: 100.00
+-------------------------+
| % Move Coverage: 100.00  |
+-------------------------+


 NO tests found for module ./move/interchain_token/. Skipped.

Coverage report for module ./move/its/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a5::address_tracker
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a5::utils
>>> % Module coverage: 93.98
Module 00000000000000000000000000000000000000000000000000000000000000a5::coin_info
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a5::flow_limit
>>> % Module coverage: 13.93
Module 00000000000000000000000000000000000000000000000000000000000000a5::coin_management
>>> % Module coverage: 82.32
Module 00000000000000000000000000000000000000000000000000000000000000a5::token_id
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a5::trusted_addresses
>>> % Module coverage: 90.91
Module 00000000000000000000000000000000000000000000000000000000000000a5::its
>>> % Module coverage: 65.33
Module 00000000000000000000000000000000000000000000000000000000000000a5::discovery
>>> % Module coverage: 81.67
Module 00000000000000000000000000000000000000000000000000000000000000a5::service
>>> % Module coverage: 99.02
+-------------------------+
| % Move Coverage: 84.12  |
+-------------------------+

Coverage report for module ./move/operators/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a4::operators
>>> % Module coverage: 96.58
+-------------------------+
| % Move Coverage: 96.58  |
+-------------------------+

Coverage report for module ./move/squid/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a6::coin_bag
>>> % Module coverage: 95.72
Module 00000000000000000000000000000000000000000000000000000000000000a6::swap_info
>>> % Module coverage: 97.31
Module 00000000000000000000000000000000000000000000000000000000000000a6::squid
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a6::deepbook_v3
>>> % Module coverage: 46.03
Module 00000000000000000000000000000000000000000000000000000000000000a6::transfers
>>> % Module coverage: 0.00
Module 00000000000000000000000000000000000000000000000000000000000000a6::discovery
>>> % Module coverage: 0.00
+-------------------------+
| % Move Coverage: 43.02  |
+-------------------------+

Coverage report for module ./move/utils/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a7::utils
>>> % Module coverage: NaN
+-------------------------+
| % Move Coverage: NaN  |
+-------------------------+

Click to see the extended report
Coverage report for module ./move/abi/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a0::abi
	fun append_bytes
		total: 38
		covered: 35
		% coverage: 92.11
	fun append_u256
		total: 29
		covered: 29
		% coverage: 100.00
	fun decode_bytes
		total: 35
		covered: 35
		% coverage: 100.00
	fun into_bytes
		total: 4
		covered: 4
		% coverage: 100.00
	fun into_remaining_bytes
		total: 5
		covered: 0
		% coverage: 0.00
	fun new_reader
		total: 5
		covered: 5
		% coverage: 100.00
	fun new_writer
		total: 23
		covered: 23
		% coverage: 100.00
	fun read_bytes
		total: 27
		covered: 27
		% coverage: 100.00
	fun read_u256
		total: 39
		covered: 39
		% coverage: 100.00
	fun read_u8
		total: 4
		covered: 0
		% coverage: 0.00
	fun read_vector_bytes
		total: 58
		covered: 58
		% coverage: 100.00
	fun read_vector_u256
		total: 46
		covered: 46
		% coverage: 100.00
	fun skip_slot
		total: 9
		covered: 9
		% coverage: 100.00
	fun write_bytes
		total: 19
		covered: 19
		% coverage: 100.00
	fun write_u256
		total: 44
		covered: 44
		% coverage: 100.00
	fun write_u8
		total: 5
		covered: 0
		% coverage: 0.00
	fun write_vector_bytes
		total: 44
		covered: 44
		% coverage: 100.00
	fun write_vector_u256
		total: 36
		covered: 36
		% coverage: 100.00
>>> % Module coverage: 96.38
+-------------------------+
| % Move Coverage: 96.38  |
+-------------------------+

Coverage report for module ./move/axelar_gateway/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a1::weighted_signer
	fun default
		total: 10
		covered: 10
		% coverage: 100.00
	fun lt
		total: 54
		covered: 54
		% coverage: 100.00
	fun new
		total: 12
		covered: 10
		% coverage: 83.33
	fun peel
		total: 10
		covered: 10
		% coverage: 100.00
	fun pub_key
		total: 4
		covered: 0
		% coverage: 0.00
	fun validate
		total: 10
		covered: 8
		% coverage: 80.00
	fun weight
		total: 4
		covered: 4
		% coverage: 100.00
>>> % Module coverage: 92.31
Module 00000000000000000000000000000000000000000000000000000000000000a1::bytes32
	fun default
		total: 3
		covered: 0
		% coverage: 0.00
	fun from_address
		total: 3
		covered: 0
		% coverage: 0.00
	fun from_bytes
		total: 4
		covered: 4
		% coverage: 100.00
	fun length
		total: 2
		covered: 0
		% coverage: 0.00
	fun new
		total: 3
		covered: 3
		% coverage: 100.00
	fun peel
		total: 4
		covered: 4
		% coverage: 100.00
	fun to_bytes
		total: 5
		covered: 5
		% coverage: 100.00
>>> % Module coverage: 66.67
Module 00000000000000000000000000000000000000000000000000000000000000a1::weighted_signers
	fun hash
		total: 7
		covered: 7
		% coverage: 100.00
	fun nonce
		total: 4
		covered: 0
		% coverage: 0.00
	fun peel
		total: 48
		covered: 44
		% coverage: 91.67
	fun signers
		total: 3
		covered: 0
		% coverage: 0.00
	fun threshold
		total: 4
		covered: 0
		% coverage: 0.00
	fun total_weight
		total: 32
		covered: 32
		% coverage: 100.00
	fun validate
		total: 5
		covered: 5
		% coverage: 100.00
	fun validate_signers
		total: 59
		covered: 49
		% coverage: 83.05
	fun validate_threshold
		total: 24
		covered: 18
		% coverage: 75.00
>>> % Module coverage: 83.33
Module 00000000000000000000000000000000000000000000000000000000000000a1::proof
	fun find_weight_by_pub_key_from
		total: 49
		covered: 0
		% coverage: 0.00
	fun new_signature
		total: 11
		covered: 9
		% coverage: 81.82
	fun peel
		total: 45
		covered: 45
		% coverage: 100.00
	fun peel_signature
		total: 4
		covered: 4
		% coverage: 100.00
	fun recover_pub_key
		total: 6
		covered: 0
		% coverage: 0.00
	fun signatures
		total: 3
		covered: 0
		% coverage: 0.00
	fun signers
		total: 3
		covered: 0
		% coverage: 0.00
	fun validate
		total: 75
		covered: 0
		% coverage: 0.00
>>> % Module coverage: 29.59
Module 00000000000000000000000000000000000000000000000000000000000000a1::auth
	fun new
		total: 9
		covered: 0
		% coverage: 0.00
	fun rotate_signers
		total: 30
		covered: 30
		% coverage: 100.00
	fun setup
		total: 16
		covered: 16
		% coverage: 100.00
	fun update_rotation_timestamp
		total: 31
		covered: 17
		% coverage: 54.84
	fun validate_proof
		total: 55
		covered: 0
		% coverage: 0.00
>>> % Module coverage: 44.68
Module 00000000000000000000000000000000000000000000000000000000000000a1::channel
	fun consume_approved_message
		total: 20
		covered: 20
		% coverage: 100.00
	fun create_approved_message
		total: 7
		covered: 7
		% coverage: 100.00
	fun destroy
		total: 10
		covered: 10
		% coverage: 100.00
	fun id
		total: 3
		covered: 3
		% coverage: 100.00
	fun new
		total: 10
		covered: 10
		% coverage: 100.00
	fun to_address
		total: 3
		covered: 3
		% coverage: 100.00
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a1::discovery
	fun get_transaction
		total: 16
		covered: 12
		% coverage: 75.00
	fun init
		total: 7
		covered: 0
		% coverage: 0.00
	fun new_function
		total: 5
		covered: 5
		% coverage: 100.00
	fun new_function_from_bcs
		total: 10
		covered: 10
		% coverage: 100.00
	fun new_move_call
		total: 5
		covered: 5
		% coverage: 100.00
	fun new_move_call_from_bcs
		total: 45
		covered: 45
		% coverage: 100.00
	fun new_transaction
		total: 4
		covered: 0
		% coverage: 0.00
	fun new_transaction_from_bcs
		total: 41
		covered: 0
		% coverage: 0.00
	fun package_id
		total: 11
		covered: 0
		% coverage: 0.00
	fun peel_type
		total: 13
		covered: 11
		% coverage: 84.62
	fun register_transaction
		total: 19
		covered: 14
		% coverage: 73.68
>>> % Module coverage: 57.95
Module 00000000000000000000000000000000000000000000000000000000000000a1::message
	fun command_id
		total: 8
		covered: 8
		% coverage: 100.00
	fun hash
		total: 7
		covered: 7
		% coverage: 100.00
	fun message_to_command_id
		total: 14
		covered: 14
		% coverage: 100.00
	fun new
		total: 7
		covered: 7
		% coverage: 100.00
	fun peel
		total: 25
		covered: 25
		% coverage: 100.00
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a1::gateway
	fun approve_message
		total: 22
		covered: 22
		% coverage: 100.00
	fun approve_messages
		total: 52
		covered: 0
		% coverage: 0.00
	fun borrow
		total: 5
		covered: 5
		% coverage: 100.00
	fun borrow_mut
		total: 5
		covered: 5
		% coverage: 100.00
	fun call_contract
		total: 11
		covered: 0
		% coverage: 0.00
	fun data_hash
		total: 10
		covered: 10
		% coverage: 100.00
	fun init
		total: 8
		covered: 0
		% coverage: 0.00
	fun is_message_approved
		total: 19
		covered: 19
		% coverage: 100.00
	fun is_message_executed
		total: 11
		covered: 11
		% coverage: 100.00
	fun peel_messages
		total: 62
		covered: 62
		% coverage: 100.00
	fun rotate_signers
		total: 84
		covered: 0
		% coverage: 0.00
	fun setup
		total: 53
		covered: 47
		% coverage: 88.68
	fun take_approved_message
		total: 45
		covered: 45
		% coverage: 100.00
>>> % Module coverage: 58.40
+-------------------------+
| % Move Coverage: 62.50  |
+-------------------------+


 NO tests found for module ./move/example/. Skipped.

Coverage report for module ./move/gas_service/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a2::gas_service
	fun add_gas
		total: 14
		covered: 14
		% coverage: 100.00
	fun collect_gas
		total: 12
		covered: 12
		% coverage: 100.00
	fun init
		total: 13
		covered: 13
		% coverage: 100.00
	fun pay_gas
		total: 21
		covered: 21
		% coverage: 100.00
	fun refund
		total: 13
		covered: 13
		% coverage: 100.00
>>> % Module coverage: 100.00
+-------------------------+
| % Move Coverage: 100.00  |
+-------------------------+

Coverage report for module ./move/governance/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a3::governance
	fun authorize_upgrade
		total: 53
		covered: 53
		% coverage: 100.00
	fun commit_upgrade
		total: 8
		covered: 8
		% coverage: 100.00
	fun is_cap_new
		total: 9
		covered: 9
		% coverage: 100.00
	fun is_governance
		total: 17
		covered: 17
		% coverage: 100.00
	fun new
		total: 34
		covered: 34
		% coverage: 100.00
	fun take_upgrade_cap
		total: 9
		covered: 9
		% coverage: 100.00
>>> % Module coverage: 100.00
+-------------------------+
| % Move Coverage: 100.00  |
+-------------------------+


 NO tests found for module ./move/interchain_token/. Skipped.

Coverage report for module ./move/its/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a5::address_tracker
	fun get_trusted_address
		total: 15
		covered: 15
		% coverage: 100.00
	fun is_trusted_address
		total: 6
		covered: 6
		% coverage: 100.00
	fun new
		total: 4
		covered: 4
		% coverage: 100.00
	fun set_trusted_address
		total: 37
		covered: 37
		% coverage: 100.00
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a5::utils
	fun decode_metadata
		total: 41
		covered: 41
		% coverage: 100.00
	fun get_module_from_symbol
		total: 84
		covered: 84
		% coverage: 100.00
	fun hash_coin_info
		total: 13
		covered: 0
		% coverage: 0.00
	fun is_lowercase
		total: 15
		covered: 15
		% coverage: 100.00
	fun is_number
		total: 15
		covered: 15
		% coverage: 100.00
	fun is_uppercase
		total: 15
		covered: 15
		% coverage: 100.00
	fun pow
		total: 33
		covered: 33
		% coverage: 100.00
>>> % Module coverage: 93.98
Module 00000000000000000000000000000000000000000000000000000000000000a5::coin_info
	fun decimals
		total: 4
		covered: 4
		% coverage: 100.00
	fun from_info
		total: 7
		covered: 7
		% coverage: 100.00
	fun from_metadata
		total: 11
		covered: 11
		% coverage: 100.00
	fun metadata
		total: 3
		covered: 3
		% coverage: 100.00
	fun name
		total: 4
		covered: 4
		% coverage: 100.00
	fun remote_decimals
		total: 4
		covered: 4
		% coverage: 100.00
	fun scaling
		total: 10
		covered: 10
		% coverage: 100.00
	fun symbol
		total: 4
		covered: 4
		% coverage: 100.00
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a5::flow_limit
	fun add_flow_in
		total: 42
		covered: 0
		% coverage: 0.00
	fun add_flow_out
		total: 42
		covered: 11
		% coverage: 26.19
	fun new
		total: 6
		covered: 6
		% coverage: 100.00
	fun set_flow_limit
		total: 5
		covered: 0
		% coverage: 0.00
	fun update_epoch
		total: 27
		covered: 0
		% coverage: 0.00
>>> % Module coverage: 13.93
Module 00000000000000000000000000000000000000000000000000000000000000a5::coin_management
	fun add_distributor
		total: 14
		covered: 10
		% coverage: 71.43
	fun add_operator
		total: 5
		covered: 0
		% coverage: 0.00
	fun burn
		total: 7
		covered: 7
		% coverage: 100.00
	fun give_coin
		total: 45
		covered: 45
		% coverage: 100.00
	fun has_capability
		total: 4
		covered: 4
		% coverage: 100.00
	fun is_distributor
		total: 6
		covered: 6
		% coverage: 100.00
	fun mint
		total: 7
		covered: 7
		% coverage: 100.00
	fun new_locked
		total: 10
		covered: 10
		% coverage: 100.00
	fun new_with_cap
		total: 10
		covered: 10
		% coverage: 100.00
	fun set_flow_limit
		total: 20
		covered: 0
		% coverage: 0.00
	fun set_scaling
		total: 5
		covered: 5
		% coverage: 100.00
	fun take_coin
		total: 31
		covered: 31
		% coverage: 100.00
>>> % Module coverage: 82.32
Module 00000000000000000000000000000000000000000000000000000000000000a5::token_id
	fun from_address
		total: 3
		covered: 3
		% coverage: 100.00
	fun from_coin_data
		total: 31
		covered: 31
		% coverage: 100.00
	fun from_info
		total: 37
		covered: 37
		% coverage: 100.00
	fun from_u256
		total: 4
		covered: 4
		% coverage: 100.00
	fun to_u256
		total: 5
		covered: 5
		% coverage: 100.00
	fun unregistered_token_id
		total: 13
		covered: 13
		% coverage: 100.00
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a5::trusted_addresses
	fun destroy
		total: 3
		covered: 3
		% coverage: 100.00
	fun peel
		total: 19
		covered: 17
		% coverage: 89.47
>>> % Module coverage: 90.91
Module 00000000000000000000000000000000000000000000000000000000000000a5::its
	fun add_registered_coin
		total: 18
		covered: 18
		% coverage: 100.00
	fun add_registered_coin_type
		total: 6
		covered: 6
		% coverage: 100.00
	fun add_unregistered_coin
		total: 14
		covered: 14
		% coverage: 100.00
	fun add_unregistered_coin_type
		total: 6
		covered: 6
		% coverage: 100.00
	fun channel
		total: 3
		covered: 3
		% coverage: 100.00
	fun channel_address
		total: 4
		covered: 0
		% coverage: 0.00
	fun channel_id
		total: 4
		covered: 4
		% coverage: 100.00
	fun channel_mut
		total: 3
		covered: 3
		% coverage: 100.00
	fun coin_management_mut
		total: 6
		covered: 6
		% coverage: 100.00
	fun get_coin_data
		total: 15
		covered: 11
		% coverage: 73.33
	fun get_coin_data_mut
		total: 15
		covered: 0
		% coverage: 0.00
	fun get_coin_info
		total: 5
		covered: 5
		% coverage: 100.00
	fun get_coin_scaling
		total: 4
		covered: 0
		% coverage: 0.00
	fun get_registered_coin_type
		total: 15
		covered: 11
		% coverage: 73.33
	fun get_trusted_address
		total: 6
		covered: 6
		% coverage: 100.00
	fun get_unregistered_coin_type
		total: 19
		covered: 15
		% coverage: 78.95
	fun init
		total: 35
		covered: 0
		% coverage: 0.00
	fun is_trusted_address
		total: 6
		covered: 6
		% coverage: 100.00
	fun relayer_discovery_id
		total: 4
		covered: 4
		% coverage: 100.00
	fun remove_registered_coin_type_for_testing
		total: 5
		covered: 0
		% coverage: 0.00
	fun remove_unregistered_coin
		total: 14
		covered: 14
		% coverage: 100.00
	fun remove_unregistered_coin_type
		total: 5
		covered: 5
		% coverage: 100.00
	fun set_relayer_discovery_id
		total: 6
		covered: 6
		% coverage: 100.00
	fun set_trusted_address
		total: 6
		covered: 6
		% coverage: 100.00
	fun set_trusted_addresses
		total: 30
		covered: 30
		% coverage: 100.00
	fun token_decimals
		total: 5
		covered: 0
		% coverage: 0.00
	fun token_name
		total: 5
		covered: 0
		% coverage: 0.00
	fun token_remote_decimals
		total: 5
		covered: 0
		% coverage: 0.00
	fun token_symbol
		total: 5
		covered: 0
		% coverage: 0.00
>>> % Module coverage: 65.33
Module 00000000000000000000000000000000000000000000000000000000000000a5::discovery
	fun get_call_info
		total: 43
		covered: 30
		% coverage: 69.77
	fun get_deploy_interchain_token_tx
		total: 48
		covered: 48
		% coverage: 100.00
	fun get_interchain_transfer_info
		total: 33
		covered: 0
		% coverage: 0.00
	fun get_interchain_transfer_tx
		total: 87
		covered: 87
		% coverage: 100.00
	fun register_transaction
		total: 40
		covered: 40
		% coverage: 100.00
>>> % Module coverage: 81.67
Module 00000000000000000000000000000000000000000000000000000000000000a5::service
	fun burn_as_distributor
		total: 21
		covered: 21
		% coverage: 100.00
	fun decode_approved_message
		total: 69
		covered: 67
		% coverage: 97.10
	fun deploy_remote_interchain_token
		total: 43
		covered: 43
		% coverage: 100.00
	fun give_unregistered_coin
		total: 61
		covered: 61
		% coverage: 100.00
	fun interchain_transfer
		total: 37
		covered: 37
		% coverage: 100.00
	fun mint_as_distributor
		total: 24
		covered: 24
		% coverage: 100.00
	fun mint_to_as_distributor
		total: 9
		covered: 9
		% coverage: 100.00
	fun receive_deploy_interchain_token
		total: 83
		covered: 83
		% coverage: 100.00
	fun receive_interchain_transfer
		total: 60
		covered: 60
		% coverage: 100.00
	fun receive_interchain_transfer_with_data
		total: 81
		covered: 81
		% coverage: 100.00
	fun register_coin
		total: 14
		covered: 14
		% coverage: 100.00
	fun send_payload
		total: 55
		covered: 51
		% coverage: 92.73
	fun set_trusted_addresses
		total: 56
		covered: 56
		% coverage: 100.00
>>> % Module coverage: 99.02
+-------------------------+
| % Move Coverage: 84.12  |
+-------------------------+

Coverage report for module ./move/operators/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a4::operators
	fun add_operator
		total: 13
		covered: 13
		% coverage: 100.00
	fun init
		total: 15
		covered: 15
		% coverage: 100.00
	fun loan_cap
		total: 38
		covered: 38
		% coverage: 100.00
	fun remove_cap
		total: 10
		covered: 10
		% coverage: 100.00
	fun remove_operator
		total: 8
		covered: 8
		% coverage: 100.00
	fun restore_cap
		total: 19
		covered: 15
		% coverage: 78.95
	fun store_cap
		total: 14
		covered: 14
		% coverage: 100.00
>>> % Module coverage: 96.58
+-------------------------+
| % Move Coverage: 96.58  |
+-------------------------+

Coverage report for module ./move/squid/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a6::coin_bag
	fun destroy
		total: 4
		covered: 4
		% coverage: 100.00
	fun get_balance
		total: 20
		covered: 20
		% coverage: 100.00
	fun get_balance_amount
		total: 20
		covered: 20
		% coverage: 100.00
	fun get_balance_key
		total: 11
		covered: 11
		% coverage: 100.00
	fun get_estimate
		total: 19
		covered: 19
		% coverage: 100.00
	fun get_estimate_amount
		total: 20
		covered: 20
		% coverage: 100.00
	fun get_estimate_key
		total: 11
		covered: 11
		% coverage: 100.00
	fun get_exact_balance
		total: 32
		covered: 24
		% coverage: 75.00
	fun new
		total: 4
		covered: 4
		% coverage: 100.00
	fun store_balance
		total: 21
		covered: 21
		% coverage: 100.00
	fun store_estimate
		total: 25
		covered: 25
		% coverage: 100.00
>>> % Module coverage: 95.72
Module 00000000000000000000000000000000000000000000000000000000000000a6::swap_info
	fun coin_bag
		total: 3
		covered: 3
		% coverage: 100.00
	fun destroy
		total: 10
		covered: 10
		% coverage: 100.00
	fun finalize
		total: 47
		covered: 47
		% coverage: 100.00
	fun get_data_estimating
		total: 51
		covered: 51
		% coverage: 100.00
	fun get_data_swapping
		total: 83
		covered: 83
		% coverage: 100.00
	fun new
		total: 18
		covered: 18
		% coverage: 100.00
	fun skip_swap
		total: 5
		covered: 5
		% coverage: 100.00
	fun swap_data
		total: 6
		covered: 0
		% coverage: 0.00
>>> % Module coverage: 97.31
Module 00000000000000000000000000000000000000000000000000000000000000a6::squid
	fun borrow_channel
		total: 3
		covered: 3
		% coverage: 100.00
	fun coin_bag
		total: 3
		covered: 3
		% coverage: 100.00
	fun init
		total: 9
		covered: 9
		% coverage: 100.00
	fun start_swap
		total: 27
		covered: 27
		% coverage: 100.00
>>> % Module coverage: 100.00
Module 00000000000000000000000000000000000000000000000000000000000000a6::deepbook_v3
	fun estimate
		total: 180
		covered: 93
		% coverage: 51.67
	fun get_estimate_move_call
		total: 36
		covered: 0
		% coverage: 0.00
	fun get_swap_move_call
		total: 37
		covered: 0
		% coverage: 0.00
	fun mul_scaled
		total: 13
		covered: 13
		% coverage: 100.00
	fun peel_swap_data
		total: 23
		covered: 23
		% coverage: 100.00
	fun swap
		total: 278
		covered: 132
		% coverage: 47.48
>>> % Module coverage: 46.03
Module 00000000000000000000000000000000000000000000000000000000000000a6::transfers
	fun get_its_estimate_move_call
		total: 16
		covered: 0
		% coverage: 0.00
	fun get_its_transfer_move_call
		total: 19
		covered: 0
		% coverage: 0.00
	fun get_sui_estimate_move_call
		total: 16
		covered: 0
		% coverage: 0.00
	fun get_sui_transfer_move_call
		total: 16
		covered: 0
		% coverage: 0.00
	fun its_estimate
		total: 45
		covered: 0
		% coverage: 0.00
	fun its_transfer
		total: 104
		covered: 0
		% coverage: 0.00
	fun new_its_transfer_swap_data
		total: 20
		covered: 0
		% coverage: 0.00
	fun new_sui_transfer_swap_data
		total: 12
		covered: 0
		% coverage: 0.00
	fun sui_estimate
		total: 45
		covered: 0
		% coverage: 0.00
	fun sui_transfer
		total: 67
		covered: 0
		% coverage: 0.00
>>> % Module coverage: 0.00
Module 00000000000000000000000000000000000000000000000000000000000000a6::discovery
	fun finalize
		total: 11
		covered: 0
		% coverage: 0.00
	fun get_transaction
		total: 176
		covered: 0
		% coverage: 0.00
	fun register_transaction
		total: 44
		covered: 0
		% coverage: 0.00
	fun start_swap
		total: 15
		covered: 0
		% coverage: 0.00
>>> % Module coverage: 0.00
+-------------------------+
| % Move Coverage: 43.02  |
+-------------------------+

Coverage report for module ./move/utils/

+-------------------------+
| Move Coverage Summary   |
+-------------------------+
Module 00000000000000000000000000000000000000000000000000000000000000a7::utils
>>> % Module coverage: NaN
+-------------------------+
| % Move Coverage: NaN  |
+-------------------------+

@npty npty marked this pull request as ready for review September 12, 2024 07:50
move/axelar_gateway/sources/auth.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/weighted_signers.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/weighted_signer.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/weighted_signers.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/weighted_signers.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/weighted_signers.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/weighted_signers.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/weighted_signers.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/auth.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
move/axelar_gateway/sources/types/proof.move Outdated Show resolved Hide resolved
@npty
Copy link
Member Author

npty commented Sep 16, 2024

Comparing Gas Usage

I've tried comparing gas usage before and after this changes by rotating the signers with the scripts in axelar-contract-deployments.

My Setup

  • Generate 70 public keys with this script
  • Override the signers with hardcoded generated public keys above here
  • Set the threshold to 35
  • Deploy and run rotate signers script as usual

I've tested 2 times, each time I deployed the gateway contract separately, just to make sure everything is in clean state.

Before

Gas Usage is around 0.62 SUI for both txs

After

Gas Usage is around 0.38 SUI for both txs

Conclusion

After the refactoring, the gas usage seems to be reduced.

@milapsheth milapsheth enabled auto-merge (squash) September 17, 2024 02:35
@milapsheth milapsheth merged commit 9716da3 into main Sep 17, 2024
5 checks passed
@milapsheth milapsheth deleted the refactor/auth branch September 17, 2024 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants