diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000..8139a93 --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,17 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: daily + - package-ecosystem: cargo + directory: / + schedule: + interval: daily + ignore: + - dependency-name: "*" + # patch and minor updates don't matter for libraries + # remove this ignore rule if your package has binaries + update-types: + - "version-update:semver-patch" + - "version-update:semver-minor" diff --git a/.github/workflows/typos.yaml b/.github/workflows/typos.yaml new file mode 100644 index 0000000..f70cbcc --- /dev/null +++ b/.github/workflows/typos.yaml @@ -0,0 +1,20 @@ +name: Typos check + +on: + push: + branches: [main] + pull_request: + branches: [main] + +defaults: + run: + shell: bash + +jobs: + typos: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: crate-ci/typos@v1.24.4 + with: + files: . diff --git a/_typos.toml b/_typos.toml new file mode 100644 index 0000000..9ec59c2 --- /dev/null +++ b/_typos.toml @@ -0,0 +1,3 @@ +# https://github.com/crate-ci/typos/blob/master/docs/reference.md +[files] +extend-exclude = ["axelar-amplifier", "evm-contracts/lib/*", "offchain", "solana/xtask/devnet-amplifier.json"] diff --git a/solana/Makefile.toml b/solana/Makefile.toml index 71db2dc..0f2df18 100644 --- a/solana/Makefile.toml +++ b/solana/Makefile.toml @@ -6,6 +6,11 @@ skip_core_tasks = true workspace = false dependencies = ["check", "test", "unused-deps"] +[tasks.typos] +workspace = false +install_crate = "typos-cli" +command = "typos" + [tasks.fmt] workspace = false command = "cargo" diff --git a/solana/crates/axelar-rkyv-encoding/src/test_fixtures/mod.rs b/solana/crates/axelar-rkyv-encoding/src/test_fixtures/mod.rs index 6f8b8c1..f883b75 100644 --- a/solana/crates/axelar-rkyv-encoding/src/test_fixtures/mod.rs +++ b/solana/crates/axelar-rkyv-encoding/src/test_fixtures/mod.rs @@ -259,7 +259,7 @@ pub fn random_execute_data_and_verifier_set_for_payload_with_invalid_signatures( { Some(Signature::EcdsaRecoverable(bytes)) => bytes.as_mut_slice(), Some(Signature::Ed25519(bytes)) => bytes.as_mut_slice(), - _ => unimplemented!("signature not attaced"), + _ => unimplemented!("signature not attached"), }; signature_bytes[0] ^= 1; diff --git a/solana/crates/axelar-rkyv-encoding/src/types/u128.rs b/solana/crates/axelar-rkyv-encoding/src/types/u128.rs index ec50922..4fb2c59 100644 --- a/solana/crates/axelar-rkyv-encoding/src/types/u128.rs +++ b/solana/crates/axelar-rkyv-encoding/src/types/u128.rs @@ -102,7 +102,7 @@ mod tests { use crate::test_fixtures::random_bytes; #[test] - fn test_endiannes() { + fn test_endianness() { let bytes = random_bytes::<16>(); let u128 = U128::from_le(bytes); assert_eq!(*u128.to_le(), bytes); diff --git a/solana/helpers/axelar-message-primitives/src/payload/encoding.rs b/solana/helpers/axelar-message-primitives/src/payload/encoding.rs index a0e9629..c0dc981 100644 --- a/solana/helpers/axelar-message-primitives/src/payload/encoding.rs +++ b/solana/helpers/axelar-message-primitives/src/payload/encoding.rs @@ -38,7 +38,7 @@ impl<'payload> DataPayload<'payload> { fn encoding_scheme_prefixed_array(&self) -> Vec { let mut writer_vec = Vec::::with_capacity( // This might not be the exact size, but it's a good approximation - // Ideally we calcualte the size of data before writing it. + // Ideally we calculate the size of data before writing it. // Could be achieved with a build.rs script that generates the size of the data for // each encoding type. size_of::() // encoding scheme diff --git a/solana/helpers/evm-contracts-rs/build.rs b/solana/helpers/evm-contracts-rs/build.rs index 563e9a3..6ee5757 100644 --- a/solana/helpers/evm-contracts-rs/build.rs +++ b/solana/helpers/evm-contracts-rs/build.rs @@ -2,11 +2,11 @@ use std::path::PathBuf; use ethers::contract::Abigen; -/// Using a buid.rs script to generate the bindings for the EVM contracts +/// Using a build.rs script to generate the bindings for the EVM contracts /// and write them to the OUT_DIR. /// /// The generated bindings are then included in the lib.rs file. -/// This is preffered to using the `abigen!` macro because it does not act on +/// This is preferred to using the `abigen!` macro because it does not act on /// `*.json` file changes and cannot be used in a `build.rs` script. fn main() { build_contract(); diff --git a/solana/helpers/interchain-token-transfer-gmp/src/lib.rs b/solana/helpers/interchain-token-transfer-gmp/src/lib.rs index 949acb5..24c1114 100644 --- a/solana/helpers/interchain-token-transfer-gmp/src/lib.rs +++ b/solana/helpers/interchain-token-transfer-gmp/src/lib.rs @@ -18,7 +18,7 @@ sol! { /// This message has the following data encoded and should only be sent /// after the proper tokens have been procured by the service. It should /// result in the proper funds being transferred to the user at the - /// destionation chain. + /// destination chain. #[derive(Debug, PartialEq)] #[repr(C)] struct InterchainTransfer { diff --git a/solana/helpers/test-fixtures/src/test_setup.rs b/solana/helpers/test-fixtures/src/test_setup.rs index 39e4269..4e36dd6 100644 --- a/solana/helpers/test-fixtures/src/test_setup.rs +++ b/solana/helpers/test-fixtures/src/test_setup.rs @@ -8,7 +8,7 @@ use axelar_rkyv_encoding::types::{ExecuteData, Message, Payload, VerifierSet}; use borsh::BorshDeserialize; use gateway::commands::OwnedCommand; use gateway::hasher_impl; -use gateway::instructions::{InitializeConfig, VerifierSetWraper}; +use gateway::instructions::{InitializeConfig, VerifierSetWrapper}; use gateway::processor::ToBytes; use gateway::state::execute_data::{ ApproveMessagesVariant, ArchivedGatewayExecuteData, ExecuteDataVariant, RotateSignersVariant, @@ -328,17 +328,17 @@ impl TestFixture { root_pda_address } - pub fn create_verifier_sets(&self, signers: &[&SigningVerifierSet]) -> Vec { + pub fn create_verifier_sets(&self, signers: &[&SigningVerifierSet]) -> Vec { signers .iter() - .map(|set| VerifierSetWraper::new_from_verifier_set(set.verifier_set()).unwrap()) + .map(|set| VerifierSetWrapper::new_from_verifier_set(set.verifier_set()).unwrap()) .collect_vec() } pub fn base_initialize_config( &self, domain_separator: [u8; 32], - ) -> InitializeConfig { + ) -> InitializeConfig { InitializeConfig { domain_separator, initial_signer_sets: vec![], @@ -350,7 +350,7 @@ impl TestFixture { pub async fn initialize_gateway_config_account( &mut self, - init_config: InitializeConfig, + init_config: InitializeConfig, ) -> Pubkey { let (gateway_config_pda, _) = gateway::get_gateway_root_config_pda(); let ix = gateway::instructions::initialize_config( @@ -918,10 +918,10 @@ mod tests { use super::*; /// Try to deploy the same program elf file using the - /// `bbf_loader_upgradeable` programm directly, and regiestering the PDAs + /// `bbf_loader_upgradeable` program directly, and regiestering the PDAs /// manually. /// The core asserts is to ensure that the account data storage - /// is the same, thus ensuring that both operatiosn are somewhat equivelant. + /// is the same, thus ensuring that both operatiosn are somewhat equivalent. #[tokio::test] async fn test_manually_added_bpf_upgradeable_accounts_contain_expected_state() { // setup diff --git a/solana/programs/axelar-solana-memo-program/tests/evm-e2e/from_solana_to_evm.rs b/solana/programs/axelar-solana-memo-program/tests/evm-e2e/from_solana_to_evm.rs index 93af18c..95b08e2 100644 --- a/solana/programs/axelar-solana-memo-program/tests/evm-e2e/from_solana_to_evm.rs +++ b/solana/programs/axelar-solana-memo-program/tests/evm-e2e/from_solana_to_evm.rs @@ -56,7 +56,7 @@ async fn test_send_from_solana_to_evm() { let message = messages[0].clone(); // - The relayer relays the contract call to the EVM gateway // evm_gateway.message_hash_to_sign(, ) - let _tx_reciept = evm_gateway + let _tx_receipt = evm_gateway .approve_messages(messages, proof) .send() .await diff --git a/solana/programs/axelar-solana-memo-program/tests/module/send_to_gateway.rs b/solana/programs/axelar-solana-memo-program/tests/module/send_to_gateway.rs index 790e797..b2931c4 100644 --- a/solana/programs/axelar-solana-memo-program/tests/module/send_to_gateway.rs +++ b/solana/programs/axelar-solana-memo-program/tests/module/send_to_gateway.rs @@ -9,7 +9,7 @@ use solana_sdk::transaction::Transaction; use crate::program_test; #[tokio::test] -async fn test_succesfully_send_to_gateway() { +async fn test_successfully_send_to_gateway() { // Setup let mut solana_chain = program_test().await; let memo = "🐪🐪🐪🐪"; diff --git a/solana/programs/gas-service/src/instruction.rs b/solana/programs/gas-service/src/instruction.rs index 22e9d77..dd485b0 100644 --- a/solana/programs/gas-service/src/instruction.rs +++ b/solana/programs/gas-service/src/instruction.rs @@ -1,4 +1,4 @@ -//! Instruction module; consist of fasade instructions, test ix constructors and +//! Instruction module; consist of facade instructions, test ix constructors and //! internal helpers. use axelar_message_primitives::U256; diff --git a/solana/programs/gas-service/src/processor.rs b/solana/programs/gas-service/src/processor.rs index a754f68..c4c3728 100644 --- a/solana/programs/gas-service/src/processor.rs +++ b/solana/programs/gas-service/src/processor.rs @@ -208,7 +208,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, bumb) = get_gas_service_root_pda(); + let (addr, bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -230,7 +230,7 @@ impl Processor { fees, ), &[sender_account.clone(), gas_service_root_pda_account.clone()], - &[&[&[bumb]]], + &[&[&[bump]]], )?; events::emit_native_gas_paid_for_contract_call_event( @@ -285,7 +285,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, bumb) = get_gas_service_root_pda(); + let (addr, bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -307,7 +307,7 @@ impl Processor { fees, ), &[sender_account.clone(), gas_service_root_pda_account.clone()], - &[&[&[bumb]]], + &[&[&[bump]]], )?; events::emit_native_gas_paid_for_contract_call_with_token_event( @@ -359,7 +359,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, bumb) = get_gas_service_root_pda(); + let (addr, bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -381,7 +381,7 @@ impl Processor { fees, ), &[sender_account.clone(), gas_service_root_pda_account.clone()], - &[&[&[bumb]]], + &[&[&[bump]]], )?; events::emit_native_gas_paid_for_express_call_event( @@ -438,7 +438,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, bumb) = get_gas_service_root_pda(); + let (addr, bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -460,7 +460,7 @@ impl Processor { fees, ), &[sender_account.clone(), gas_service_root_pda_account.clone()], - &[&[&[bumb]]], + &[&[&[bump]]], )?; events::emit_native_gas_paid_for_express_call_with_token_event( @@ -508,7 +508,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, bumb) = get_gas_service_root_pda(); + let (addr, bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -530,7 +530,7 @@ impl Processor { fees, ), &[sender_account.clone(), gas_service_root_pda_account.clone()], - &[&[&[bumb]]], + &[&[&[bump]]], )?; events::emit_native_gas_added_event(tx_hash, log_index, fees, refund_address)?; @@ -570,7 +570,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, bumb) = get_gas_service_root_pda(); + let (addr, bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -592,7 +592,7 @@ impl Processor { fees, ), &[sender_account.clone(), gas_service_root_pda_account.clone()], - &[&[&[bumb]]], + &[&[&[bump]]], )?; events::emit_native_express_gas_added_event(tx_hash, log_index, fees, refund_address)?; @@ -621,7 +621,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, _bumb) = get_gas_service_root_pda(); + let (addr, _bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -649,7 +649,7 @@ impl Processor { return Err(GasServiceError::SenderAccountIsNotExpectedAuthority.into()); } - // Check: The requested amount bigger than tresure account saldo minus required + // Check: The requested amount bigger than treasure account saldo minus required // rent exempt value. let space = gas_service_root_pda_account.data.borrow().len(); let rent_sysvar = Rent::get()?; @@ -686,7 +686,7 @@ impl Processor { } // Check: Root PDA Account. - let (addr, _bumb) = get_gas_service_root_pda(); + let (addr, _bump) = get_gas_service_root_pda(); if gas_service_root_pda_account.key != &addr { return Err(GasServiceError::InvalidGasServiceRootPDAAccount.into()); } @@ -714,7 +714,7 @@ impl Processor { return Err(GasServiceError::SenderAccountIsNotExpectedAuthority.into()); } - // Check: The requested amount bigger than tresure account saldo minus required + // Check: The requested amount bigger than treasure account saldo minus required // rent exempt value. let space = gas_service_root_pda_account.data.borrow().len(); let rent_sysvar = Rent::get()?; diff --git a/solana/programs/gas-service/tests/integration.rs b/solana/programs/gas-service/tests/integration.rs index f3b4f89..03e3415 100644 --- a/solana/programs/gas-service/tests/integration.rs +++ b/solana/programs/gas-service/tests/integration.rs @@ -749,7 +749,7 @@ async fn collect_fees_happy_scenario() -> Result<()> { (rent_exempt + fees) - amount_to_collect ); - // Check: Reciever got funds. + // Check: Receiver got funds. assert_eq!( banks_client .get_account(receiver_address.pubkey()) @@ -955,7 +955,7 @@ async fn refund_happy_scenario() -> Result<()> { (rent_exempt + fees) - amount_to_collect ); - // Check: Reciever got funds. + // Check: Receiver got funds. assert_eq!( banks_client .get_account(receiver_address.pubkey()) diff --git a/solana/programs/gateway/src/commands.rs b/solana/programs/gateway/src/commands.rs index 7e0e2dc..afe968c 100644 --- a/solana/programs/gateway/src/commands.rs +++ b/solana/programs/gateway/src/commands.rs @@ -172,7 +172,7 @@ impl BorshDeserialize for OwnedCommand { } /// FIXME: This is a workaround to wrap the serialized Message from the -/// `axelar-rkyv-encoding` crate. It shoud not be needed once we fully migrate +/// `axelar-rkyv-encoding` crate. It should not be needed once we fully migrate /// types from that crate. #[derive(BorshDeserialize, BorshSerialize, PartialEq, Eq, Debug, Clone)] pub struct MessageWrapper { diff --git a/solana/programs/gateway/src/error.rs b/solana/programs/gateway/src/error.rs index 94ab29a..afbd44c 100644 --- a/solana/programs/gateway/src/error.rs +++ b/solana/programs/gateway/src/error.rs @@ -95,7 +95,7 @@ pub enum GatewayError { InvalidApprovedMessageAccount, /// Failed to decode `execute_data` - #[error("Falied to decode execute_data")] + #[error("Failed to decode execute_data")] FailedToDecodeExecuteData, /// Arithmetic overflow @@ -104,7 +104,7 @@ pub enum GatewayError { /// Signer Set set epoch is different than the current epoch #[error("Signer Set set epoch is different than the current epoch.")] - EpochMissmatch, + EpochMismatch, /// Failed to decode a valid signature #[error("Failed to deserialize signature")] @@ -132,7 +132,7 @@ pub enum GatewayError { UnorderedOrDuplicateSignerSet, // 30 - /// Thresold was presented as zero, which is an invalid value. + /// Threshold was presented as zero, which is an invalid value. #[error("Threshold cannot be equal to zero")] ZeroThreshold, diff --git a/solana/programs/gateway/src/events.rs b/solana/programs/gateway/src/events.rs index 85de687..3bf3d1a 100644 --- a/solana/programs/gateway/src/events.rs +++ b/solana/programs/gateway/src/events.rs @@ -157,7 +157,7 @@ impl GatewayEvent { Ok(()) } - /// Encode the [`GatewayEvent`] into a [`Vec`] which satifies rkyv + /// Encode the [`GatewayEvent`] into a [`Vec`] which satisfies rkyv /// alignment requirements pub fn encode(&self) -> rkyv::AlignedVec { rkyv::to_bytes::<_, 0>(self).unwrap() @@ -184,7 +184,7 @@ pub struct EventContainer { } impl EventContainer { - /// Create a new [`EventContainer`] from an rkyv enocded [`GatewayEvent`] + /// Create a new [`EventContainer`] from an rkyv encoded [`GatewayEvent`] /// /// The method will return `None` if the buffer cannod be deserialised into /// a valid [`ArchivedGatewayEvent`] diff --git a/solana/programs/gateway/src/instructions.rs b/solana/programs/gateway/src/instructions.rs index 3eb448d..f5ae348 100644 --- a/solana/programs/gateway/src/instructions.rs +++ b/solana/programs/gateway/src/instructions.rs @@ -68,7 +68,7 @@ pub enum GatewayInstruction { /// 1. [WRITE] Gateway Root Config PDA account /// 2. [] System Program account /// 3..N [WRITE] uninitialized VerifierSetTracker PDA accounts - InitializeConfig(InitializeConfig<(VerifierSetWraper, PdaBump)>), + InitializeConfig(InitializeConfig<(VerifierSetWrapper, PdaBump)>), /// Initializes an Approve Messages Execute Data PDA account. /// The Execute Data is a batch of commands that will be executed by the @@ -130,7 +130,7 @@ pub enum GatewayInstruction { /// Accounts expected by this instruction: /// 1. [WRITE] Approved Message PDA account /// 2. [] Gateway Root Config PDA account - /// 3. [SIGNER] PDA signer account (caller). Dervied from the destination + /// 3. [SIGNER] PDA signer account (caller). Derived from the destination /// program id. ValidateMessage(MessageWrapper), @@ -168,11 +168,11 @@ pub struct InitializeConfig { type PdaBump = u8; type InitializeConfigTransformation = ( - InitializeConfig<(VerifierSetWraper, PdaBump)>, + InitializeConfig<(VerifierSetWrapper, PdaBump)>, Vec<(Pubkey, PdaBump)>, ); -impl InitializeConfig { +impl InitializeConfig { /// Convert [`InitializeConfig`] to a type that can be submitted to the /// gateway by calculating the PDAs for the initial signers. pub fn with_verifier_set_bump(self) -> InitializeConfigTransformation { @@ -218,12 +218,12 @@ impl InitializeConfig { /// borsh, we depend on the data to be encoded with rkyv. This is a wrapper that /// implements borsh. #[derive(Debug, Clone, PartialEq, Eq, BorshSerialize, BorshDeserialize)] -pub struct VerifierSetWraper { +pub struct VerifierSetWrapper { /// rkyv encoded [`axelar_rkyv_encoding::types::VerifierSet`] verifier_set: Vec, } -impl VerifierSetWraper { +impl VerifierSetWrapper { /// Encode the verifier set and initialize the wrapper pub fn new_from_verifier_set( verifier_set: VerifierSet, @@ -464,7 +464,7 @@ pub fn initialize_rotate_signers_execute_data( /// Creates a [`GatewayInstruction::InitializeConfig`] instruction. pub fn initialize_config( payer: Pubkey, - config: InitializeConfig, + config: InitializeConfig, gateway_config_pda: Pubkey, ) -> Result { let mut accounts = vec![ diff --git a/solana/programs/gateway/src/processor/initialize_config.rs b/solana/programs/gateway/src/processor/initialize_config.rs index 1f63447..3f52311 100644 --- a/solana/programs/gateway/src/processor/initialize_config.rs +++ b/solana/programs/gateway/src/processor/initialize_config.rs @@ -12,7 +12,7 @@ use solana_program::{msg, system_program}; use super::Processor; use crate::axelar_auth_weighted::AxelarAuthWeighted; use crate::error::GatewayError; -use crate::instructions::{InitializeConfig, VerifierSetWraper}; +use crate::instructions::{InitializeConfig, VerifierSetWrapper}; use crate::state::verifier_set_tracker::VerifierSetTracker; use crate::state::GatewayConfig; use crate::{ @@ -25,7 +25,7 @@ impl Processor { pub fn process_initialize_config( program_id: &Pubkey, accounts: &[AccountInfo<'_>], - init_config: InitializeConfig<(VerifierSetWraper, u8)>, + init_config: InitializeConfig<(VerifierSetWrapper, u8)>, ) -> ProgramResult { let (core_accounts, init_verifier_sets) = accounts.split_at(3); diff --git a/solana/programs/gateway/src/processor/rotate_signers.rs b/solana/programs/gateway/src/processor/rotate_signers.rs index bca9e94..669806f 100644 --- a/solana/programs/gateway/src/processor/rotate_signers.rs +++ b/solana/programs/gateway/src/processor/rotate_signers.rs @@ -44,7 +44,7 @@ impl Processor { let mut gateway_config = gateway_root_pda.check_initialized_pda::(program_id)?; - // Validate teh PDAs of the verifier sets + // Validate the PDAs of the verifier sets let signer_verifier_set = match signer_verifier_set.check_initialized_pda::(program_id) { Ok(set) => set, @@ -57,7 +57,7 @@ impl Processor { // we always enforce the delay unless unless the operator has been provided and // its also the Gateway opreator - // refence: https://github.com/axelarnetwork/axelar-gmp-sdk-solidity/blob/c290c7337fd447ecbb7426e52ac381175e33f602/contracts/gateway/AxelarAmplifierGateway.sol#L98-L101 + // reference: https://github.com/axelarnetwork/axelar-gmp-sdk-solidity/blob/c290c7337fd447ecbb7426e52ac381175e33f602/contracts/gateway/AxelarAmplifierGateway.sol#L98-L101 let enforce_rotation_delay = operator.map_or(true, |operator| { let operator_matches = *operator.key == gateway_config.operator; let operator_is_sigener = operator.is_signer; diff --git a/solana/programs/gateway/tests/module/approve_messages.rs b/solana/programs/gateway/tests/module/approve_messages.rs index e0ab619..46ac264 100644 --- a/solana/programs/gateway/tests/module/approve_messages.rs +++ b/solana/programs/gateway/tests/module/approve_messages.rs @@ -611,7 +611,7 @@ async fn fail_if_signer_set_epoch_is_older_than_4() { assert_eq!(root_pda_data.auth_weighted.current_epoch(), current_epoch); // Action - // Any of the lastest 4 signer sets are allowed to "approve messages" coming + // Any of the latest 4 signer sets are allowed to "approve messages" coming // Axelar->Solana direction. for signer_set in &new_signer_sets { fixture diff --git a/solana/programs/gateway/tests/module/initialize_command.rs b/solana/programs/gateway/tests/module/initialize_command.rs index 8fbda9a..acb6c2e 100644 --- a/solana/programs/gateway/tests/module/initialize_command.rs +++ b/solana/programs/gateway/tests/module/initialize_command.rs @@ -12,7 +12,7 @@ use test_fixtures::test_setup::{ use crate::{gateway_approved_command_ixs, make_payload_and_commands, program_test}; #[tokio::test] -async fn succesfully_initialize_validate_message_command() { +async fn successfully_initialize_validate_message_command() { // Setup let SolanaAxelarIntegrationMetadata { mut fixture, @@ -83,7 +83,7 @@ async fn fail_when_gateway_root_pda_not_initialized() { } #[tokio::test] -async fn succesfully_initialize_command_which_belongs_to_a_different_execute_data_set() { +async fn successfully_initialize_command_which_belongs_to_a_different_execute_data_set() { // Setup let SolanaAxelarIntegrationMetadata { mut fixture, @@ -217,7 +217,7 @@ async fn fail_when_rotate_signers_is_already_initialized() { } #[tokio::test] -async fn succed_when_same_signers_with_diffrent_nonce_get_initialized() { +async fn succeed_when_same_signers_with_different_nonce_get_initialized() { // Setup let SolanaAxelarIntegrationMetadata { mut fixture, diff --git a/solana/programs/gateway/tests/module/initialize_config.rs b/solana/programs/gateway/tests/module/initialize_config.rs index f4e1cd6..ede2235 100644 --- a/solana/programs/gateway/tests/module/initialize_config.rs +++ b/solana/programs/gateway/tests/module/initialize_config.rs @@ -1,6 +1,6 @@ use axelar_message_primitives::U256; use gmp_gateway::hasher_impl; -use gmp_gateway::instructions::{InitializeConfig, VerifierSetWraper}; +use gmp_gateway::instructions::{InitializeConfig, VerifierSetWrapper}; use gmp_gateway::state::verifier_set_tracker::VerifierSetTracker; use gmp_gateway::state::GatewayConfig; use solana_program_test::tokio; @@ -14,7 +14,7 @@ use crate::program_test; const NONCE: u64 = 44; const DOMAIN_SEPARATOR: [u8; 32] = [42; 32]; -fn cmp_config(init: &InitializeConfig, created: &GatewayConfig) -> bool { +fn cmp_config(init: &InitializeConfig, created: &GatewayConfig) -> bool { let current_epoch: U256 = init.initial_signer_sets.len().into(); created.operator == init.operator && created.domain_separator == init.domain_separator @@ -26,7 +26,7 @@ fn cmp_config(init: &InitializeConfig, created: &GatewayConfi } async fn assert_verifier_sets( - init_config: InitializeConfig, + init_config: InitializeConfig, fixture: &mut TestFixture, ) { let (cnf, pdas) = init_config.with_verifier_set_bump(); @@ -76,7 +76,7 @@ async fn test_successfylly_initialize_config_with_single_initial_signer() { .await; assert!(cmp_config(&init_config, &root_pda_data)); - // Assert -- blokc timestamp updated + // Assert -- block timestamp updated let clock = fixture.banks_client.get_sysvar::().await.unwrap(); let block_timestamp = clock.unix_timestamp as u64; assert_eq!( @@ -121,7 +121,7 @@ async fn test_successfylly_initialize_config_with_multiple_initial_signers() { .await; assert!(cmp_config(&init_config, &root_pda_data)); - // Assert -- blokc timestamp updated + // Assert -- block timestamp updated let clock = fixture.banks_client.get_sysvar::().await.unwrap(); let block_timestamp = clock.unix_timestamp as u64; assert_eq!( diff --git a/solana/programs/gateway/tests/module/initialize_execute_data.rs b/solana/programs/gateway/tests/module/initialize_execute_data.rs index de37882..b56c4ad 100644 --- a/solana/programs/gateway/tests/module/initialize_execute_data.rs +++ b/solana/programs/gateway/tests/module/initialize_execute_data.rs @@ -76,7 +76,7 @@ async fn test_successfylly_initialize_execute_data() { } #[tokio::test] -async fn test_succesfully_initialize_rotate_signers() { +async fn test_successfully_initialize_rotate_signers() { // Setup let SolanaAxelarIntegrationMetadata { mut fixture, diff --git a/solana/programs/gateway/tests/module/rotate_signers.rs b/solana/programs/gateway/tests/module/rotate_signers.rs index 70ea807..95f5bea 100644 --- a/solana/programs/gateway/tests/module/rotate_signers.rs +++ b/solana/programs/gateway/tests/module/rotate_signers.rs @@ -110,7 +110,7 @@ async fn cannot_invoke_rotate_signers_without_respecting_minimum_delay() { .build() .setup() .await; - // after we set up the gateway, the minimumn delay needs to be forwarded + // after we set up the gateway, the minimum delay needs to be forwarded fixture.forward_time(minimum_delay_seconds as i64).await; // Action - rotate the signer set for the first time. @@ -193,7 +193,7 @@ async fn succeed_if_signer_set_signed_by_old_signer_set_and_submitted_by_the_ope let newer_signer_set = make_signers(&[500, 200], 2); let (payload, _command) = payload_and_command(&newer_signer_set.verifier_set()); - // we stil use the initial signer set to sign the data (the `signers` variable) + // we still use the initial signer set to sign the data (the `signers` variable) let (execute_data_pda, _, pda_execute_data) = fixture .init_rotate_signers_execute_data(&gateway_root_pda, payload, &signers, &domain_separator) .await; @@ -276,7 +276,7 @@ async fn fail_if_provided_operator_is_not_the_real_operator_thats_stored_in_gate let newer_signer_set = make_signers(&[500, 200], 700); let (payload, ..) = payload_and_command(&newer_signer_set.verifier_set()); - // we stil use the initial signer set to sign the data (the `signers` variable) + // we still use the initial signer set to sign the data (the `signers` variable) let (execute_data_pda, _) = fixture .init_execute_data(&gateway_root_pda, payload, &signers, &domain_separator) .await; diff --git a/solana/programs/gateway/tests/module/transfer_operatorship.rs b/solana/programs/gateway/tests/module/transfer_operatorship.rs index 2a72259..612d071 100644 --- a/solana/programs/gateway/tests/module/transfer_operatorship.rs +++ b/solana/programs/gateway/tests/module/transfer_operatorship.rs @@ -8,8 +8,7 @@ use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::Keypair; use solana_sdk::signer::Signer; use test_fixtures::test_setup::{ - SolanaAxelarIntegration, - SolanaAxelarIntegrationMetadata, TestFixture, + SolanaAxelarIntegration, SolanaAxelarIntegrationMetadata, TestFixture, }; #[tokio::test] @@ -121,7 +120,7 @@ async fn successfully_transfer_operatorship_when_signer_is_upgrade_authority() { ); } -// fail if gateway not initialied +// fail if gateway not initialized #[tokio::test] async fn fail_if_gateway_not_initialised() { // Setup @@ -163,7 +162,7 @@ async fn fail_if_gateway_not_initialised() { .unwrap() .log_messages .into_iter() - // todo: improve errror message + // todo: improve error message .any(|msg| { msg.contains("insufficient funds for instruction") })); } @@ -274,7 +273,7 @@ async fn fail_if_stranger_dose_not_sing_anything() { .setup() .await; - // Action - the stranger does not actually sign the tx, he just hopes ther's + // Action - the stranger does not actually sign the tx, he just hopes there's // not a check let stranger_danger = Keypair::new(); let new_operator = Pubkey::new_unique(); diff --git a/solana/xtask/README.md b/solana/xtask/README.md index 0447246..671150a 100644 --- a/solana/xtask/README.md +++ b/solana/xtask/README.md @@ -1,7 +1,7 @@ ## Xtask CLI :joystick: Xtask CLi helps humans and non humans to execute common operations on this workspace, -like building, deploying and intialising programas (A.k.a Solana smart contracts) +like building, deploying and initialising programs (A.k.a Solana smart contracts) ### How to run @@ -22,13 +22,13 @@ $ cargo test ### Solana programs - Solana programs use `cargo build-sbf` subcommand to build the programs, this produces a `[contract-name].so` artifact that needs to be deployed on the Solana chan -- The deployment of Solana programs is not exactly straight forward. Every program has a hardcoded program id `solana_program::declare_id!()` which is an ED25519 Public key. For you to be able to deploy the program and actually have it working, you need to have the coresponding private key for the hardcded `program id`. -- After the solana program has been deployed, it is stateless, and the initializatoin process is defined per-program level. Generally, initialization is a separate step that needs to be done post-deployment. Unless the PDAs are designed to have a configuration singleton, the program can be intialised multiple tiemes. +- The deployment of Solana programs is not exactly straight forward. Every program has a hardcoded program id `solana_program::declare_id!()` which is an ED25519 Public key. For you to be able to deploy the program and actually have it working, you need to have the corresponding private key for the hardcded `program id`. +- After the solana program has been deployed, it is stateless, and the initializatoin process is defined per-program level. Generally, initialization is a separate step that needs to be done post-deployment. Unless the PDAs are designed to have a configuration singleton, the program can be initialised multiple tiemes. ### EVM contracts - The evm contracts don't need to built explicitly using xtask, that is handled by a `build.rs` file, that invokes `forge build` under the hood. The build script also generates Rust bindings for the EVM code. -- Contract deployment and intialization is done as a singular step. +- Contract deployment and initialization is done as a singular step. ### Cosmwasm contracts diff --git a/solana/xtask/src/cli.rs b/solana/xtask/src/cli.rs index 6ece038..ff37986 100644 --- a/solana/xtask/src/cli.rs +++ b/solana/xtask/src/cli.rs @@ -33,7 +33,7 @@ pub(crate) enum Cli { #[command(subcommand)] command: Solana, }, - /// Delpoy, instantiate and operate with evm chains and our demo contracts + /// Deploy, instantiate and operate with evm chains and our demo contracts Evm { #[arg(short, long)] source_evm_chain: String, @@ -170,7 +170,7 @@ pub(crate) enum CosmwasmInit { }, } /// The contracts are pre-built as ensured by the `evm-contracts-rs` crate in -/// our workspace. On EVM we don't differentiate deployment fron initialization +/// our workspace. On EVM we don't differentiate deployment from initialization /// as we do on Solana. #[derive(Subcommand)] pub(crate) enum Evm { @@ -211,7 +211,7 @@ pub(crate) enum Solana { #[arg(short, long)] program_id_keypair_path: PathBuf, // --- - // TODO: expose "upgrate_authority" + // TODO: expose "upgrade_authority" }, /// Iteratively send messages to the Solana Gateway, permuting different /// argument sizes and report the ones that succeed until the message @@ -221,7 +221,7 @@ pub(crate) enum Solana { /// Where to output the report output_dir: PathBuf, - /// Enable ABI encoding scheme. When ommited, borsh + /// Enable ABI encoding scheme. When omitted, borsh /// encoding is used. #[arg(short, long)] abi_encoding: bool, diff --git a/solana/xtask/src/cli/cmd/cosmwasm.rs b/solana/xtask/src/cli/cmd/cosmwasm.rs index 384dd2e..5333ce9 100644 --- a/solana/xtask/src/cli/cmd/cosmwasm.rs +++ b/solana/xtask/src/cli/cmd/cosmwasm.rs @@ -88,7 +88,7 @@ pub(crate) async fn deploy(client: &SigningClient) -> eyre::Result<[u64; 3]> { for (contract, code_id_storage) in CONTRACTS.into_iter().zip(code_ids.iter_mut()) { tracing::info!(contract = ?contract.wasm_artifact_name, "about to deploy contract"); - let wasm_byte_code = read_wasm_for_delpoyment(contract.wasm_artifact_name)?; + let wasm_byte_code = read_wasm_for_deployment(contract.wasm_artifact_name)?; let msg_store_code = MsgStoreCode { sender: client.signer_account_id()?, wasm_byte_code, @@ -109,7 +109,7 @@ pub(crate) async fn deploy(client: &SigningClient) -> eyre::Result<[u64; 3]> { }, ) .await?; - tracing::debug!(tx_result = ?response, "raw respones reult"); + tracing::debug!(tx_result = ?response, "raw response reult"); let code_id = response.extract("store_code", "code_id")?; tracing::info!(code_id, contract = ?contract.wasm_artifact_name, "code stored"); @@ -150,7 +150,7 @@ pub(crate) async fn init_solana_voting_verifier( let response = client .sign_and_broadcast(vec![instantiate.into_any()?], &default_gas()) .await?; - tracing::debug!(tx_result = ?response, "raw respones reult"); + tracing::debug!(tx_result = ?response, "raw response reult"); let contract_address = response.extract("instantiate", "_contract_address")?; tracing::info!(contract_address, "Voting verifier contract address"); @@ -185,7 +185,7 @@ pub(crate) async fn init_gateway( let response = client .sign_and_broadcast(vec![instantiate.into_any()?], &default_gas()) .await?; - tracing::debug!(tx_result = ?response, "raw respones reult"); + tracing::debug!(tx_result = ?response, "raw response reult"); let contract_address = response.extract("instantiate", "_contract_address")?; tracing::info!(contract_address, "gateway contract address"); @@ -239,7 +239,7 @@ pub(crate) async fn init_solana_multisig_prover( let response = client .sign_and_broadcast(vec![instantiate.into_any()?], &default_gas()) .await?; - tracing::debug!(tx_result = ?response, "raw respones reult"); + tracing::debug!(tx_result = ?response, "raw response reult"); let contract_address = response.extract("instantiate", "_contract_address")?; tracing::info!(contract_address, "Multisig prover contract address"); @@ -286,12 +286,12 @@ pub(crate) fn generate_wallet() -> eyre::Result<()> { tracing::info!( account_id = ?account_id, private_key = ?key_bytes_hex, - "genereted a new private key, fund it according to the docs here - https://docs.axelar.dev/validator/amplifier/verifier-onboarding#fund-your-wallet" + "generated a new private key, fund it according to the docs here - https://docs.axelar.dev/validator/amplifier/verifier-onboarding#fund-your-wallet" ); Ok(()) } -fn read_wasm_for_delpoyment(wasm_artifact_name: &str) -> eyre::Result> { +fn read_wasm_for_deployment(wasm_artifact_name: &str) -> eyre::Result> { let wasm = path::optimised_wasm_output(wasm_artifact_name); let wasm = std::fs::read(wasm)?; let mut output = Vec::with_capacity(wasm.len()); diff --git a/solana/xtask/src/cli/cmd/cosmwasm/build.rs b/solana/xtask/src/cli/cmd/cosmwasm/build.rs index 93f5cd4..cef5029 100644 --- a/solana/xtask/src/cli/cmd/cosmwasm/build.rs +++ b/solana/xtask/src/cli/cmd/cosmwasm/build.rs @@ -17,11 +17,11 @@ pub(crate) mod contract { wasm_opt: &Path, contracts: &[WasmContracts], ) -> Result<()> { - let amplifer_dir = axelar_amplifier_dir(); + let amplifier_dir = axelar_amplifier_dir(); let _env_guard = sh.push_env("RUSTFLAGS", "-C link-args=-s"); for contract in contracts { - let contract_dir = amplifer_dir + let contract_dir = amplifier_dir .join("contracts") .join(contract.contract_project_folder); @@ -31,7 +31,7 @@ pub(crate) mod contract { tracing::info!("building contract"); cmd!(sh, "cargo wasm").run()?; - let wasm_artifact = amplifer_dir + let wasm_artifact = amplifier_dir .join("target") .join("wasm32-unknown-unknown") .join("release") @@ -67,8 +67,8 @@ pub(crate) mod toolchain { // TODO: we should upstream a `rust-toolchain.toml` contribution to the // amplifier repo pub(crate) fn setup_toolchain(sh: &Shell) -> Result> { - let amplifer_dir = axelar_amplifier_dir(); - let in_ampl_dir = sh.push_dir(amplifer_dir.clone()); + let amplifier_dir = axelar_amplifier_dir(); + let in_ampl_dir = sh.push_dir(amplifier_dir.clone()); cmd!(sh, "rustup install nightly-2024-07-16").run()?; let env_toolchain = sh.push_env("RUSTUP_TOOLCHAIN", "nightly-2024-07-16"); cmd!(sh, "rustup target add wasm32-unknown-unknown").run()?; diff --git a/solana/xtask/src/cli/cmd/cosmwasm/cosmos_client.rs b/solana/xtask/src/cli/cmd/cosmwasm/cosmos_client.rs index 6316a7c..5065c81 100644 --- a/solana/xtask/src/cli/cmd/cosmwasm/cosmos_client.rs +++ b/solana/xtask/src/cli/cmd/cosmwasm/cosmos_client.rs @@ -40,7 +40,7 @@ pub(crate) mod network { .await? .into_inner() .account - .ok_or_eyre("account query returned None - account might not be intialised")?; + .ok_or_eyre("account query returned None - account might not be initialised")?; let account = cosmrs::proto::cosmos::auth::v1beta1::BaseAccount::decode(res.value.as_slice())?; @@ -162,7 +162,7 @@ pub(crate) mod signer { let tx_commit_response = tx_raw.broadcast_commit(&rpc_client).await?; tracing::debug!("tx broadcasted"); - tracing::info!(hash = ?tx_commit_response.hash, tx_result = ?tx_commit_response.tx_result.log, "raw respones log"); + tracing::info!(hash = ?tx_commit_response.hash, tx_result = ?tx_commit_response.tx_result.log, "raw response log"); Ok(tx_commit_response) } diff --git a/solana/xtask/src/cli/cmd/solana.rs b/solana/xtask/src/cli/cmd/solana.rs index 0683790..86e7564 100644 --- a/solana/xtask/src/cli/cmd/solana.rs +++ b/solana/xtask/src/cli/cmd/solana.rs @@ -8,7 +8,7 @@ use std::str::FromStr; use axelar_message_primitives::U256; use axelar_rkyv_encoding::types::{PublicKey, VerifierSet, U128}; use gmp_gateway::axelar_auth_weighted::RotationDelaySecs; -use gmp_gateway::instructions::{InitializeConfig, VerifierSetWraper}; +use gmp_gateway::instructions::{InitializeConfig, VerifierSetWrapper}; use gmp_gateway::state::GatewayConfig; pub(crate) use message_limits::generate_message_limits_report; use solana_client::rpc_client::RpcClient; @@ -110,7 +110,7 @@ pub(crate) async fn init_gmp_gateway( reconstructed = ?verifier_set, "reconstructed verifier set" ); - let verifier_set = VerifierSetWraper::new_from_verifier_set(verifier_set).unwrap(); + let verifier_set = VerifierSetWrapper::new_from_verifier_set(verifier_set).unwrap(); let init_config = InitializeConfig { domain_separator: solana_domain_separator(), initial_signer_sets: vec![verifier_set], @@ -142,7 +142,7 @@ pub(crate) async fn init_gmp_gateway( } pub(crate) fn init_memo_program( - // todo change all instances of &Opion to Option<&X> + // todo change all instances of &Option to Option<&X> rpc_url: Option<&Url>, payer_kp_path: Option<&PathBuf>, ) -> eyre::Result<()> { diff --git a/solana/xtask/src/cli/cmd/solana/message_limits.rs b/solana/xtask/src/cli/cmd/solana/message_limits.rs index 527159a..1cbbbbe 100644 --- a/solana/xtask/src/cli/cmd/solana/message_limits.rs +++ b/solana/xtask/src/cli/cmd/solana/message_limits.rs @@ -10,7 +10,7 @@ use axelar_rkyv_encoding::types::{HasheableMessageVec, Message, Payload}; use derive_builder::Builder; use gmp_gateway::axelar_auth_weighted::RotationDelaySecs; use gmp_gateway::commands::OwnedCommand; -use gmp_gateway::instructions::{InitializeConfig, VerifierSetWraper}; +use gmp_gateway::instructions::{InitializeConfig, VerifierSetWrapper}; use gmp_gateway::state::{GatewayApprovedCommand, GatewayConfig, GatewayExecuteData}; use itertools::izip; use rand::distributions::Alphanumeric; @@ -247,7 +247,7 @@ async fn initialize_programs( validator_rpc_client: Arc, ) -> Result<(Pubkey, (Pubkey, u8)), Error> { let (gateway_config_pda, _) = GatewayConfig::pda(); - let verifier_set = VerifierSetWraper::new_from_verifier_set(initial_signers.verifier_set())?; + let verifier_set = VerifierSetWrapper::new_from_verifier_set(initial_signers.verifier_set())?; let initialize_config = InitializeConfig { domain_separator: DOMAIN_SEPARATOR, initial_signer_sets: vec![verifier_set], @@ -487,7 +487,7 @@ async fn evaluate_iteration_with_side_effects( result: Result, writer: Arc>>, batch_size: usize, - num_addditional_accounts: usize, + num_additional_accounts: usize, message_size: usize, ) { match result { @@ -502,7 +502,7 @@ async fn evaluate_iteration_with_side_effects( })) => { tracing::error!("{message}"); - match (batch_size, num_addditional_accounts, message_size) { + match (batch_size, num_additional_accounts, message_size) { // In case we are at the first iteration of both inner loops and we fail, we // reached the overall limit and should stop running. (MIN_MESSAGES_PER_BATCH, MIN_ACCOUNTS_AMOUNT, MIN_MESSAGE_SIZE) => { @@ -657,10 +657,10 @@ fn get_filename(encoding: EncodingScheme) -> String { fn make_message_with_payload_data( data: &[u8], counter_pda: Pubkey, - num_addditional_accounts: usize, + num_additional_accounts: usize, encoding: EncodingScheme, ) -> (Message, DataPayload<'_>) { - let accounts = (0..num_addditional_accounts).fold( + let accounts = (0..num_additional_accounts).fold( vec![AccountMeta::new(counter_pda, false)], |mut acc, _| { acc.push(AccountMeta::new(Pubkey::new_unique(), false)); diff --git a/solana/xtask/src/cli/cmd/testnet/cosmwasm_interactions.rs b/solana/xtask/src/cli/cmd/testnet/cosmwasm_interactions.rs index 3dfa991..52d1a57 100644 --- a/solana/xtask/src/cli/cmd/testnet/cosmwasm_interactions.rs +++ b/solana/xtask/src/cli/cmd/testnet/cosmwasm_interactions.rs @@ -116,7 +116,7 @@ pub(crate) async fn axelar_destination_multisig_prover_construct_proof( pub(crate) async fn axelar_source_gateway_route_messages( message: &router_api::Message, cosmwasm_signer: &SigningClient, - soruce_axelar_gateway: &devnet_amplifier::Contract, + source_axelar_gateway: &devnet_amplifier::Contract, ) -> eyre::Result<()> { tracing::info!("Axelar source Gateway.route_messages()"); let msg = gateway_api::msg::ExecuteMsg::RouteMessages(vec![message.clone()]); @@ -124,7 +124,7 @@ pub(crate) async fn axelar_source_gateway_route_messages( sender: cosmwasm_signer.signer_account_id()?, msg: serde_json::to_vec(&msg)?, funds: vec![], - contract: cosmrs::AccountId::from_str(soruce_axelar_gateway.address.as_str()).unwrap(), + contract: cosmrs::AccountId::from_str(source_axelar_gateway.address.as_str()).unwrap(), }; let _response = cosmwasm_signer .sign_and_broadcast(vec![execute.into_any()?], &default_gas()) @@ -136,7 +136,7 @@ pub(crate) async fn axelar_source_gateway_route_messages( pub(crate) async fn axelar_source_gateway_verify_messages( message: &router_api::Message, cosmwasm_signer: &SigningClient, - soruce_axelar_gateway: &devnet_amplifier::Contract, + source_axelar_gateway: &devnet_amplifier::Contract, ) -> eyre::Result<()> { tracing::info!(?message, "Axelar gateway.verify_messages"); let msg = gateway_api::msg::ExecuteMsg::VerifyMessages(vec![message.clone()]); @@ -144,7 +144,7 @@ pub(crate) async fn axelar_source_gateway_verify_messages( sender: cosmwasm_signer.signer_account_id()?, msg: serde_json::to_vec(&msg)?, funds: vec![], - contract: cosmrs::AccountId::from_str(soruce_axelar_gateway.address.as_str()).unwrap(), + contract: cosmrs::AccountId::from_str(source_axelar_gateway.address.as_str()).unwrap(), }; let _response = cosmwasm_signer .sign_and_broadcast(vec![execute.into_any()?], &default_gas()) diff --git a/solana/xtask/src/cli/cmd/testnet/multisig_prover_api.rs b/solana/xtask/src/cli/cmd/testnet/multisig_prover_api.rs index 612be8c..e02531e 100644 --- a/solana/xtask/src/cli/cmd/testnet/multisig_prover_api.rs +++ b/solana/xtask/src/cli/cmd/testnet/multisig_prover_api.rs @@ -1,4 +1,4 @@ -// NOTE: there are issues with using `multisig-prover` as a dependency (bulid +// NOTE: there are issues with using `multisig-prover` as a dependency (build // breaks). Thats why the types are re-defined here use axelar_wasm_std::nonempty::Uint64; use axelar_wasm_std::MajorityThreshold; diff --git a/solana/xtask/src/main.rs b/solana/xtask/src/main.rs index 2632ea8..ec1262a 100644 --- a/solana/xtask/src/main.rs +++ b/solana/xtask/src/main.rs @@ -1,4 +1,4 @@ -//! Utility crate for managing tasks, commond commands, +//! Utility crate for managing tasks, common commands, //! deployments for the solana-axelar integration. use std::sync::OnceLock;