Repository: OpenZeppelin/cairo-contracts (language: python)

Issue:
Update edition to `2024_07`



Discussion / hints:
Release notes of `2024_07` edition: https://community.starknet.io/t/cairo-v2-7-0-is-coming/114362#the-2024_07-edition-3

Fix patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a32896ab..01a526470 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Bump scarb to v2.8.2 (#1137)
 - Bump snforge to 0.30.0 (#1137)
 - `declare_class`, `declare_and_deploy`, and `declare_and_deploy_at` will skip declaration if the contract is already declared (#1137)
+- Bump edition to 2024_07 (#1138)
 
 ## 0.16.0 (2024-08-30)
 
diff --git a/Scarb.toml b/Scarb.toml
index e5b802347..e7db75fa7 100644
--- a/Scarb.toml
+++ b/Scarb.toml
@@ -20,7 +20,7 @@ version.workspace = true
 
 [workspace.package]
 version = "0.16.0"
-edition = "2023_11"
+edition = "2024_07"
 cairo-version = "2.8.2"
 scarb-version = "2.8.2"
 authors = ["OpenZeppelin Community <maintainers@openzeppelin.org>"]
diff --git a/packages/access/src/accesscontrol/accesscontrol.cairo b/packages/access/src/accesscontrol/accesscontrol.cairo
index ae559f2fe..857242726 100644
--- a/packages/access/src/accesscontrol/accesscontrol.cairo
+++ b/packages/access/src/accesscontrol/accesscontrol.cairo
@@ -13,12 +13,12 @@ pub mod AccessControlComponent {
     use openzeppelin_introspection::src5::SRC5Component;
     use starknet::ContractAddress;
     use starknet::get_caller_address;
-    use starknet::storage::Map;
+    use starknet::storage::{Map, StorageMapReadAccess, StorageMapWriteAccess};
 
     #[storage]
-    struct Storage {
-        AccessControl_role_admin: Map<felt252, felt252>,
-        AccessControl_role_member: Map<(felt252, ContractAddress), bool>,
+    pub struct Storage {
+        pub AccessControl_role_admin: Map<felt252, felt252>,
+        pub AccessControl_role_member: Map<(felt252, ContractAddress), bool>,
     }
 
     #[event]
diff --git a/packages/access/src/ownable/ownable.cairo b/packages/access/src/ownable/ownable.cairo
index f5095297a..050a0bc9b 100644
--- a/packages/access/src/ownable/ownable.cairo
+++ b/packages/access/src/ownable/ownable.cairo
@@ -20,11 +20,12 @@ pub mod OwnableComponent {
     use crate::ownable::interface;
     use starknet::ContractAddress;
     use starknet::get_caller_address;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
     #[storage]
-    struct Storage {
-        Ownable_owner: ContractAddress,
-        Ownable_pending_owner: ContractAddress
+    pub struct Storage {
+        pub Ownable_owner: ContractAddress,
+        pub Ownable_pending_owner: ContractAddress
     }
 
     #[event]
diff --git a/packages/account/src/account.cairo b/packages/account/src/account.cairo
index a9538be72..312979eb3 100644
--- a/packages/account/src/account.cairo
+++ b/packages/account/src/account.cairo
@@ -19,10 +19,11 @@ pub mod AccountComponent {
     use starknet::get_caller_address;
     use starknet::get_contract_address;
     use starknet::get_tx_info;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
     #[storage]
-    struct Storage {
-        Account_public_key: felt252
+    pub struct Storage {
+        pub Account_public_key: felt252
     }
 
     #[event]
diff --git a/packages/account/src/eth_account.cairo b/packages/account/src/eth_account.cairo
index d3d109b94..4fdab40a5 100644
--- a/packages/account/src/eth_account.cairo
+++ b/packages/account/src/eth_account.cairo
@@ -23,10 +23,11 @@ pub mod EthAccountComponent {
     use starknet::get_caller_address;
     use starknet::get_contract_address;
     use starknet::get_tx_info;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
     #[storage]
-    struct Storage {
-        EthAccount_public_key: EthPublicKey
+    pub struct Storage {
+        pub EthAccount_public_key: EthPublicKey
     }
 
     #[event]
diff --git a/packages/governance/src/timelock/timelock_controller.cairo b/packages/governance/src/timelock/timelock_controller.cairo
index 3c6a971e7..eddd5609b 100644
--- a/packages/governance/src/timelock/timelock_controller.cairo
+++ b/packages/governance/src/timelock/timelock_controller.cairo
@@ -30,7 +30,10 @@ pub mod TimelockControllerComponent {
     use starknet::ContractAddress;
     use starknet::SyscallResultTrait;
     use starknet::account::Call;
-    use starknet::storage::Map;
+    use starknet::storage::{
+        Map, StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess,
+        StoragePointerWriteAccess
+    };
     use super::OperationState;
 
     // Constants
@@ -40,9 +43,9 @@ pub mod TimelockControllerComponent {
     const DONE_TIMESTAMP: u64 = 1;
 
     #[storage]
-    struct Storage {
-        TimelockController_timestamps: Map<felt252, u64>,
-        TimelockController_min_delay: u64
+    pub struct Storage {
+        pub TimelockController_timestamps: Map<felt252, u64>,
+        pub TimelockController_min_delay: u64
     }
 
     #[event]
diff --git a/packages/introspection/src/src5.cairo b/packages/introspection/src/src5.cairo
index 8bceb3860..dcea6381d 100644
--- a/packages/introspection/src/src5.cairo
+++ b/packages/introspection/src/src5.cairo
@@ -7,11 +7,11 @@
 #[starknet::component]
 pub mod SRC5Component {
     use crate::interface;
-    use starknet::storage::Map;
+    use starknet::storage::{Map, StorageMapReadAccess, StorageMapWriteAccess};
 
     #[storage]
-    struct Storage {
-        SRC5_supported_interfaces: Map<felt252, bool>
+    pub struct Storage {
+        pub SRC5_supported_interfaces: Map<felt252, bool>
     }
 
     pub mod Errors {
diff --git a/packages/presets/src/account.cairo b/packages/presets/src/account.cairo
index 4665c165d..25fbaa96f 100644
--- a/packages/presets/src/account.cairo
+++ b/packages/presets/src/account.cairo
@@ -27,13 +27,13 @@ pub mod AccountUpgradeable {
     impl UpgradeableInternalImpl = UpgradeableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage,
+        pub src5: SRC5Component::Storage,
         #[substorage(v0)]
-        upgradeable: UpgradeableComponent::Storage
+        pub upgradeable: UpgradeableComponent::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/erc1155.cairo b/packages/presets/src/erc1155.cairo
index 63b845ef2..1fd81732c 100644
--- a/packages/presets/src/erc1155.cairo
+++ b/packages/presets/src/erc1155.cairo
@@ -36,15 +36,15 @@ pub mod ERC1155Upgradeable {
     impl UpgradeableInternalImpl = UpgradeableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        ownable: OwnableComponent::Storage,
+        pub ownable: OwnableComponent::Storage,
         #[substorage(v0)]
-        erc1155: ERC1155Component::Storage,
+        pub erc1155: ERC1155Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage,
+        pub src5: SRC5Component::Storage,
         #[substorage(v0)]
-        upgradeable: UpgradeableComponent::Storage
+        pub upgradeable: UpgradeableComponent::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/erc20.cairo b/packages/presets/src/erc20.cairo
index 7c232ad7b..2e539522a 100644
--- a/packages/presets/src/erc20.cairo
+++ b/packages/presets/src/erc20.cairo
@@ -35,13 +35,13 @@ pub mod ERC20Upgradeable {
     impl UpgradeableInternalImpl = UpgradeableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        ownable: OwnableComponent::Storage,
+        pub ownable: OwnableComponent::Storage,
         #[substorage(v0)]
-        erc20: ERC20Component::Storage,
+        pub erc20: ERC20Component::Storage,
         #[substorage(v0)]
-        upgradeable: UpgradeableComponent::Storage
+        pub upgradeable: UpgradeableComponent::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/erc721.cairo b/packages/presets/src/erc721.cairo
index 6d7b6c251..cf6e5e99b 100644
--- a/packages/presets/src/erc721.cairo
+++ b/packages/presets/src/erc721.cairo
@@ -36,15 +36,15 @@ pub mod ERC721Upgradeable {
     impl UpgradeableInternalImpl = UpgradeableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        ownable: OwnableComponent::Storage,
+        pub ownable: OwnableComponent::Storage,
         #[substorage(v0)]
-        erc721: ERC721Component::Storage,
+        pub erc721: ERC721Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage,
+        pub src5: SRC5Component::Storage,
         #[substorage(v0)]
-        upgradeable: UpgradeableComponent::Storage
+        pub upgradeable: UpgradeableComponent::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/eth_account.cairo b/packages/presets/src/eth_account.cairo
index f910476f1..f11020c45 100644
--- a/packages/presets/src/eth_account.cairo
+++ b/packages/presets/src/eth_account.cairo
@@ -28,13 +28,13 @@ pub(crate) mod EthAccountUpgradeable {
     impl UpgradeableInternalImpl = UpgradeableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        eth_account: EthAccountComponent::Storage,
+        pub eth_account: EthAccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage,
+        pub src5: SRC5Component::Storage,
         #[substorage(v0)]
-        upgradeable: UpgradeableComponent::Storage
+        pub upgradeable: UpgradeableComponent::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/universal_deployer.cairo b/packages/presets/src/universal_deployer.cairo
index 1e1c91f87..9acf3535a 100644
--- a/packages/presets/src/universal_deployer.cairo
+++ b/packages/presets/src/universal_deployer.cairo
@@ -15,7 +15,7 @@ pub mod UniversalDeployer {
     use starknet::get_caller_address;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[event]
     #[derive(Drop, PartialEq, starknet::Event)]
diff --git a/packages/security/src/initializable.cairo b/packages/security/src/initializable.cairo
index 6eb5ac760..fb64ffeee 100644
--- a/packages/security/src/initializable.cairo
+++ b/packages/security/src/initializable.cairo
@@ -9,10 +9,11 @@
 #[starknet::component]
 pub mod InitializableComponent {
     use crate::interface::IInitializable;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
     #[storage]
-    struct Storage {
-        Initializable_initialized: bool
+    pub struct Storage {
+        pub Initializable_initialized: bool
     }
 
     pub mod Errors {
diff --git a/packages/security/src/pausable.cairo b/packages/security/src/pausable.cairo
index 7da69712f..25e014cc9 100644
--- a/packages/security/src/pausable.cairo
+++ b/packages/security/src/pausable.cairo
@@ -12,10 +12,11 @@ pub mod PausableComponent {
 
     use starknet::ContractAddress;
     use starknet::get_caller_address;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
     #[storage]
-    struct Storage {
-        Pausable_paused: bool
+    pub struct Storage {
+        pub Pausable_paused: bool
     }
 
     #[event]
diff --git a/packages/security/src/reentrancyguard.cairo b/packages/security/src/reentrancyguard.cairo
index bfd0701bf..6165fb00b 100644
--- a/packages/security/src/reentrancyguard.cairo
+++ b/packages/security/src/reentrancyguard.cairo
@@ -7,9 +7,10 @@
 /// to a function.
 #[starknet::component]
 pub mod ReentrancyGuardComponent {
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
     #[storage]
-    struct Storage {
-        ReentrancyGuard_entered: bool
+    pub struct Storage {
+        pub ReentrancyGuard_entered: bool
     }
 
     pub mod Errors {
diff --git a/packages/token/src/common/erc2981/erc2981.cairo b/packages/token/src/common/erc2981/erc2981.cairo
index c08393fd5..64766df89 100644
--- a/packages/token/src/common/erc2981/erc2981.cairo
+++ b/packages/token/src/common/erc2981/erc2981.cairo
@@ -25,7 +25,10 @@ pub mod ERC2981Component {
     use openzeppelin_introspection::src5::SRC5Component::SRC5Impl;
     use openzeppelin_introspection::src5::SRC5Component;
     use starknet::ContractAddress;
-    use starknet::storage::Map;
+    use starknet::storage::{
+        Map, StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess,
+        StoragePointerWriteAccess
+    };
 
     // This default denominator is only used when the DefaultConfig
     // is in scope in the implementing contract.
@@ -38,9 +41,9 @@ pub mod ERC2981Component {
     }
 
     #[storage]
-    struct Storage {
-        ERC2981_default_royalty_info: RoyaltyInfo,
-        ERC2981_token_royalty_info: Map<u256, RoyaltyInfo>,
+    pub struct Storage {
+        pub ERC2981_default_royalty_info: RoyaltyInfo,
+        pub ERC2981_token_royalty_info: Map<u256, RoyaltyInfo>,
     }
 
     mod Errors {
diff --git a/packages/token/src/erc1155/erc1155.cairo b/packages/token/src/erc1155/erc1155.cairo
index 95a66e3fa..7c495d3f0 100644
--- a/packages/token/src/erc1155/erc1155.cairo
+++ b/packages/token/src/erc1155/erc1155.cairo
@@ -17,13 +17,16 @@ pub mod ERC1155Component {
     use openzeppelin_introspection::src5::SRC5Component;
     use starknet::ContractAddress;
     use starknet::get_caller_address;
-    use starknet::storage::Map;
+    use starknet::storage::{
+        Map, StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess,
+        StoragePointerWriteAccess
+    };
 
     #[storage]
-    struct Storage {
-        ERC1155_balances: Map<(u256, ContractAddress), u256>,
-        ERC1155_operator_approvals: Map<(ContractAddress, ContractAddress), bool>,
-        ERC1155_uri: ByteArray,
+    pub struct Storage {
+        pub ERC1155_balances: Map<(u256, ContractAddress), u256>,
+        pub ERC1155_operator_approvals: Map<(ContractAddress, ContractAddress), bool>,
+        pub ERC1155_uri: ByteArray,
     }
 
     #[event]
diff --git a/packages/token/src/erc1155/erc1155_receiver.cairo b/packages/token/src/erc1155/erc1155_receiver.cairo
index 35924ae96..0172f2c36 100644
--- a/packages/token/src/erc1155/erc1155_receiver.cairo
+++ b/packages/token/src/erc1155/erc1155_receiver.cairo
@@ -16,7 +16,7 @@ pub mod ERC1155ReceiverComponent {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[embeddable_as(ERC1155ReceiverImpl)]
     impl ERC1155Receiver<
diff --git a/packages/token/src/erc20/erc20.cairo b/packages/token/src/erc20/erc20.cairo
index 1322ecac2..8515c41a3 100644
--- a/packages/token/src/erc20/erc20.cairo
+++ b/packages/token/src/erc20/erc20.cairo
@@ -17,15 +17,18 @@ pub mod ERC20Component {
     use crate::erc20::interface;
     use starknet::ContractAddress;
     use starknet::get_caller_address;
-    use starknet::storage::Map;
+    use starknet::storage::{
+        Map, StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess,
+        StoragePointerWriteAccess
+    };
 
     #[storage]
-    struct Storage {
-        ERC20_name: ByteArray,
-        ERC20_symbol: ByteArray,
-        ERC20_total_supply: u256,
-        ERC20_balances: Map<ContractAddress, u256>,
-        ERC20_allowances: Map<(ContractAddress, ContractAddress), u256>,
+    pub struct Storage {
+        pub ERC20_name: ByteArray,
+        pub ERC20_symbol: ByteArray,
+        pub ERC20_total_supply: u256,
+        pub ERC20_balances: Map<ContractAddress, u256>,
+        pub ERC20_allowances: Map<(ContractAddress, ContractAddress), u256>,
     }
 
     #[event]
diff --git a/packages/token/src/erc20/extensions/erc20_votes.cairo b/packages/token/src/erc20/extensions/erc20_votes.cairo
index 2f73ee810..a0e35c98e 100644
--- a/packages/token/src/erc20/extensions/erc20_votes.cairo
+++ b/packages/token/src/erc20/extensions/erc20_votes.cairo
@@ -25,14 +25,16 @@ pub mod ERC20VotesComponent {
     use openzeppelin_utils::nonces::NoncesComponent;
     use openzeppelin_utils::structs::checkpoint::{Checkpoint, Trace, TraceTrait};
     use starknet::ContractAddress;
-    use starknet::storage::Map;
+    use starknet::storage::{
+        Map, StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess
+    };
     use super::{Delegation, OffchainMessageHash, SNIP12Metadata};
 
     #[storage]
-    struct Storage {
-        ERC20Votes_delegatee: Map<ContractAddress, ContractAddress>,
-        ERC20Votes_delegate_checkpoints: Map<ContractAddress, Trace>,
-        ERC20Votes_total_checkpoints: Trace
+    pub struct Storage {
+        pub ERC20Votes_delegatee: Map<ContractAddress, ContractAddress>,
+        pub ERC20Votes_delegate_checkpoints: Map<ContractAddress, Trace>,
+        pub ERC20Votes_total_checkpoints: Trace
     }
 
     #[event]
diff --git a/packages/token/src/erc721/erc721.cairo b/packages/token/src/erc721/erc721.cairo
index b279ffc5a..353e84f93 100644
--- a/packages/token/src/erc721/erc721.cairo
+++ b/packages/token/src/erc721/erc721.cairo
@@ -16,17 +16,20 @@ pub mod ERC721Component {
     use openzeppelin_introspection::src5::SRC5Component;
     use starknet::ContractAddress;
     use starknet::get_caller_address;
-    use starknet::storage::Map;
+    use starknet::storage::{
+        Map, StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess,
+        StoragePointerWriteAccess
+    };
 
     #[storage]
-    struct Storage {
-        ERC721_name: ByteArray,
-        ERC721_symbol: ByteArray,
-        ERC721_owners: Map<u256, ContractAddress>,
-        ERC721_balances: Map<ContractAddress, u256>,
-        ERC721_token_approvals: Map<u256, ContractAddress>,
-        ERC721_operator_approvals: Map<(ContractAddress, ContractAddress), bool>,
-        ERC721_base_uri: ByteArray
+    pub struct Storage {
+        pub ERC721_name: ByteArray,
+        pub ERC721_symbol: ByteArray,
+        pub ERC721_owners: Map<u256, ContractAddress>,
+        pub ERC721_balances: Map<ContractAddress, u256>,
+        pub ERC721_token_approvals: Map<u256, ContractAddress>,
+        pub ERC721_operator_approvals: Map<(ContractAddress, ContractAddress), bool>,
+        pub ERC721_base_uri: ByteArray
     }
 
     #[event]
diff --git a/packages/token/src/erc721/erc721_receiver.cairo b/packages/token/src/erc721/erc721_receiver.cairo
index 7982740ea..a1c6d16ed 100644
--- a/packages/token/src/erc721/erc721_receiver.cairo
+++ b/packages/token/src/erc721/erc721_receiver.cairo
@@ -17,7 +17,7 @@ pub mod ERC721ReceiverComponent {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[embeddable_as(ERC721ReceiverImpl)]
     impl ERC721Receiver<
diff --git a/packages/token/src/erc721/extensions/erc721_enumerable/erc721_enumerable.cairo b/packages/token/src/erc721/extensions/erc721_enumerable/erc721_enumerable.cairo
index e11934b6d..058a79ada 100644
--- a/packages/token/src/erc721/extensions/erc721_enumerable/erc721_enumerable.cairo
+++ b/packages/token/src/erc721/extensions/erc721_enumerable/erc721_enumerable.cairo
@@ -25,15 +25,18 @@ pub mod ERC721EnumerableComponent {
     use openzeppelin_introspection::src5::SRC5Component::InternalTrait as SRC5InternalTrait;
     use openzeppelin_introspection::src5::SRC5Component;
     use starknet::ContractAddress;
-    use starknet::storage::Map;
+    use starknet::storage::{
+        Map, StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess,
+        StoragePointerWriteAccess
+    };
 
     #[storage]
-    struct Storage {
-        ERC721Enumerable_owned_tokens: Map<(ContractAddress, u256), u256>,
-        ERC721Enumerable_owned_tokens_index: Map<u256, u256>,
-        ERC721Enumerable_all_tokens_len: u256,
-        ERC721Enumerable_all_tokens: Map<u256, u256>,
-        ERC721Enumerable_all_tokens_index: Map<u256, u256>
+    pub struct Storage {
+        pub ERC721Enumerable_owned_tokens: Map<(ContractAddress, u256), u256>,
+        pub ERC721Enumerable_owned_tokens_index: Map<u256, u256>,
+        pub ERC721Enumerable_all_tokens_len: u256,
+        pub ERC721Enumerable_all_tokens: Map<u256, u256>,
+        pub ERC721Enumerable_all_tokens_index: Map<u256, u256>
     }
 
     pub mod Errors {
diff --git a/packages/upgrades/src/upgradeable.cairo b/packages/upgrades/src/upgradeable.cairo
index e2ef1f4cd..6729d7917 100644
--- a/packages/upgrades/src/upgradeable.cairo
+++ b/packages/upgrades/src/upgradeable.cairo
@@ -11,7 +11,7 @@ pub mod UpgradeableComponent {
     use starknet::SyscallResultTrait;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[event]
     #[derive(Drop, PartialEq, starknet::Event)]
diff --git a/packages/utils/src/cryptography/nonces.cairo b/packages/utils/src/cryptography/nonces.cairo
index 2c0349e7f..94951a26f 100644
--- a/packages/utils/src/cryptography/nonces.cairo
+++ b/packages/utils/src/cryptography/nonces.cairo
@@ -5,11 +5,11 @@
 pub mod NoncesComponent {
     use crate::interfaces::INonces;
     use starknet::ContractAddress;
-    use starknet::storage::Map;
+    use starknet::storage::{Map, StorageMapReadAccess, StorageMapWriteAccess};
 
     #[storage]
-    struct Storage {
-        Nonces_nonces: Map<ContractAddress, felt252>
+    pub struct Storage {
+        pub Nonces_nonces: Map<ContractAddress, felt252>
     }
 
     pub mod Errors {
diff --git a/packages/utils/src/math.cairo b/packages/utils/src/math.cairo
index ecdb9f8cc..5c99f6498 100644
--- a/packages/utils/src/math.cairo
+++ b/packages/utils/src/math.cairo
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: MIT
 // OpenZeppelin Contracts for Cairo v0.16.0 (utils/math.cairo)
 
-use core::traits::Into;
+use core::traits::{Into, BitAnd, BitXor};
 
 /// Returns the average of two numbers. The result is rounded down.
 pub fn average<


Test patch:
diff --git a/packages/access/src/tests/mocks/accesscontrol_mocks.cairo b/packages/access/src/tests/mocks/accesscontrol_mocks.cairo
index 6b92e563c..09eee34b1 100644
--- a/packages/access/src/tests/mocks/accesscontrol_mocks.cairo
+++ b/packages/access/src/tests/mocks/accesscontrol_mocks.cairo
@@ -15,11 +15,11 @@ pub(crate) mod DualCaseAccessControlMock {
     impl AccessControlInternalImpl = AccessControlComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        accesscontrol: AccessControlComponent::Storage,
+        pub accesscontrol: AccessControlComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -59,11 +59,11 @@ pub(crate) mod SnakeAccessControlMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        accesscontrol: AccessControlComponent::Storage,
+        pub accesscontrol: AccessControlComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage,
+        pub src5: SRC5Component::Storage,
     }
 
     #[event]
@@ -104,11 +104,11 @@ pub(crate) mod CamelAccessControlMock {
 
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        accesscontrol: AccessControlComponent::Storage,
+        pub accesscontrol: AccessControlComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -138,7 +138,7 @@ pub(crate) mod SnakeAccessControlPanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -183,7 +183,7 @@ pub(crate) mod CamelAccessControlPanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
diff --git a/packages/access/src/tests/mocks/non_implementing_mock.cairo b/packages/access/src/tests/mocks/non_implementing_mock.cairo
index c1212dbdd..67d632c72 100644
--- a/packages/access/src/tests/mocks/non_implementing_mock.cairo
+++ b/packages/access/src/tests/mocks/non_implementing_mock.cairo
@@ -1,7 +1,7 @@
 #[starknet::contract]
 pub(crate) mod NonImplementingMock {
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[external(v0)]
     fn nope(self: @ContractState) -> bool {
diff --git a/packages/access/src/tests/mocks/ownable_mocks.cairo b/packages/access/src/tests/mocks/ownable_mocks.cairo
index 25f80782c..f3456c68a 100644
--- a/packages/access/src/tests/mocks/ownable_mocks.cairo
+++ b/packages/access/src/tests/mocks/ownable_mocks.cairo
@@ -10,9 +10,9 @@ pub(crate) mod DualCaseOwnableMock {
     impl InternalImpl = OwnableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        ownable: OwnableComponent::Storage
+        pub ownable: OwnableComponent::Storage
     }
 
     #[event]
@@ -40,9 +40,9 @@ pub(crate) mod SnakeOwnableMock {
     impl InternalImpl = OwnableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        ownable: OwnableComponent::Storage
+        pub ownable: OwnableComponent::Storage
     }
 
     #[event]
@@ -61,6 +61,7 @@ pub(crate) mod SnakeOwnableMock {
 #[starknet::contract]
 pub(crate) mod CamelOwnableMock {
     use crate::ownable::OwnableComponent;
+    use crate::ownable::interface::IOwnable;
     use starknet::ContractAddress;
 
     component!(path: OwnableComponent, storage: ownable, event: OwnableEvent);
@@ -71,9 +72,9 @@ pub(crate) mod CamelOwnableMock {
     impl InternalImpl = OwnableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        ownable: OwnableComponent::Storage
+        pub ownable: OwnableComponent::Storage
     }
 
     #[event]
@@ -93,7 +94,7 @@ pub(crate) mod CamelOwnableMock {
     impl ExternalImpl of ExternalTrait {
         #[external(v0)]
         fn owner(self: @ContractState) -> ContractAddress {
-            self.ownable.Ownable_owner.read()
+            self.ownable.owner()
         }
     }
 }
@@ -104,7 +105,7 @@ pub(crate) mod SnakeOwnablePanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -133,7 +134,7 @@ pub(crate) mod CamelOwnablePanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -169,7 +170,7 @@ pub(crate) mod DualCaseTwoStepOwnableMock {
     impl InternalImpl = OwnableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
         ownable: OwnableComponent::Storage
     }
diff --git a/packages/access/src/tests/test_ownable.cairo b/packages/access/src/tests/test_ownable.cairo
index 8cd610ada..0c7fed3aa 100644
--- a/packages/access/src/tests/test_ownable.cairo
+++ b/packages/access/src/tests/test_ownable.cairo
@@ -7,6 +7,7 @@ use crate::tests::mocks::ownable_mocks::DualCaseOwnableMock;
 use openzeppelin_test_common::ownable::OwnableSpyHelpers;
 use openzeppelin_testing::constants::{ZERO, OTHER, OWNER, RECIPIENT};
 use snforge_std::{spy_events, test_address, start_cheat_caller_address};
+use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
 //
 // Setup
diff --git a/packages/access/src/tests/test_ownable_twostep.cairo b/packages/access/src/tests/test_ownable_twostep.cairo
index 85f3baf4f..eff125e82 100644
--- a/packages/access/src/tests/test_ownable_twostep.cairo
+++ b/packages/access/src/tests/test_ownable_twostep.cairo
@@ -8,6 +8,7 @@ use openzeppelin_testing::constants::{ZERO, OWNER, OTHER, NEW_OWNER};
 use openzeppelin_testing::events::EventSpyExt;
 use snforge_std::{EventSpy, spy_events, start_cheat_caller_address, test_address};
 use starknet::ContractAddress;
+use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
 //
 // Setup
diff --git a/packages/account/src/tests/mocks/account_mocks.cairo b/packages/account/src/tests/mocks/account_mocks.cairo
index 2cf3e8678..faddfdf9f 100644
--- a/packages/account/src/tests/mocks/account_mocks.cairo
+++ b/packages/account/src/tests/mocks/account_mocks.cairo
@@ -22,11 +22,11 @@ pub(crate) mod DualCaseAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -64,11 +64,11 @@ pub(crate) mod SnakeAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -108,11 +108,11 @@ pub(crate) mod CamelAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -153,7 +153,7 @@ pub(crate) mod CamelAccountMock {
 #[starknet::contract]
 pub(crate) mod SnakeAccountPanicMock {
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -190,7 +190,7 @@ pub(crate) mod SnakeAccountPanicMock {
 #[starknet::contract]
 pub(crate) mod CamelAccountPanicMock {
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
diff --git a/packages/account/src/tests/mocks/eth_account_mocks.cairo b/packages/account/src/tests/mocks/eth_account_mocks.cairo
index bda494946..2787e76d1 100644
--- a/packages/account/src/tests/mocks/eth_account_mocks.cairo
+++ b/packages/account/src/tests/mocks/eth_account_mocks.cairo
@@ -20,11 +20,11 @@ pub(crate) mod DualCaseEthAccountMock {
     impl EthAccountInternalImpl = EthAccountComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        eth_account: EthAccountComponent::Storage,
+        pub eth_account: EthAccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -60,11 +60,11 @@ pub(crate) mod SnakeEthAccountMock {
     impl EthAccountInternalImpl = EthAccountComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        eth_account: EthAccountComponent::Storage,
+        pub eth_account: EthAccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -103,11 +103,11 @@ pub(crate) mod CamelEthAccountMock {
     impl EthAccountInternalImpl = EthAccountComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        eth_account: EthAccountComponent::Storage,
+        pub eth_account: EthAccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -152,7 +152,7 @@ pub(crate) mod SnakeEthAccountPanicMock {
     use starknet::secp256_trait::Secp256Trait;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -193,7 +193,7 @@ pub(crate) mod CamelEthAccountPanicMock {
     use starknet::secp256_trait::Secp256Trait;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
diff --git a/packages/account/src/tests/mocks/non_implementing_mock.cairo b/packages/account/src/tests/mocks/non_implementing_mock.cairo
index c1212dbdd..67d632c72 100644
--- a/packages/account/src/tests/mocks/non_implementing_mock.cairo
+++ b/packages/account/src/tests/mocks/non_implementing_mock.cairo
@@ -1,7 +1,7 @@
 #[starknet::contract]
 pub(crate) mod NonImplementingMock {
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[external(v0)]
     fn nope(self: @ContractState) -> bool {
diff --git a/packages/account/src/tests/mocks/simple_mock.cairo b/packages/account/src/tests/mocks/simple_mock.cairo
index afd4d53fb..f16386735 100644
--- a/packages/account/src/tests/mocks/simple_mock.cairo
+++ b/packages/account/src/tests/mocks/simple_mock.cairo
@@ -6,9 +6,10 @@ pub(crate) trait ISimpleMock<TContractState> {
 
 #[starknet::contract]
 pub(crate) mod SimpleMock {
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
     #[storage]
-    struct Storage {
-        balance: felt252,
+    pub struct Storage {
+        pub balance: felt252,
     }
 
     #[abi(embed_v0)]
diff --git a/packages/governance/src/tests/mocks/non_implementing_mock.cairo b/packages/governance/src/tests/mocks/non_implementing_mock.cairo
index c1212dbdd..67d632c72 100644
--- a/packages/governance/src/tests/mocks/non_implementing_mock.cairo
+++ b/packages/governance/src/tests/mocks/non_implementing_mock.cairo
@@ -1,7 +1,7 @@
 #[starknet::contract]
 pub(crate) mod NonImplementingMock {
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[external(v0)]
     fn nope(self: @ContractState) -> bool {
diff --git a/packages/governance/src/tests/mocks/timelock_mocks.cairo b/packages/governance/src/tests/mocks/timelock_mocks.cairo
index 8e174bb09..68359db97 100644
--- a/packages/governance/src/tests/mocks/timelock_mocks.cairo
+++ b/packages/governance/src/tests/mocks/timelock_mocks.cairo
@@ -16,13 +16,13 @@ pub(crate) mod TimelockControllerMock {
     impl TimelockInternalImpl = TimelockControllerComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        access_control: AccessControlComponent::Storage,
+        pub access_control: AccessControlComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage,
+        pub src5: SRC5Component::Storage,
         #[substorage(v0)]
-        timelock: TimelockControllerComponent::Storage
+        pub timelock: TimelockControllerComponent::Storage
     }
 
     #[event]
@@ -57,11 +57,12 @@ pub(crate) trait IMockContract<TState> {
 
 #[starknet::contract]
 pub(crate) mod MockContract {
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
     use super::IMockContract;
 
     #[storage]
-    struct Storage {
-        number: felt252,
+    pub struct Storage {
+        pub number: felt252,
     }
 
     #[abi(embed_v0)]
@@ -90,15 +91,16 @@ pub(crate) trait ITimelockAttacker<TState> {
 pub(crate) mod TimelockAttackerMock {
     use crate::timelock::interface::{ITimelockDispatcher, ITimelockDispatcherTrait};
     use starknet::account::Call;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
     use super::ITimelockAttacker;
 
     const NO_PREDECESSOR: felt252 = 0;
     const NO_SALT: felt252 = 0;
 
     #[storage]
-    struct Storage {
-        balance: felt252,
-        count: felt252
+    pub struct Storage {
+        pub balance: felt252,
+        pub count: felt252
     }
 
     #[abi(embed_v0)]
diff --git a/packages/governance/src/tests/test_timelock.cairo b/packages/governance/src/tests/test_timelock.cairo
index 13aaaa114..a110683b5 100644
--- a/packages/governance/src/tests/test_timelock.cairo
+++ b/packages/governance/src/tests/test_timelock.cairo
@@ -33,12 +33,13 @@ use snforge_std::{
 use starknet::ContractAddress;
 use starknet::account::Call;
 use starknet::contract_address_const;
+use starknet::storage::{StorageMapReadAccess, StorageMapWriteAccess, StoragePointerWriteAccess};
 
 type ComponentState =
     TimelockControllerComponent::ComponentState<TimelockControllerMock::ContractState>;
 
-fn CONTRACT_STATE() -> TimelockControllerMock::ContractState {
-    TimelockControllerMock::contract_state_for_testing()
+fn CONTRACT_STATE() -> @TimelockControllerMock::ContractState {
+    @TimelockControllerMock::contract_state_for_testing()
 }
 
 fn COMPONENT_STATE() -> ComponentState {
diff --git a/packages/introspection/src/tests/mocks/src5_mocks.cairo b/packages/introspection/src/tests/mocks/src5_mocks.cairo
index 508be76eb..81e65d236 100644
--- a/packages/introspection/src/tests/mocks/src5_mocks.cairo
+++ b/packages/introspection/src/tests/mocks/src5_mocks.cairo
@@ -8,9 +8,9 @@ pub(crate) mod SRC5Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/account_mocks.cairo b/packages/presets/src/tests/mocks/account_mocks.cairo
index a6bc34626..f8f222dad 100644
--- a/packages/presets/src/tests/mocks/account_mocks.cairo
+++ b/packages/presets/src/tests/mocks/account_mocks.cairo
@@ -22,11 +22,11 @@ pub(crate) mod DualCaseAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -64,11 +64,11 @@ pub(crate) mod SnakeAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -108,11 +108,11 @@ pub(crate) mod CamelAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/erc1155_mocks.cairo b/packages/presets/src/tests/mocks/erc1155_mocks.cairo
index 3ddf1ee72..ffa4a3ec4 100644
--- a/packages/presets/src/tests/mocks/erc1155_mocks.cairo
+++ b/packages/presets/src/tests/mocks/erc1155_mocks.cairo
@@ -20,11 +20,11 @@ pub(crate) mod SnakeERC1155Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155: ERC1155Component::Storage,
+        pub erc1155: ERC1155Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -71,11 +71,11 @@ pub(crate) mod CamelERC1155Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155: ERC1155Component::Storage,
+        pub erc1155: ERC1155Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/erc1155_receiver_mocks.cairo b/packages/presets/src/tests/mocks/erc1155_receiver_mocks.cairo
index dae16fd07..cb9f8ac25 100644
--- a/packages/presets/src/tests/mocks/erc1155_receiver_mocks.cairo
+++ b/packages/presets/src/tests/mocks/erc1155_receiver_mocks.cairo
@@ -19,11 +19,11 @@ pub(crate) mod SnakeERC1155ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155_receiver: ERC1155ReceiverComponent::Storage,
+        pub erc1155_receiver: ERC1155ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/erc20_mocks.cairo b/packages/presets/src/tests/mocks/erc20_mocks.cairo
index 856ecc97d..a80b5c29c 100644
--- a/packages/presets/src/tests/mocks/erc20_mocks.cairo
+++ b/packages/presets/src/tests/mocks/erc20_mocks.cairo
@@ -14,9 +14,9 @@ pub(crate) mod DualCaseERC20Mock {
     impl InternalImpl = ERC20Component::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc20: ERC20Component::Storage
+        pub erc20: ERC20Component::Storage
     }
 
     #[event]
@@ -53,9 +53,9 @@ pub(crate) mod SnakeERC20Mock {
     impl InternalImpl = ERC20Component::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc20: ERC20Component::Storage
+        pub erc20: ERC20Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/erc721_mocks.cairo b/packages/presets/src/tests/mocks/erc721_mocks.cairo
index 3e84bbe93..bf7357b32 100644
--- a/packages/presets/src/tests/mocks/erc721_mocks.cairo
+++ b/packages/presets/src/tests/mocks/erc721_mocks.cairo
@@ -19,11 +19,11 @@ pub(crate) mod SnakeERC721Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721: ERC721Component::Storage,
+        pub erc721: ERC721Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/erc721_receiver_mocks.cairo b/packages/presets/src/tests/mocks/erc721_receiver_mocks.cairo
index 49b0c1550..71154e21b 100644
--- a/packages/presets/src/tests/mocks/erc721_receiver_mocks.cairo
+++ b/packages/presets/src/tests/mocks/erc721_receiver_mocks.cairo
@@ -18,11 +18,11 @@ pub(crate) mod SnakeERC721ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721_receiver: ERC721ReceiverComponent::Storage,
+        pub erc721_receiver: ERC721ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -77,11 +77,11 @@ pub(crate) mod CamelERC721ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721_receiver: ERC721ReceiverComponent::Storage,
+        pub erc721_receiver: ERC721ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/eth_account_mocks.cairo b/packages/presets/src/tests/mocks/eth_account_mocks.cairo
index 2dc299b06..392bd12f8 100644
--- a/packages/presets/src/tests/mocks/eth_account_mocks.cairo
+++ b/packages/presets/src/tests/mocks/eth_account_mocks.cairo
@@ -16,11 +16,11 @@ pub(crate) mod SnakeEthAccountMock {
     impl EthAccountInternalImpl = EthAccountComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        eth_account: EthAccountComponent::Storage,
+        pub eth_account: EthAccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/presets/src/tests/mocks/non_implementing_mock.cairo b/packages/presets/src/tests/mocks/non_implementing_mock.cairo
index c1212dbdd..67d632c72 100644
--- a/packages/presets/src/tests/mocks/non_implementing_mock.cairo
+++ b/packages/presets/src/tests/mocks/non_implementing_mock.cairo
@@ -1,7 +1,7 @@
 #[starknet::contract]
 pub(crate) mod NonImplementingMock {
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[external(v0)]
     fn nope(self: @ContractState) -> bool {
diff --git a/packages/presets/src/tests/mocks/src5_mocks.cairo b/packages/presets/src/tests/mocks/src5_mocks.cairo
index 86e8c5167..df481ced5 100644
--- a/packages/presets/src/tests/mocks/src5_mocks.cairo
+++ b/packages/presets/src/tests/mocks/src5_mocks.cairo
@@ -8,9 +8,9 @@ pub(crate) mod SRC5Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/security/src/tests/mocks/initializable_mocks.cairo b/packages/security/src/tests/mocks/initializable_mocks.cairo
index 256d5e154..096acb947 100644
--- a/packages/security/src/tests/mocks/initializable_mocks.cairo
+++ b/packages/security/src/tests/mocks/initializable_mocks.cairo
@@ -9,9 +9,9 @@ pub(crate) mod InitializableMock {
         InitializableComponent::InitializableImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        initializable: InitializableComponent::Storage
+        pub initializable: InitializableComponent::Storage
     }
 
     #[event]
diff --git a/packages/security/src/tests/mocks/pausable_mocks.cairo b/packages/security/src/tests/mocks/pausable_mocks.cairo
index 3eb7bd899..383a02fdb 100644
--- a/packages/security/src/tests/mocks/pausable_mocks.cairo
+++ b/packages/security/src/tests/mocks/pausable_mocks.cairo
@@ -9,9 +9,9 @@ pub(crate) mod PausableMock {
     impl InternalImpl = PausableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        pausable: PausableComponent::Storage
+        pub pausable: PausableComponent::Storage
     }
 
     #[event]
diff --git a/packages/security/src/tests/mocks/reentrancy_mocks.cairo b/packages/security/src/tests/mocks/reentrancy_mocks.cairo
index d0edcdc9d..c270d8d69 100644
--- a/packages/security/src/tests/mocks/reentrancy_mocks.cairo
+++ b/packages/security/src/tests/mocks/reentrancy_mocks.cairo
@@ -20,6 +20,7 @@ pub(crate) mod ReentrancyMock {
     use crate::reentrancyguard::ReentrancyGuardComponent;
     use starknet::ContractAddress;
     use starknet::get_contract_address;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
     use super::IAttackerDispatcher;
     use super::IAttackerDispatcherTrait;
     use super::IReentrancyGuardedDispatcher;
@@ -32,10 +33,10 @@ pub(crate) mod ReentrancyMock {
     impl InternalImpl = ReentrancyGuardComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
-        counter: felt252,
+    pub struct Storage {
+        pub counter: felt252,
         #[substorage(v0)]
-        reentrancy_guard: ReentrancyGuardComponent::Storage
+        pub reentrancy_guard: ReentrancyGuardComponent::Storage
     }
 
     #[event]
@@ -113,7 +114,7 @@ pub(crate) mod Attacker {
     use super::IReentrancyMockDispatcherTrait;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(embed_v0)]
     impl IAttackerImpl of super::IAttacker<ContractState> {
diff --git a/packages/security/src/tests/test_reentrancyguard.cairo b/packages/security/src/tests/test_reentrancyguard.cairo
index 755dc624b..aaa1db457 100644
--- a/packages/security/src/tests/test_reentrancyguard.cairo
+++ b/packages/security/src/tests/test_reentrancyguard.cairo
@@ -4,6 +4,7 @@ use crate::tests::mocks::reentrancy_mocks::{
     ReentrancyMock, IReentrancyMockDispatcher, IReentrancyMockDispatcherTrait
 };
 use openzeppelin_testing as utils;
+use starknet::storage::StoragePointerReadAccess;
 
 type ComponentState = ReentrancyGuardComponent::ComponentState<ReentrancyMock::ContractState>;
 
diff --git a/packages/token/src/tests/erc1155/test_erc1155.cairo b/packages/token/src/tests/erc1155/test_erc1155.cairo
index 4901ab56f..750fdcefd 100644
--- a/packages/token/src/tests/erc1155/test_erc1155.cairo
+++ b/packages/token/src/tests/erc1155/test_erc1155.cairo
@@ -17,6 +17,7 @@ use openzeppelin_testing::constants::{
 };
 use snforge_std::{spy_events, test_address, start_cheat_caller_address};
 use starknet::ContractAddress;
+use starknet::storage::StoragePointerReadAccess;
 
 //
 // Setup
diff --git a/packages/token/src/tests/erc20/test_erc20_votes.cairo b/packages/token/src/tests/erc20/test_erc20_votes.cairo
index 3adf02124..dbff4693e 100644
--- a/packages/token/src/tests/erc20/test_erc20_votes.cairo
+++ b/packages/token/src/tests/erc20/test_erc20_votes.cairo
@@ -19,6 +19,7 @@ use snforge_std::{
     start_cheat_block_timestamp_global, start_cheat_caller_address, spy_events,
     start_cheat_chain_id_global, test_address
 };
+use starknet::storage::{StorageMapReadAccess, StoragePointerReadAccess};
 use starknet::{ContractAddress, contract_address_const};
 
 //
diff --git a/packages/token/src/tests/erc721/test_erc721.cairo b/packages/token/src/tests/erc721/test_erc721.cairo
index eec9e318a..ebf9c5bd5 100644
--- a/packages/token/src/tests/erc721/test_erc721.cairo
+++ b/packages/token/src/tests/erc721/test_erc721.cairo
@@ -14,6 +14,7 @@ use openzeppelin_testing::constants::{
 use openzeppelin_testing::events::EventSpyExt;
 use snforge_std::{spy_events, test_address, start_cheat_caller_address};
 use starknet::ContractAddress;
+use starknet::storage::StorageMapReadAccess;
 
 //
 // Setup
diff --git a/packages/token/src/tests/erc721/test_erc721_enumerable.cairo b/packages/token/src/tests/erc721/test_erc721_enumerable.cairo
index 76ba481e7..a57589c6b 100644
--- a/packages/token/src/tests/erc721/test_erc721_enumerable.cairo
+++ b/packages/token/src/tests/erc721/test_erc721_enumerable.cairo
@@ -9,6 +9,7 @@ use openzeppelin_introspection::interface::ISRC5_ID;
 use openzeppelin_introspection::src5::SRC5Component::SRC5Impl;
 use openzeppelin_testing::constants::{OWNER, RECIPIENT, OTHER, ZERO};
 use starknet::ContractAddress;
+use starknet::storage::StorageMapReadAccess;
 
 // Token IDs
 const TOKEN_1: u256 = 'TOKEN_1';
diff --git a/packages/token/src/tests/mocks/account_mocks.cairo b/packages/token/src/tests/mocks/account_mocks.cairo
index a6bc34626..f8f222dad 100644
--- a/packages/token/src/tests/mocks/account_mocks.cairo
+++ b/packages/token/src/tests/mocks/account_mocks.cairo
@@ -22,11 +22,11 @@ pub(crate) mod DualCaseAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -64,11 +64,11 @@ pub(crate) mod SnakeAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -108,11 +108,11 @@ pub(crate) mod CamelAccountMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        account: AccountComponent::Storage,
+        pub account: AccountComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/token/src/tests/mocks/erc1155_mocks.cairo b/packages/token/src/tests/mocks/erc1155_mocks.cairo
index 12af3e601..cbf968c76 100644
--- a/packages/token/src/tests/mocks/erc1155_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc1155_mocks.cairo
@@ -22,11 +22,11 @@ pub(crate) mod DualCaseERC1155Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155: ERC1155Component::Storage,
+        pub erc1155: ERC1155Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -73,11 +73,11 @@ pub(crate) mod SnakeERC1155Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155: ERC1155Component::Storage,
+        pub erc1155: ERC1155Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -124,11 +124,11 @@ pub(crate) mod CamelERC1155Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155: ERC1155Component::Storage,
+        pub erc1155: ERC1155Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -158,7 +158,7 @@ pub(crate) mod SnakeERC1155PanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -235,7 +235,7 @@ pub(crate) mod CamelERC1155PanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
diff --git a/packages/token/src/tests/mocks/erc1155_receiver_mocks.cairo b/packages/token/src/tests/mocks/erc1155_receiver_mocks.cairo
index 92ead52ec..d5018e877 100644
--- a/packages/token/src/tests/mocks/erc1155_receiver_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc1155_receiver_mocks.cairo
@@ -17,11 +17,11 @@ pub(crate) mod DualCaseERC1155ReceiverMock {
     impl ERC1155ReceiverInternalImpl = ERC1155ReceiverComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155_receiver: ERC1155ReceiverComponent::Storage,
+        pub erc1155_receiver: ERC1155ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -60,11 +60,11 @@ pub(crate) mod SnakeERC1155ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155_receiver: ERC1155ReceiverComponent::Storage,
+        pub erc1155_receiver: ERC1155ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -103,11 +103,11 @@ pub(crate) mod CamelERC1155ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc1155_receiver: ERC1155ReceiverComponent::Storage,
+        pub erc1155_receiver: ERC1155ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -130,7 +130,7 @@ pub(crate) mod SnakeERC1155ReceiverPanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[external(v0)]
     fn on_erc1155_received(
@@ -164,7 +164,7 @@ pub(crate) mod CamelERC1155ReceiverPanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[external(v0)]
     fn onERC1155Received(
diff --git a/packages/token/src/tests/mocks/erc20_mocks.cairo b/packages/token/src/tests/mocks/erc20_mocks.cairo
index 403eff221..bd53190b8 100644
--- a/packages/token/src/tests/mocks/erc20_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc20_mocks.cairo
@@ -14,9 +14,9 @@ pub(crate) mod DualCaseERC20Mock {
     impl InternalImpl = ERC20Component::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc20: ERC20Component::Storage
+        pub erc20: ERC20Component::Storage
     }
 
     #[event]
@@ -53,9 +53,9 @@ pub(crate) mod SnakeERC20Mock {
     impl InternalImpl = ERC20Component::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc20: ERC20Component::Storage
+        pub erc20: ERC20Component::Storage
     }
 
     #[event]
@@ -96,9 +96,9 @@ pub(crate) mod CamelERC20Mock {
     impl InternalImpl = ERC20Component::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc20: ERC20Component::Storage
+        pub erc20: ERC20Component::Storage
     }
 
     #[event]
@@ -153,7 +153,7 @@ pub(crate) mod SnakeERC20Panic {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -223,7 +223,7 @@ pub(crate) mod CamelERC20Panic {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
diff --git a/packages/token/src/tests/mocks/erc20_votes_mocks.cairo b/packages/token/src/tests/mocks/erc20_votes_mocks.cairo
index d67d9c8cb..c777ec62f 100644
--- a/packages/token/src/tests/mocks/erc20_votes_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc20_votes_mocks.cairo
@@ -26,13 +26,13 @@ pub(crate) mod DualCaseERC20VotesMock {
     impl NoncesImpl = NoncesComponent::NoncesImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc20_votes: ERC20VotesComponent::Storage,
+        pub erc20_votes: ERC20VotesComponent::Storage,
         #[substorage(v0)]
-        erc20: ERC20Component::Storage,
+        pub erc20: ERC20Component::Storage,
         #[substorage(v0)]
-        nonces: NoncesComponent::Storage
+        pub nonces: NoncesComponent::Storage
     }
 
     #[event]
diff --git a/packages/token/src/tests/mocks/erc2981_mocks.cairo b/packages/token/src/tests/mocks/erc2981_mocks.cairo
index 6bf8d7298..ead9863d4 100644
--- a/packages/token/src/tests/mocks/erc2981_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc2981_mocks.cairo
@@ -16,11 +16,11 @@ pub(crate) mod ERC2981Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc2981: ERC2981Component::Storage,
+        pub erc2981: ERC2981Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/token/src/tests/mocks/erc721_enumerable_mocks.cairo b/packages/token/src/tests/mocks/erc721_enumerable_mocks.cairo
index 0bbdea0e6..117bf0237 100644
--- a/packages/token/src/tests/mocks/erc721_enumerable_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc721_enumerable_mocks.cairo
@@ -27,13 +27,13 @@ pub(crate) mod ERC721EnumerableMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721: ERC721Component::Storage,
+        pub erc721: ERC721Component::Storage,
         #[substorage(v0)]
-        erc721_enumerable: ERC721EnumerableComponent::Storage,
+        pub erc721_enumerable: ERC721EnumerableComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -101,13 +101,13 @@ pub(crate) mod SnakeERC721EnumerableMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721: ERC721Component::Storage,
+        pub erc721: ERC721Component::Storage,
         #[substorage(v0)]
-        erc721_enumerable: ERC721EnumerableComponent::Storage,
+        pub erc721_enumerable: ERC721EnumerableComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/token/src/tests/mocks/erc721_mocks.cairo b/packages/token/src/tests/mocks/erc721_mocks.cairo
index 45be8c407..0d44f6944 100644
--- a/packages/token/src/tests/mocks/erc721_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc721_mocks.cairo
@@ -24,11 +24,11 @@ pub(crate) mod DualCaseERC721Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721: ERC721Component::Storage,
+        pub erc721: ERC721Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -75,11 +75,11 @@ pub(crate) mod SnakeERC721Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721: ERC721Component::Storage,
+        pub erc721: ERC721Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -128,11 +128,11 @@ pub(crate) mod CamelERC721Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721: ERC721Component::Storage,
+        pub erc721: ERC721Component::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -191,7 +191,7 @@ pub(crate) mod SnakeERC721PanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -284,7 +284,7 @@ pub(crate) mod CamelERC721PanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
diff --git a/packages/token/src/tests/mocks/erc721_receiver_mocks.cairo b/packages/token/src/tests/mocks/erc721_receiver_mocks.cairo
index aa9159356..c65796186 100644
--- a/packages/token/src/tests/mocks/erc721_receiver_mocks.cairo
+++ b/packages/token/src/tests/mocks/erc721_receiver_mocks.cairo
@@ -18,11 +18,11 @@ pub(crate) mod DualCaseERC721ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721_receiver: ERC721ReceiverComponent::Storage,
+        pub erc721_receiver: ERC721ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -88,11 +88,11 @@ pub(crate) mod SnakeERC721ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721_receiver: ERC721ReceiverComponent::Storage,
+        pub erc721_receiver: ERC721ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -147,11 +147,11 @@ pub(crate) mod CamelERC721ReceiverMock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        erc721_receiver: ERC721ReceiverComponent::Storage,
+        pub erc721_receiver: ERC721ReceiverComponent::Storage,
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
@@ -193,7 +193,7 @@ pub(crate) mod SnakeERC721ReceiverPanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
@@ -217,7 +217,7 @@ pub(crate) mod CamelERC721ReceiverPanicMock {
     use starknet::ContractAddress;
 
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[abi(per_item)]
     #[generate_trait]
diff --git a/packages/token/src/tests/mocks/non_implementing_mock.cairo b/packages/token/src/tests/mocks/non_implementing_mock.cairo
index c1212dbdd..67d632c72 100644
--- a/packages/token/src/tests/mocks/non_implementing_mock.cairo
+++ b/packages/token/src/tests/mocks/non_implementing_mock.cairo
@@ -1,7 +1,7 @@
 #[starknet::contract]
 pub(crate) mod NonImplementingMock {
     #[storage]
-    struct Storage {}
+    pub struct Storage {}
 
     #[external(v0)]
     fn nope(self: @ContractState) -> bool {
diff --git a/packages/token/src/tests/mocks/src5_mocks.cairo b/packages/token/src/tests/mocks/src5_mocks.cairo
index 86e8c5167..df481ced5 100644
--- a/packages/token/src/tests/mocks/src5_mocks.cairo
+++ b/packages/token/src/tests/mocks/src5_mocks.cairo
@@ -8,9 +8,9 @@ pub(crate) mod SRC5Mock {
     impl SRC5Impl = SRC5Component::SRC5Impl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        src5: SRC5Component::Storage
+        pub src5: SRC5Component::Storage
     }
 
     #[event]
diff --git a/packages/upgrades/src/tests/mocks/upgrades_mocks.cairo b/packages/upgrades/src/tests/mocks/upgrades_mocks.cairo
index aaec5d8b5..d46e66681 100644
--- a/packages/upgrades/src/tests/mocks/upgrades_mocks.cairo
+++ b/packages/upgrades/src/tests/mocks/upgrades_mocks.cairo
@@ -16,16 +16,17 @@ pub(crate) trait IUpgradesV1<TState> {
 pub(crate) mod UpgradesV1 {
     use crate::UpgradeableComponent;
     use starknet::ClassHash;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
     component!(path: UpgradeableComponent, storage: upgradeable, event: UpgradeableEvent);
 
     impl InternalImpl = UpgradeableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        upgradeable: UpgradeableComponent::Storage,
-        value: felt252
+        pub upgradeable: UpgradeableComponent::Storage,
+        pub value: felt252
     }
 
     #[event]
@@ -66,17 +67,18 @@ pub(crate) trait IUpgradesV2<TState> {
 pub(crate) mod UpgradesV2 {
     use crate::UpgradeableComponent;
     use starknet::ClassHash;
+    use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess};
 
     component!(path: UpgradeableComponent, storage: upgradeable, event: UpgradeableEvent);
 
     impl InternalImpl = UpgradeableComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        upgradeable: UpgradeableComponent::Storage,
-        value: felt252,
-        value2: felt252
+        pub upgradeable: UpgradeableComponent::Storage,
+        pub value: felt252,
+        pub value2: felt252
     }
 
     #[event]
diff --git a/packages/utils/src/tests/mocks/nonces_mocks.cairo b/packages/utils/src/tests/mocks/nonces_mocks.cairo
index e6c6f52db..b2acf4cd5 100644
--- a/packages/utils/src/tests/mocks/nonces_mocks.cairo
+++ b/packages/utils/src/tests/mocks/nonces_mocks.cairo
@@ -9,9 +9,9 @@ pub(crate) mod NoncesMock {
     impl InternalImpl = NoncesComponent::InternalImpl<ContractState>;
 
     #[storage]
-    struct Storage {
+    pub struct Storage {
         #[substorage(v0)]
-        nonces: NoncesComponent::Storage
+        pub nonces: NoncesComponent::Storage
     }
 
     #[event]