Summary
The escrow contract guards against double-initialization with AlreadyInitialized. However, there is no test that verifies this guard works correctly when initialize() is called twice in quick succession, simulating a race condition in a test environment.
File
contracts/escrow/src/test.rs
Expected fix
Add a test:
#[test]
#[should_panic(expected = "AlreadyInitialized")]
fn test_double_initialize_panics() {
// ... setup ...
client.initialize(&depositor, &recipient, &arbiter, &token, &amount, &expiry);
client.initialize(&depositor, &recipient, &arbiter, &token, &amount, &expiry); // should panic
}
Acceptance criteria
Summary
The escrow contract guards against double-initialization with
AlreadyInitialized. However, there is no test that verifies this guard works correctly wheninitialize()is called twice in quick succession, simulating a race condition in a test environment.File
contracts/escrow/src/test.rsExpected fix
Add a test:
Acceptance criteria
cargo test