diff --git a/Scarb.lock b/Scarb.lock index 29a97a29..2c57af1a 100644 --- a/Scarb.lock +++ b/Scarb.lock @@ -4,7 +4,7 @@ version = 1 [[package]] name = "alexandria_data_structures" version = "0.1.0" -source = "git+https://github.com/keep-starknet-strange/alexandria.git?rev=ae1d514#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" +source = "git+https://github.com/keep-starknet-strange/alexandria.git?tag=cairo-v2.3.0-rc0#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" dependencies = [ "alexandria_encoding", ] @@ -12,7 +12,7 @@ dependencies = [ [[package]] name = "alexandria_encoding" version = "0.1.0" -source = "git+https://github.com/keep-starknet-strange/alexandria.git?rev=ae1d514#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" +source = "git+https://github.com/keep-starknet-strange/alexandria.git?tag=cairo-v2.3.0-rc0#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" dependencies = [ "alexandria_math", ] @@ -20,7 +20,7 @@ dependencies = [ [[package]] name = "alexandria_math" version = "0.2.0" -source = "git+https://github.com/keep-starknet-strange/alexandria.git?rev=ae1d514#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" +source = "git+https://github.com/keep-starknet-strange/alexandria.git?tag=cairo-v2.3.0-rc0#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" dependencies = [ "alexandria_data_structures", ] @@ -28,12 +28,12 @@ dependencies = [ [[package]] name = "alexandria_sorting" version = "0.1.0" -source = "git+https://github.com/keep-starknet-strange/alexandria.git?rev=ae1d514#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" +source = "git+https://github.com/keep-starknet-strange/alexandria.git?tag=cairo-v2.3.0-rc0#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" [[package]] name = "alexandria_storage" version = "0.2.0" -source = "git+https://github.com/keep-starknet-strange/alexandria.git?rev=ae1d514#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" +source = "git+https://github.com/keep-starknet-strange/alexandria.git?tag=cairo-v2.3.0-rc0#ae1d5149ff601a7ac5b39edc867d33ebd83d7f4f" [[package]] name = "satoru" diff --git a/Scarb.toml b/Scarb.toml index 83d8a52c..658010c8 100644 --- a/Scarb.toml +++ b/Scarb.toml @@ -19,10 +19,10 @@ sierra-replace-ids = true [dependencies] starknet = ">=2.3.1" -alexandria_data_structures = { git = "https://github.com/keep-starknet-strange/alexandria.git", rev = "ae1d514" } -alexandria_math = { git = "https://github.com/keep-starknet-strange/alexandria.git", rev = "ae1d514" } -alexandria_storage = { git = "https://github.com/keep-starknet-strange/alexandria.git", rev = "ae1d514" } -alexandria_sorting = { git = "https://github.com/keep-starknet-strange/alexandria.git", rev = "ae1d514" } +alexandria_data_structures = { git = "https://github.com/keep-starknet-strange/alexandria.git", tag = "cairo-v2.3.0-rc0" } +alexandria_math = { git = "https://github.com/keep-starknet-strange/alexandria.git", tag = "cairo-v2.3.0-rc0" } +alexandria_storage = { git = "https://github.com/keep-starknet-strange/alexandria.git", tag = "cairo-v2.3.0-rc0" } +alexandria_sorting = { git = "https://github.com/keep-starknet-strange/alexandria.git", tag = "cairo-v2.3.0-rc0" } snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry.git", tag = "v0.9.1" } diff --git a/src/bank/bank.cairo b/src/bank/bank.cairo index 0129b166..6e2a3b09 100644 --- a/src/bank/bank.cairo +++ b/src/bank/bank.cairo @@ -82,7 +82,7 @@ mod Bank { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl BankImpl of super::IBank { fn initialize( ref self: ContractState, diff --git a/src/bank/strict_bank.cairo b/src/bank/strict_bank.cairo index 0adc50e2..6bcc7d60 100644 --- a/src/bank/strict_bank.cairo +++ b/src/bank/strict_bank.cairo @@ -95,7 +95,7 @@ mod StrictBank { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl StrictBank of super::IStrictBank { fn initialize( ref self: ContractState, diff --git a/src/callback/mocks.cairo b/src/callback/mocks.cairo index f4f66d4b..edbc01a5 100644 --- a/src/callback/mocks.cairo +++ b/src/callback/mocks.cairo @@ -25,14 +25,14 @@ mod CallbackMock { } - #[external(v0)] + #[abi(embed_v0)] impl ICallbackMockImpl of super::ICallbackMock { fn get_counter(self: @ContractState) -> u32 { self.counter.read() } } - #[external(v0)] + #[abi(embed_v0)] impl IDepositCallbackReceiverImpl of IDepositCallbackReceiver { fn after_deposit_execution( ref self: ContractState, key: felt252, deposit: Deposit, log_data: Array, diff --git a/src/chain/chain.cairo b/src/chain/chain.cairo index d860dbc9..5f5ed9d0 100644 --- a/src/chain/chain.cairo +++ b/src/chain/chain.cairo @@ -28,7 +28,7 @@ mod Chain { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl Chain of super::IChain { fn get_block_number(self: @ContractState) -> u64 { starknet::info::get_block_number() diff --git a/src/config/config.cairo b/src/config/config.cairo index 110b7c3e..ca822651 100644 --- a/src/config/config.cairo +++ b/src/config/config.cairo @@ -97,7 +97,7 @@ mod Config { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl ConfigImpl of super::IConfig { fn set_bool( ref self: ContractState, base_key: felt252, data: Array, value: bool, diff --git a/src/config/timelock.cairo b/src/config/timelock.cairo index 3761d048..05117a19 100644 --- a/src/config/timelock.cairo +++ b/src/config/timelock.cairo @@ -45,6 +45,6 @@ mod Timelock { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl TimelockImpl of super::ITimelock {} } diff --git a/src/data/data_store.cairo b/src/data/data_store.cairo index 113a5ddc..f839939f 100644 --- a/src/data/data_store.cairo +++ b/src/data/data_store.cairo @@ -549,7 +549,7 @@ mod DataStore { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl DataStore of super::IDataStore { // ************************************************************************* // Felt252 related functions. diff --git a/src/deposit/deposit_vault.cairo b/src/deposit/deposit_vault.cairo index 6653fb99..5ac5a17a 100644 --- a/src/deposit/deposit_vault.cairo +++ b/src/deposit/deposit_vault.cairo @@ -100,7 +100,7 @@ mod DepositVault { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl DepositVaultImpl of super::IDepositVault { fn initialize( ref self: ContractState, diff --git a/src/event/event_emitter.cairo b/src/event/event_emitter.cairo index 648b48fb..d5cd101f 100755 --- a/src/event/event_emitter.cairo +++ b/src/event/event_emitter.cairo @@ -1549,7 +1549,7 @@ mod EventEmitter { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl EventEmitterImpl of super::IEventEmitter { /// Emits the `ClaimableCollateralUpdated` event. fn emit_claimable_collateral_updated( diff --git a/src/exchange/adl_handler.cairo b/src/exchange/adl_handler.cairo index 3110a69f..b2110b97 100644 --- a/src/exchange/adl_handler.cairo +++ b/src/exchange/adl_handler.cairo @@ -170,7 +170,7 @@ mod AdlHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl AdlHandlerImpl of super::IAdlHandler { fn update_adl_state( ref self: ContractState, diff --git a/src/exchange/base_order_handler.cairo b/src/exchange/base_order_handler.cairo index 240b87c2..a3a326f8 100644 --- a/src/exchange/base_order_handler.cairo +++ b/src/exchange/base_order_handler.cairo @@ -135,7 +135,7 @@ mod BaseOrderHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl BaseOrderHandlerImpl of super::IBaseOrderHandler { fn initialize( ref self: ContractState, diff --git a/src/exchange/deposit_handler.cairo b/src/exchange/deposit_handler.cairo index 6066862d..587ad732 100644 --- a/src/exchange/deposit_handler.cairo +++ b/src/exchange/deposit_handler.cairo @@ -147,7 +147,7 @@ mod DepositHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl DepositHandlerImpl of super::IDepositHandler { fn create_deposit( ref self: ContractState, account: ContractAddress, params: CreateDepositParams diff --git a/src/exchange/liquidation_handler.cairo b/src/exchange/liquidation_handler.cairo index 347b8aab..8f9c3f27 100644 --- a/src/exchange/liquidation_handler.cairo +++ b/src/exchange/liquidation_handler.cairo @@ -119,7 +119,7 @@ mod LiquidationHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl LiquidationHandlerImpl of super::ILiquidationHandler< ContractState > { // executes a position liquidation diff --git a/src/exchange/order_handler.cairo b/src/exchange/order_handler.cairo index a3c16797..9c256f13 100644 --- a/src/exchange/order_handler.cairo +++ b/src/exchange/order_handler.cairo @@ -194,7 +194,7 @@ mod OrderHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl OrderHandlerImpl of super::IOrderHandler { fn create_order( ref self: ContractState, account: ContractAddress, params: CreateOrderParams diff --git a/src/exchange/withdrawal_handler.cairo b/src/exchange/withdrawal_handler.cairo index 7b22fc42..96cd07cb 100644 --- a/src/exchange/withdrawal_handler.cairo +++ b/src/exchange/withdrawal_handler.cairo @@ -135,7 +135,7 @@ mod WithdrawalHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl WithdrawalHandlerImpl of super::IWithdrawalHandler { fn create_withdrawal( ref self: ContractState, account: ContractAddress, params: CreateWithdrawalParams diff --git a/src/fee/fee_handler.cairo b/src/fee/fee_handler.cairo index ffdaac77..ea7f8e76 100644 --- a/src/fee/fee_handler.cairo +++ b/src/fee/fee_handler.cairo @@ -91,7 +91,7 @@ mod FeeHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl FeeHandlerImpl of super::IFeeHandler { fn initialize( ref self: ContractState, diff --git a/src/market/market.cairo b/src/market/market.cairo index 2a2c01f7..db93cae9 100644 --- a/src/market/market.cairo +++ b/src/market/market.cairo @@ -39,7 +39,7 @@ use zeroable::Zeroable; use satoru::market::error::MarketError; use satoru::market::market_token::{IMarketTokenDispatcher, IMarketTokenDispatcherTrait}; -/// Deriving the `storage_access::StorageAccess` trait +/// Deriving the `storage_access::Store` trait /// allows us to store the `Market` struct in a contract's storage. /// We use `Copy` but this is inneficient. /// TODO: Optimize this. diff --git a/src/market/market_factory.cairo b/src/market/market_factory.cairo index 9ed3c1c8..156ca797 100644 --- a/src/market/market_factory.cairo +++ b/src/market/market_factory.cairo @@ -102,7 +102,7 @@ mod MarketFactory { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl MarketFactory of super::IMarketFactory { fn create_market( ref self: ContractState, diff --git a/src/market/market_token.cairo b/src/market/market_token.cairo index 31e6e6b0..5afa326c 100644 --- a/src/market/market_token.cairo +++ b/src/market/market_token.cairo @@ -84,8 +84,7 @@ mod MarketToken { // // External // - - #[external(v0)] + #[abi(embed_v0)] impl MarketTokenImpl of IMarketToken { fn name(self: @ContractState) -> felt252 { self.name.read() diff --git a/src/mock/governable.cairo b/src/mock/governable.cairo index 3b003d5e..71b83646 100644 --- a/src/mock/governable.cairo +++ b/src/mock/governable.cairo @@ -57,7 +57,7 @@ mod Governable { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl Governable of super::IGovernable { fn initialize(ref self: ContractState, event_emitter_address: ContractAddress) { assert(self.gov.read().is_zero(), MockError::ALREADY_INITIALIZED); diff --git a/src/mock/referral_storage.cairo b/src/mock/referral_storage.cairo index 4d41f652..c7d95887 100644 --- a/src/mock/referral_storage.cairo +++ b/src/mock/referral_storage.cairo @@ -155,7 +155,7 @@ mod ReferralStorage { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl ReferralStorageImpl of super::IReferralStorage { fn initialize(ref self: ContractState, event_emitter_address: ContractAddress) { let mut gov_state = Governable::unsafe_new_contract_state(); diff --git a/src/oracle/oracle.cairo b/src/oracle/oracle.cairo index 9a968812..c45a6043 100644 --- a/src/oracle/oracle.cairo +++ b/src/oracle/oracle.cairo @@ -273,7 +273,7 @@ mod Oracle { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl OracleImpl of super::IOracle { fn initialize( ref self: ContractState, diff --git a/src/oracle/oracle_store.cairo b/src/oracle/oracle_store.cairo index 0f153a73..ebaab1a2 100644 --- a/src/oracle/oracle_store.cairo +++ b/src/oracle/oracle_store.cairo @@ -107,7 +107,7 @@ mod OracleStore { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl OracleStoreImpl of super::IOracleStore { fn initialize( ref self: ContractState, diff --git a/src/oracle/price_feed.cairo b/src/oracle/price_feed.cairo index f9ec9183..daec11e7 100644 --- a/src/oracle/price_feed.cairo +++ b/src/oracle/price_feed.cairo @@ -35,7 +35,7 @@ mod PriceFeed { #[storage] struct Storage {} - #[external(v0)] + #[abi(embed_v0)] impl PriceFeedImpl of super::IPriceFeed { fn get_data_median(self: @ContractState, data_type: DataType) -> PragmaPricesResponse { PragmaPricesResponse { diff --git a/src/order/order_vault.cairo b/src/order/order_vault.cairo index 4728bebd..6567c8af 100644 --- a/src/order/order_vault.cairo +++ b/src/order/order_vault.cairo @@ -75,7 +75,7 @@ mod OrderVault { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl OrderVaultImpl of super::IOrderVault { fn transfer_out( ref self: ContractState, diff --git a/src/reader/reader.cairo b/src/reader/reader.cairo index 4d95f1f1..5b92aa1d 100644 --- a/src/reader/reader.cairo +++ b/src/reader/reader.cairo @@ -475,7 +475,7 @@ mod Reader { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl Reader of super::IReader { fn get_market( self: @ContractState, data_store: IDataStoreDispatcher, key: ContractAddress diff --git a/src/role/role_module.cairo b/src/role/role_module.cairo index 67ac5aaf..ec610112 100644 --- a/src/role/role_module.cairo +++ b/src/role/role_module.cairo @@ -58,7 +58,7 @@ mod RoleModule { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl RoleModule of super::IRoleModule { fn initialize(ref self: ContractState, role_store_address: ContractAddress) { self.role_store.write(IRoleStoreDispatcher { contract_address: role_store_address }); diff --git a/src/role/role_store.cairo b/src/role/role_store.cairo index c78e13e2..bc463e34 100644 --- a/src/role/role_store.cairo +++ b/src/role/role_store.cairo @@ -149,7 +149,7 @@ mod RoleStore { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl RoleStore of super::IRoleStore { fn has_role(self: @ContractState, account: ContractAddress, role_key: felt252) -> bool { self._has_role(account, role_key) diff --git a/src/router/exchange_router.cairo b/src/router/exchange_router.cairo index e47cc0e1..0c3172be 100644 --- a/src/router/exchange_router.cairo +++ b/src/router/exchange_router.cairo @@ -273,7 +273,7 @@ mod ExchangeRouter { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl ExchangeRouterImpl of super::IExchangeRouter { fn send_tokens( ref self: ContractState, token: ContractAddress, receiver: ContractAddress, amount: u128 diff --git a/src/router/router.cairo b/src/router/router.cairo index 81d4d38a..a4d6057d 100644 --- a/src/router/router.cairo +++ b/src/router/router.cairo @@ -70,7 +70,7 @@ mod Router { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl RouterImpl of super::IRouter { fn plugin_transfer( ref self: ContractState, diff --git a/src/swap/swap_handler.cairo b/src/swap/swap_handler.cairo index 0f73eb20..935b3883 100644 --- a/src/swap/swap_handler.cairo +++ b/src/swap/swap_handler.cairo @@ -63,7 +63,7 @@ mod SwapHandler { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl SwapHandler of super::ISwapHandler { fn swap(ref self: ContractState, params: SwapParams) -> (ContractAddress, u128) { let mut role_module: RoleModule::ContractState = diff --git a/src/token/erc20/erc20.cairo b/src/token/erc20/erc20.cairo index 9aa2a667..ec3907cb 100644 --- a/src/token/erc20/erc20.cairo +++ b/src/token/erc20/erc20.cairo @@ -53,7 +53,7 @@ mod ERC20 { // External // - #[external(v0)] + #[abi(embed_v0)] impl ERC20Impl of IERC20 { fn name(self: @ContractState) -> felt252 { self._name.read() diff --git a/src/utils/serializable_dict.cairo b/src/utils/serializable_dict.cairo index 4a7a4467..fbd6c2e5 100644 --- a/src/utils/serializable_dict.cairo +++ b/src/utils/serializable_dict.cairo @@ -57,9 +57,7 @@ impl ItemImpl of ItemTrait { } } -impl ItemPartialEq< - T, impl TCopy: Copy, impl TPartialEq: PartialEq, impl TDrop: Drop -> of PartialEq> { +impl ItemPartialEq, +PartialEq, +Drop> of PartialEq> { fn eq(lhs: @Item, rhs: @Item) -> bool { if lhs.is_single() && rhs.is_single() { return lhs.unwrap_single() == rhs.unwrap_single(); @@ -96,7 +94,7 @@ struct SerializableFelt252Dict { } impl SerializableFelt252DictDestruct< - T, impl TDrop: Drop, impl TDefault: Felt252DictValue + T, +Drop, +Felt252DictValue > of Destruct> { fn destruct(self: SerializableFelt252Dict) nopanic { self.values.squash(); diff --git a/src/utils/span32.cairo b/src/utils/span32.cairo index 37eb343d..3fd9a467 100644 --- a/src/utils/span32.cairo +++ b/src/utils/span32.cairo @@ -15,7 +15,7 @@ struct Span32 { snapshot: Span } -fn serialize_array_helper, impl TDrop: Drop>( +fn serialize_array_helper, +Drop>( mut input: Span32, ref output: Array ) { match input.pop_front() { @@ -27,19 +27,17 @@ fn serialize_array_helper, impl TDrop: Drop>( } } -fn deserialize_array_helper, impl TDrop: Drop>( +fn deserialize_array_helper, +Drop>( ref serialized: Span, mut curr_output: Array, remaining: felt252 ) -> Option> { if remaining == 0 { return Option::Some(curr_output); } - curr_output.append(TSerde::deserialize(ref serialized)?); + curr_output.append(Serde::deserialize(ref serialized)?); deserialize_array_helper(ref serialized, curr_output, remaining - 1) } -impl Span32Serde< - T, impl TSerde: Serde, impl TDrop: Drop, impl TCopy: Copy -> of Serde> { +impl Span32Serde, +Drop, +Copy> of Serde> { fn serialize(self: @Span32, ref output: Array) { (*self).len().serialize(ref output); serialize_array_helper(*self, ref output) @@ -53,7 +51,7 @@ impl Span32Serde< } #[generate_trait] -impl Span32Impl> of Span32Trait { +impl Span32Impl> of Span32Trait { fn pop_front(ref self: Span32) -> Option<@T> { self.snapshot.pop_front() } @@ -77,7 +75,7 @@ impl Span32Impl> of Span32Trait { } } -impl DefaultSpan32> of Default> { +impl DefaultSpan32> of Default> { fn default() -> Span32 { Array32Trait::::span32(@ArrayTrait::new()) } diff --git a/src/withdrawal/withdrawal_vault.cairo b/src/withdrawal/withdrawal_vault.cairo index a73a1c3e..74768e1e 100644 --- a/src/withdrawal/withdrawal_vault.cairo +++ b/src/withdrawal/withdrawal_vault.cairo @@ -97,7 +97,7 @@ mod WithdrawalVault { // ************************************************************************* // EXTERNAL FUNCTIONS // ************************************************************************* - #[external(v0)] + #[abi(embed_v0)] impl BankImpl of super::IWithdrawalVault { fn initialize( ref self: ContractState, diff --git a/tests/event/test_event_utils.cairo b/tests/event/test_event_utils.cairo index 6fa74377..7ee4a56d 100644 --- a/tests/event/test_event_utils.cairo +++ b/tests/event/test_event_utils.cairo @@ -150,12 +150,12 @@ use debug::PrintTrait; fn assert_same_single_value_for_dicts< T, - impl TDefault: Felt252DictValue, - impl TDrop: Drop, - impl TCopy: Copy, - impl FeltIntoT: Into, - impl TIntoFelt: Into, - impl TPartialEq: PartialEq, + +Felt252DictValue, + +Drop, + +Copy, + +Into, + +Into, + +PartialEq, >( ref lhs: SerializableFelt252Dict, ref rhs: SerializableFelt252Dict, key: felt252 ) {