From 40b08c436741d63e7b8418c43d477bb9207bf1d1 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Fri, 26 Jul 2024 18:14:41 +0400 Subject: [PATCH 1/5] upgrade github workflows to sbf, and make the checks pass --- .github/workflows/audit.yml | 4 +- .github/workflows/lint-test.yaml | 12 ++-- .../src/instructions/configure_registrar.rs | 2 +- .../src/instructions/create_registrar.rs | 2 +- programs/gateway/src/state/mod.rs | 1 - .../src/instructions/cast_nft_vote.rs | 6 +- .../update_voter_weight_record.rs | 2 +- programs/nft-voter/src/lib.rs | 4 +- .../nft-voter/src/tools/token_metadata.rs | 2 +- .../tests/program_test/token_metadata_test.rs | 72 ++++++++++--------- .../configure_governance_program.rs | 2 +- programs/realm-voter/src/state/registrar.rs | 1 - .../update_voter_weight_record.rs | 2 +- programs/token-haver/src/lib.rs | 3 +- 14 files changed, 59 insertions(+), 56 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index 3d40bd3d..8b07d2b6 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -42,8 +42,8 @@ jobs: sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_VERSION }}/install)" echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" - echo Installing bpf toolchain... - (cd /home/runner/.local/share/solana/install/active_release/bin/sdk/bpf/scripts; ./install.sh) + echo Installing sbf toolchain... + (cd /home/runner/.local/share/solana/install/active_release/bin/sdk/sbf/scripts; ./install.sh) shell: bash - name: Install Soteria diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index 15f4029c..7936c1d2 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -71,13 +71,13 @@ jobs: echo Generating keypair... solana-keygen new -o "$HOME/.config/solana/id.json" --no-passphrase --silent - - name: Install BPF tools - # Note: as a workaround for cargo build-bpf issue run it and ignore errors to install the BPF tools + - name: Install SBF tools + # Note: as a workaround for cargo build-sbf issue run it and ignore errors to install the sbf tools # https://github.com/solana-labs/solana/issues/26583 - run: cargo build-bpf || true + run: cargo build-sbf || true - name: Build dependencies - run: cargo +bpf build-bpf + run: cargo build-sbf - - name: Run bpf tests - run: cargo +bpf test-bpf + - name: Run sbf tests + run: cargo test-sbf diff --git a/programs/gateway/src/instructions/configure_registrar.rs b/programs/gateway/src/instructions/configure_registrar.rs index c02a6d00..20fa9ef4 100644 --- a/programs/gateway/src/instructions/configure_registrar.rs +++ b/programs/gateway/src/instructions/configure_registrar.rs @@ -50,7 +50,7 @@ pub fn configure_registrar( registrar.previous_voter_weight_plugin_program_id = use_previous_voter_weight_plugin .then(|| { remaining_accounts - .get(0) + .first() .ok_or(GatewayError::MissingPreviousVoterWeightPlugin) .map(|account| account.key) }) diff --git a/programs/gateway/src/instructions/create_registrar.rs b/programs/gateway/src/instructions/create_registrar.rs index 775c5d0c..a221aa35 100644 --- a/programs/gateway/src/instructions/create_registrar.rs +++ b/programs/gateway/src/instructions/create_registrar.rs @@ -76,7 +76,7 @@ pub fn create_registrar( registrar.previous_voter_weight_plugin_program_id = use_previous_voter_weight_plugin .then(|| { remaining_accounts - .get(0) + .first() .ok_or(GatewayError::MissingPreviousVoterWeightPlugin) .map(|account| account.key) }) diff --git a/programs/gateway/src/state/mod.rs b/programs/gateway/src/state/mod.rs index 4b127448..c08f1387 100644 --- a/programs/gateway/src/state/mod.rs +++ b/programs/gateway/src/state/mod.rs @@ -7,5 +7,4 @@ pub mod voter_weight_record; pub use generic_voter_weight::*; pub mod generic_voter_weight; -pub use token_owner_record::*; pub mod token_owner_record; diff --git a/programs/nft-voter/src/instructions/cast_nft_vote.rs b/programs/nft-voter/src/instructions/cast_nft_vote.rs index c869deb7..968bfd65 100644 --- a/programs/nft-voter/src/instructions/cast_nft_vote.rs +++ b/programs/nft-voter/src/instructions/cast_nft_vote.rs @@ -50,8 +50,8 @@ pub struct CastNftVote<'info> { } /// Casts vote with the NFT -pub fn cast_nft_vote<'a, 'b, 'c, 'info>( - ctx: Context<'a, 'b, 'c, 'info, CastNftVote<'info>>, +pub fn cast_nft_vote<'info>( + ctx: Context<'_, '_, '_, 'info, CastNftVote<'info>>, proposal: Pubkey, ) -> Result<()> { let registrar = &ctx.accounts.registrar; @@ -82,7 +82,7 @@ pub fn cast_nft_vote<'a, 'b, 'c, 'info>( &mut unique_nft_mints, )?; - voter_weight = voter_weight.checked_add(nft_vote_weight as u64).unwrap(); + voter_weight = voter_weight.checked_add(nft_vote_weight).unwrap(); // Create NFT vote record to ensure the same NFT hasn't been already used for voting // Note: The correct PDA of the NftVoteRecord is validated in create_and_serialize_account_signed diff --git a/programs/nft-voter/src/instructions/update_voter_weight_record.rs b/programs/nft-voter/src/instructions/update_voter_weight_record.rs index 43145e2a..ea80cb29 100644 --- a/programs/nft-voter/src/instructions/update_voter_weight_record.rs +++ b/programs/nft-voter/src/instructions/update_voter_weight_record.rs @@ -58,7 +58,7 @@ pub fn update_voter_weight_record( &mut unique_nft_mints, )?; - voter_weight = voter_weight.checked_add(nft_vote_weight as u64).unwrap(); + voter_weight = voter_weight.checked_add(nft_vote_weight).unwrap(); } let voter_weight_record = &mut ctx.accounts.voter_weight_record; diff --git a/programs/nft-voter/src/lib.rs b/programs/nft-voter/src/lib.rs index fcd118fe..b1c9b956 100644 --- a/programs/nft-voter/src/lib.rs +++ b/programs/nft-voter/src/lib.rs @@ -54,8 +54,8 @@ pub mod nft_voter { instructions::configure_collection(ctx, weight, size) } - pub fn cast_nft_vote<'a, 'b, 'c, 'info>( - ctx: Context<'a, 'b, 'c, 'info, CastNftVote<'info>>, + pub fn cast_nft_vote<'info>( + ctx: Context<'_, '_, '_, 'info, CastNftVote<'info>>, proposal: Pubkey, ) -> Result<()> { log_version(); diff --git a/programs/nft-voter/src/tools/token_metadata.rs b/programs/nft-voter/src/tools/token_metadata.rs index 8ac1007b..1e590493 100644 --- a/programs/nft-voter/src/tools/token_metadata.rs +++ b/programs/nft-voter/src/tools/token_metadata.rs @@ -9,7 +9,7 @@ pub fn get_token_metadata(account_info: &AccountInfo) -> Result { if *account_info.owner != mpl_token_metadata::ID { return Err(NftVoterError::InvalidAccountOwner.into()); } - + let metadata = Metadata::try_from(account_info)?; // I'm not sure if this is needed but try_from_slice_checked in from_account_info diff --git a/programs/nft-voter/tests/program_test/token_metadata_test.rs b/programs/nft-voter/tests/program_test/token_metadata_test.rs index 08c94ea8..6ffd5b99 100644 --- a/programs/nft-voter/tests/program_test/token_metadata_test.rs +++ b/programs/nft-voter/tests/program_test/token_metadata_test.rs @@ -95,15 +95,16 @@ impl TokenMetadataTest { }; // instruction accounts - let create_coll_metadata_ix_accounts = mpl_token_metadata::instructions::CreateMetadataAccountV3 { - metadata: coll_metadata_key, - mint: coll_mint_cookie.address, - mint_authority: coll_mint_cookie.mint_authority.pubkey(), - payer: payer, - update_authority: (payer, true), - system_program: system_program::ID, - rent: None, - }; + let create_coll_metadata_ix_accounts = + mpl_token_metadata::instructions::CreateMetadataAccountV3 { + metadata: coll_metadata_key, + mint: coll_mint_cookie.address, + mint_authority: coll_mint_cookie.mint_authority.pubkey(), + payer: payer, + update_authority: (payer, true), + system_program: system_program::ID, + rent: None, + }; // creates the instruction let create_coll_metadata_ix = create_coll_metadata_ix_accounts.instruction(args); @@ -124,26 +125,28 @@ impl TokenMetadataTest { let (master_edition_key, _) = Pubkey::find_program_address(master_edition_seeds, &self.program_id); - // instruction args - let args_master_edition_v3 = mpl_token_metadata::instructions::CreateMasterEditionV3InstructionArgs { - max_supply: Some(0), - }; + let args_master_edition_v3 = + mpl_token_metadata::instructions::CreateMasterEditionV3InstructionArgs { + max_supply: Some(0), + }; // instruction accounts - let create_master_edition_v3_ix_accounts = mpl_token_metadata::instructions::CreateMasterEditionV3 { - edition: master_edition_key, - metadata: coll_metadata_key, - mint: coll_mint_cookie.address, - mint_authority: coll_mint_cookie.mint_authority.pubkey(), - payer: payer, - update_authority: payer, - system_program: system_program::ID, - token_program: spl_token::id(), - rent: None, - }; + let create_master_edition_v3_ix_accounts = + mpl_token_metadata::instructions::CreateMasterEditionV3 { + edition: master_edition_key, + metadata: coll_metadata_key, + mint: coll_mint_cookie.address, + mint_authority: coll_mint_cookie.mint_authority.pubkey(), + payer: payer, + update_authority: payer, + system_program: system_program::ID, + token_program: spl_token::id(), + rent: None, + }; - let create_master_edition_ix = create_master_edition_v3_ix_accounts.instruction(args_master_edition_v3); + let create_master_edition_ix = + create_master_edition_v3_ix_accounts.instruction(args_master_edition_v3); self.bench .process_transaction( @@ -210,15 +213,16 @@ impl TokenMetadataTest { }; // instruction accounts - let create_metadata_ix_accounts = mpl_token_metadata::instructions::CreateMetadataAccountV3 { - metadata: metadata_key, - mint: mint_cookie.address, - mint_authority: mint_cookie.mint_authority.pubkey(), - payer: self.bench.payer.pubkey(), - update_authority: (self.bench.payer.pubkey(), true), - system_program: system_program::ID, - rent: None, - }; + let create_metadata_ix_accounts = + mpl_token_metadata::instructions::CreateMetadataAccountV3 { + metadata: metadata_key, + mint: mint_cookie.address, + mint_authority: mint_cookie.mint_authority.pubkey(), + payer: self.bench.payer.pubkey(), + update_authority: (self.bench.payer.pubkey(), true), + system_program: system_program::ID, + rent: None, + }; // creates the instruction let create_metadata_ix = create_metadata_ix_accounts.instruction(args); diff --git a/programs/realm-voter/src/instructions/configure_governance_program.rs b/programs/realm-voter/src/instructions/configure_governance_program.rs index e19917ec..cc6300f0 100644 --- a/programs/realm-voter/src/instructions/configure_governance_program.rs +++ b/programs/realm-voter/src/instructions/configure_governance_program.rs @@ -8,7 +8,7 @@ use anchor_lang::prelude::*; use spl_governance::state::realm; use crate::error::RealmVoterError; -use crate::state::{GovernanceProgramConfig, Registrar, CollectionItemChangeType}; +use crate::state::{CollectionItemChangeType, GovernanceProgramConfig, Registrar}; /// Creates or updates configuration for spl-governance program instances to define which spl-governance instances can be used to grant governance power #[derive(Accounts)] diff --git a/programs/realm-voter/src/state/registrar.rs b/programs/realm-voter/src/state/registrar.rs index 62a01607..ee437766 100644 --- a/programs/realm-voter/src/state/registrar.rs +++ b/programs/realm-voter/src/state/registrar.rs @@ -11,7 +11,6 @@ pub enum CollectionItemChangeType { Remove, } - /// Registrar which stores spl-governance configurations for the given Realm #[account] #[derive(Debug, PartialEq)] diff --git a/programs/token-haver/src/instructions/update_voter_weight_record.rs b/programs/token-haver/src/instructions/update_voter_weight_record.rs index dc1aee96..335d8edf 100644 --- a/programs/token-haver/src/instructions/update_voter_weight_record.rs +++ b/programs/token-haver/src/instructions/update_voter_weight_record.rs @@ -44,7 +44,7 @@ pub fn update_voter_weight_record<'info>( voter_weight_record.governing_token_owner, TokenHaverError::TokenAccountWrongOwner ); - + // Throw an error if a token account's mint is not unique amount the accounts require!( nonzero_token_accounts diff --git a/programs/token-haver/src/lib.rs b/programs/token-haver/src/lib.rs index 7ca92f9f..eac8b746 100644 --- a/programs/token-haver/src/lib.rs +++ b/programs/token-haver/src/lib.rs @@ -28,7 +28,8 @@ pub mod token_haver { instructions::create_voter_weight_record(ctx, governing_token_owner) } pub fn update_voter_weight_record<'info>( - ctx: Context<'_, '_, 'info, 'info, UpdateVoterWeightRecord<'info>>,) -> Result<()> { + ctx: Context<'_, '_, 'info, 'info, UpdateVoterWeightRecord<'info>>, + ) -> Result<()> { log_version(); instructions::update_voter_weight_record(ctx) } From 357c646f2ff63bde2bb89a5bf4db2d15440e7448 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Fri, 26 Jul 2024 18:33:11 +0400 Subject: [PATCH 2/5] second try to make checks pass --- .cargo/audit.toml | 7 ++++++- programs/gateway/src/instructions/configure_registrar.rs | 1 + programs/gateway/src/instructions/create_registrar.rs | 1 + programs/nft-voter/src/instructions/create_registrar.rs | 1 + programs/realm-voter/src/instructions/create_registrar.rs | 1 + programs/token-haver/src/instructions/create_registrar.rs | 1 + 6 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.cargo/audit.toml b/.cargo/audit.toml index ac55a4c4..ac6b46d5 100644 --- a/.cargo/audit.toml +++ b/.cargo/audit.toml @@ -2,7 +2,12 @@ # RUSTSEC-2020-0071 as dependency in RUSTSEC-2020-0159 [advisories] -ignore = ["RUSTSEC-2020-0159", "RUSTSEC-2020-0071"] # advisory IDs to ignore e.g. ["RUSTSEC-2019-0001", ...] +ignore = [ + "RUSTSEC-2020-0159", + "RUSTSEC-2020-0071", # Potential segfault in the time crate + "RUSTSEC-2022-0093", + "RUSTSEC-2024-0344" # curve25519-dalek +] informational_warnings = ["unmaintained"] # warn for categories of informational advisories severity_threshold = "medium" # CVSS severity ("none", "low", "medium", "high", "critical") diff --git a/programs/gateway/src/instructions/configure_registrar.rs b/programs/gateway/src/instructions/configure_registrar.rs index 20fa9ef4..027cf5dd 100644 --- a/programs/gateway/src/instructions/configure_registrar.rs +++ b/programs/gateway/src/instructions/configure_registrar.rs @@ -17,6 +17,7 @@ pub struct ConfigureRegistrar<'info> { /// Realm is validated in the instruction: /// - Realm is owned by the governance_program_id /// - realm_authority is realm.authority + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account( address = registrar.realm @ GatewayError::InvalidRealmForRegistrar, diff --git a/programs/gateway/src/instructions/create_registrar.rs b/programs/gateway/src/instructions/create_registrar.rs index a221aa35..86a290a4 100644 --- a/programs/gateway/src/instructions/create_registrar.rs +++ b/programs/gateway/src/instructions/create_registrar.rs @@ -31,6 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, diff --git a/programs/nft-voter/src/instructions/create_registrar.rs b/programs/nft-voter/src/instructions/create_registrar.rs index efaa29f8..5a521613 100644 --- a/programs/nft-voter/src/instructions/create_registrar.rs +++ b/programs/nft-voter/src/instructions/create_registrar.rs @@ -31,6 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, diff --git a/programs/realm-voter/src/instructions/create_registrar.rs b/programs/realm-voter/src/instructions/create_registrar.rs index 1930711d..75e24135 100644 --- a/programs/realm-voter/src/instructions/create_registrar.rs +++ b/programs/realm-voter/src/instructions/create_registrar.rs @@ -31,6 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, diff --git a/programs/token-haver/src/instructions/create_registrar.rs b/programs/token-haver/src/instructions/create_registrar.rs index ed05dc15..0957a062 100644 --- a/programs/token-haver/src/instructions/create_registrar.rs +++ b/programs/token-haver/src/instructions/create_registrar.rs @@ -31,6 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, From 9400c1f46f21ce0ab6e54ac50951d6bcf54941c5 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Fri, 26 Jul 2024 19:36:23 +0400 Subject: [PATCH 3/5] third try to fix checks, add draft sec3 audits --- .github/workflows/audit-sec3.yml | 27 ++++++++ .github/workflows/audit.yml | 59 ------------------ .github/workflows/lint-test.yaml | 2 +- .../src/instructions/configure_registrar.rs | 2 +- .../src/instructions/create_registrar.rs | 2 +- .../tests/fixtures/solana_gateway_program.so | Bin 161600 -> 130832 bytes .../src/instructions/create_registrar.rs | 2 +- .../src/instructions/create_registrar.rs | 2 +- .../src/instructions/create_registrar.rs | 2 +- 9 files changed, 33 insertions(+), 65 deletions(-) create mode 100644 .github/workflows/audit-sec3.yml delete mode 100644 .github/workflows/audit.yml diff --git a/.github/workflows/audit-sec3.yml b/.github/workflows/audit-sec3.yml new file mode 100644 index 00000000..d1256af3 --- /dev/null +++ b/.github/workflows/audit-sec3.yml @@ -0,0 +1,27 @@ +name: Sec3 Pro Audit + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + audit: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - name: Check-out the repository + uses: actions/checkout@v2 + - name: Sec3 Pro Audit + continue-on-error: false # set to true if you don't want to fail jobs + uses: sec3dev/pro-action@v1 + with: + sec3-token: ${{ secrets.SEC3_TOKEN }} + path: programs/* + - name: Upload Sarif Report + uses: github/codeql-action/upload-sarif@v1 + with: + sarif_file: sec3-report.sarif \ No newline at end of file diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml deleted file mode 100644 index 8b07d2b6..00000000 --- a/.github/workflows/audit.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Soteria Audit - -on: - push: - branches: - - master - pull_request: - branches: - - master - -env: - CARGO_TERM_COLOR: always - SOLANA_VERSION: '1.18.18' - -jobs: - build: - name: Soteria - runs-on: ubuntu-latest - steps: - - name: Check-out repo - uses: actions/checkout@v2 - - - name: Cache Solana binaries - uses: actions/cache@v2 - id: solana-cache - with: - path: | - ~/.cache/solana - ~/.local/share/solana - ~/.rustup - key: solana-${{ env.SOLANA_VERSION }} - - - name: Cache build dependencies - uses: Swatinem/rust-cache@v1 - with: - target-dir: .coderrect/build - - - name: Install Solana - if: steps.solana-cache.outputs.cache-hit != 'true' - run: | - echo Installing Solana v${{ env.SOLANA_VERSION }}...🧬 - sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_VERSION }}/install)" - echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH - export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" - echo Installing sbf toolchain... - (cd /home/runner/.local/share/solana/install/active_release/bin/sdk/sbf/scripts; ./install.sh) - shell: bash - - - name: Install Soteria - run: | - echo Installing Soteria...🔬 - sh -c "$(curl -k https://supercompiler.xyz/install)" - export PATH=$PWD/soteria-linux-develop/bin/:$PATH - echo "$PWD/soteria-linux-develop/bin" >> $GITHUB_PATH - shell: bash - - - name: Run Soteria 🚀 # fails CI job if issues are found - run: soteria -analyzeAll . - shell: bash diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index 7936c1d2..5d221a39 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -33,7 +33,7 @@ jobs: run: cargo fmt -- --check - name: Run clippy - run: cargo clippy -- --deny=warnings + run: cargo clippy -- -A clippy::pedantic --deny=warnings test: name: Run Tests diff --git a/programs/gateway/src/instructions/configure_registrar.rs b/programs/gateway/src/instructions/configure_registrar.rs index 027cf5dd..a295b5c4 100644 --- a/programs/gateway/src/instructions/configure_registrar.rs +++ b/programs/gateway/src/instructions/configure_registrar.rs @@ -17,7 +17,7 @@ pub struct ConfigureRegistrar<'info> { /// Realm is validated in the instruction: /// - Realm is owned by the governance_program_id /// - realm_authority is realm.authority - /// + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account( address = registrar.realm @ GatewayError::InvalidRealmForRegistrar, diff --git a/programs/gateway/src/instructions/create_registrar.rs b/programs/gateway/src/instructions/create_registrar.rs index 86a290a4..fc904a9d 100644 --- a/programs/gateway/src/instructions/create_registrar.rs +++ b/programs/gateway/src/instructions/create_registrar.rs @@ -31,7 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority - /// + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, diff --git a/programs/gateway/tests/fixtures/solana_gateway_program.so b/programs/gateway/tests/fixtures/solana_gateway_program.so index 152ae95096291618fb10c417c343c54010c0b1ad..63b733ecc98d90bc5568a17c1baf7b89cfdd7f07 100755 GIT binary patch literal 130832 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 literal 161600 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 z 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 TOZ)fx^6I3@o6_Z6j{pBZcH^A# diff --git a/programs/nft-voter/src/instructions/create_registrar.rs b/programs/nft-voter/src/instructions/create_registrar.rs index 5a521613..db6f7f99 100644 --- a/programs/nft-voter/src/instructions/create_registrar.rs +++ b/programs/nft-voter/src/instructions/create_registrar.rs @@ -31,7 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority - /// + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, diff --git a/programs/realm-voter/src/instructions/create_registrar.rs b/programs/realm-voter/src/instructions/create_registrar.rs index 75e24135..f340da6f 100644 --- a/programs/realm-voter/src/instructions/create_registrar.rs +++ b/programs/realm-voter/src/instructions/create_registrar.rs @@ -31,7 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority - /// + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, diff --git a/programs/token-haver/src/instructions/create_registrar.rs b/programs/token-haver/src/instructions/create_registrar.rs index 0957a062..5522bac1 100644 --- a/programs/token-haver/src/instructions/create_registrar.rs +++ b/programs/token-haver/src/instructions/create_registrar.rs @@ -31,7 +31,7 @@ pub struct CreateRegistrar<'info> { /// - Realm is owned by the governance_program_id /// - governing_token_mint must be the community or council mint /// - realm_authority is realm.authority - /// + /// /// CHECK: Owned by spl-governance instance specified in governance_program_id #[account(owner = governance_program_id.key())] pub realm: UncheckedAccount<'info>, From d86c31cab69ba8bba05f7d26ff1d6c9416efe1a6 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Fri, 26 Jul 2024 19:58:15 +0400 Subject: [PATCH 4/5] fix token-haver get_space() --- .github/workflows/audit-sec3.yml | 2 +- programs/token-haver/src/state/registrar.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/audit-sec3.yml b/.github/workflows/audit-sec3.yml index d1256af3..d41a8522 100644 --- a/.github/workflows/audit-sec3.yml +++ b/.github/workflows/audit-sec3.yml @@ -20,7 +20,7 @@ jobs: uses: sec3dev/pro-action@v1 with: sec3-token: ${{ secrets.SEC3_TOKEN }} - path: programs/* + path: programs - name: Upload Sarif Report uses: github/codeql-action/upload-sarif@v1 with: diff --git a/programs/token-haver/src/state/registrar.rs b/programs/token-haver/src/state/registrar.rs index b36a121d..c1eaa050 100644 --- a/programs/token-haver/src/state/registrar.rs +++ b/programs/token-haver/src/state/registrar.rs @@ -33,7 +33,7 @@ pub struct Registrar { impl Registrar { pub fn get_space(max_mints: u8) -> usize { - DISCRIMINATOR_SIZE + PUBKEY_BYTES * 3 + max_mints as usize * (PUBKEY_BYTES + 8) + DISCRIMINATOR_SIZE + PUBKEY_BYTES * 3 + 4 + max_mints as usize * PUBKEY_BYTES } } From 3167260421c051e1e3fee8b51aa4b2ce66040f65 Mon Sep 17 00:00:00 2001 From: crypt0miester Date: Fri, 26 Jul 2024 20:25:58 +0400 Subject: [PATCH 5/5] recommit to run sec3 audit --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index b0a2221e..d669dce5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ -# governance-program-library - +# governance-program-library \ No newline at end of file