From 87fd70408b3ca6084b0da018d2b9cfe725d94dba Mon Sep 17 00:00:00 2001 From: razeprasine Date: Wed, 27 May 2026 19:08:58 +0100 Subject: [PATCH] Fix Issue 269 --- .gitignore | 2 ++ .../tests/protocol_config_initialized.rs | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ac9569b..46488f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ target/ .DS_Store .soroban/ + +fix.md \ No newline at end of file diff --git a/creator-keys/tests/protocol_config_initialized.rs b/creator-keys/tests/protocol_config_initialized.rs index 645bd56..7e89922 100644 --- a/creator-keys/tests/protocol_config_initialized.rs +++ b/creator-keys/tests/protocol_config_initialized.rs @@ -1,6 +1,9 @@ //! Tests for the is_protocol_config_initialized read-only method. -use creator_keys::{CreatorKeysContract, CreatorKeysContractClient}; +mod contract_test_env; + +use contract_test_env::{register_creator_keys, set_protocol_fee_bps, test_env_with_auths}; +use creator_keys::{ContractError, CreatorKeysContract, CreatorKeysContractClient}; use soroban_sdk::{testutils::Address as _, Env}; #[test] @@ -34,3 +37,17 @@ fn test_is_protocol_config_initialized_is_read_only() { assert_eq!(first_read, second_read); assert!(first_read); } + +#[test] +fn test_protocol_config_state_is_unchanged_after_rejected_reinitialization() { + let env = test_env_with_auths(); + let (client, _) = register_creator_keys(&env); + let admin = set_protocol_fee_bps(&env, &client, 9000u32, 1000u32); + + let result = client.try_set_fee_config(&admin, &8000u32, &1000u32); + assert_eq!(result, Err(Ok(ContractError::InvalidFeeConfig))); + + let config = client.get_fee_config().unwrap(); + assert_eq!(config.creator_bps, 9000); + assert_eq!(config.protocol_bps, 1000); +}