From 4b93181377c6f47c1665cf944843d38791481aab Mon Sep 17 00:00:00 2001 From: MSGhais Date: Wed, 21 Aug 2024 14:51:07 +0200 Subject: [PATCH] fix id cairo + side auth + typo --- apps/mobile/src/app/Router.tsx | 116 +++++++++++------- .../src/modules/Layout/auth-sidebar/index.tsx | 47 +++++++ .../src/modules/Layout/auth-sidebar/styles.ts | 86 +++++++++++++ .../src/modules/Layout/sidebar/index.tsx | 1 - .../src/modules/Layout/sidebar/styles.ts | 2 + onchain/cairo/src/afk_id/afk_identity.cairo | 25 ++-- onchain/cairo/src/afk_id/id_factory.cairo | 33 ++--- onchain/cairo/src/examples.cairo | 2 +- onchain/cairo/src/examples/counter.cairo | 1 - onchain/cairo/src/examples/mod.cairo | 2 +- onchain/cairo/src/keys/keys.cairo | 2 +- onchain/cairo/src/launchpad/launchpad.cairo | 3 +- onchain/cairo/src/lib.cairo | 7 +- onchain/cairo/src/quests/mod.cairo | 2 +- onchain/cairo/src/quests/tap.cairo | 61 ++++----- onchain/cairo/src/social/deposit.cairo | 4 +- onchain/cairo/src/tests/keys_tests.cairo | 2 +- onchain/cairo/src/tests/launchpad_tests.cairo | 2 +- onchain/cairo/src/tokens/erc20_mintable.cairo | 25 ++-- onchain/cairo/src/tokens/mod.cairo | 2 +- onchain/cairo/src/tokens/token.cairo | 17 +-- onchain/cairo/src/types/identity_types.cairo | 10 +- onchain/cairo/src/types/mod.cairo | 2 +- onchain/cairo/src/types/tap_types.cairo | 8 +- 24 files changed, 284 insertions(+), 178 deletions(-) create mode 100644 apps/mobile/src/modules/Layout/auth-sidebar/index.tsx create mode 100644 apps/mobile/src/modules/Layout/auth-sidebar/styles.ts diff --git a/apps/mobile/src/app/Router.tsx b/apps/mobile/src/app/Router.tsx index 276d85b34..e970f403a 100644 --- a/apps/mobile/src/app/Router.tsx +++ b/apps/mobile/src/app/Router.tsx @@ -1,49 +1,51 @@ -import {createBottomTabNavigator} from '@react-navigation/bottom-tabs'; -import {createDrawerNavigator} from '@react-navigation/drawer'; -import {NavigationContainer} from '@react-navigation/native'; -import {createNativeStackNavigator} from '@react-navigation/native-stack'; -import {useAuth} from 'afk_nostr_sdk'; -import {useEffect, useMemo, useState} from 'react'; -import {Dimensions, Platform, StyleSheet, useWindowDimensions, View} from 'react-native'; +import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; +import { createDrawerNavigator } from '@react-navigation/drawer'; +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import { useAuth } from 'afk_nostr_sdk'; +import { useEffect, useMemo, useState } from 'react'; +import { Dimensions, Platform, StyleSheet, useWindowDimensions, View } from 'react-native'; -import {Icon} from '../components'; -import {Navbar} from '../components/Navbar'; -import {useStyles, useTheme} from '../hooks'; +import { Icon } from '../components'; +import { Navbar } from '../components/Navbar'; +import { useStyles, useTheme } from '../hooks'; import Sidebar from '../modules/Layout/sidebar'; -import {CreateAccount} from '../screens/Auth/CreateAccount'; -import {ImportKeys} from '../screens/Auth/ImportKeys'; -import {Login} from '../screens/Auth/Login'; -import {SaveKeys} from '../screens/Auth/SaveKeys'; -import {ChannelDetail} from '../screens/ChannelDetail'; -import {ChannelsFeed} from '../screens/ChannelsFeed'; -import {CreateChannel} from '../screens/CreateChannel'; -import {CreateForm} from '../screens/CreateForm'; -import {CreatePost} from '../screens/CreatePost'; -import {Defi} from '../screens/Defi'; -import {EditProfile} from '../screens/EditProfile'; -import {Feed} from '../screens/Feed'; -import {Games} from '../screens/Games'; -import {LaunchDetail} from '../screens/LaunchDetail'; -import {PostDetail} from '../screens/PostDetail'; -import {Profile} from '../screens/Profile'; -import {Search} from '../screens/Search'; -import {Settings} from '../screens/Settings'; -import {Tips} from '../screens/Tips'; -import {ThemedStyleSheet} from '../styles'; -import {AuthStackParams, HomeBottomStackParams, MainStackParams, RootStackParams} from '../types'; -import {retrievePublicKey} from '../utils/storage'; +import AuthSidebar from '../modules/Layout/auth-sidebar'; +import { CreateAccount } from '../screens/Auth/CreateAccount'; +import { ImportKeys } from '../screens/Auth/ImportKeys'; +import { Login } from '../screens/Auth/Login'; +import { SaveKeys } from '../screens/Auth/SaveKeys'; +import { ChannelDetail } from '../screens/ChannelDetail'; +import { ChannelsFeed } from '../screens/ChannelsFeed'; +import { CreateChannel } from '../screens/CreateChannel'; +import { CreateForm } from '../screens/CreateForm'; +import { CreatePost } from '../screens/CreatePost'; +import { Defi } from '../screens/Defi'; +import { EditProfile } from '../screens/EditProfile'; +import { Feed } from '../screens/Feed'; +import { Games } from '../screens/Games'; +import { LaunchDetail } from '../screens/LaunchDetail'; +import { PostDetail } from '../screens/PostDetail'; +import { Profile } from '../screens/Profile'; +import { Search } from '../screens/Search'; +import { Settings } from '../screens/Settings'; +import { Tips } from '../screens/Tips'; +import { ThemedStyleSheet } from '../styles'; +import { AuthStackParams, HomeBottomStackParams, MainStackParams, RootStackParams } from '../types'; +import { retrievePublicKey } from '../utils/storage'; const DrawerStack = createDrawerNavigator(); const RootStack = createNativeStackNavigator(); -const AuthStack = createNativeStackNavigator(); +const AuthStack = createDrawerNavigator(); +// const AuthStack = createNativeStackNavigator(); const MainStack = createNativeStackNavigator(); const HomeBottomTabsStack = createBottomTabNavigator(); const HomeBottomTabNavigator: React.FC = () => { const styles = useStyles(stylesheet); - const {publicKey} = useAuth(); - const {theme} = useTheme(); + const { publicKey } = useAuth(); + const { theme } = useTheme(); return ( { options={{ tabBarActiveTintColor: 'white', tabBarInactiveTintColor: theme.colors.background, - tabBarIcon: ({focused}) => ( + tabBarIcon: ({ focused }) => ( { options={{ tabBarActiveTintColor: 'white', tabBarInactiveTintColor: 'grey', - tabBarIcon: ({focused}) => ( + tabBarIcon: ({ focused }) => ( { options={{ tabBarActiveTintColor: 'white', tabBarInactiveTintColor: 'grey', - tabBarIcon: ({focused}) => ( + tabBarIcon: ({ focused }) => ( { ( + tabBarIcon: ({ focused }) => ( { options={{ tabBarActiveTintColor: 'white', tabBarInactiveTintColor: 'grey', - tabBarIcon: ({focused}) => ( + tabBarIcon: ({ focused }) => ( { const AuthNavigator: React.FC = () => { const [publicKey, setPublicKey] = useState(undefined); + const dimensions = useWindowDimensions(); + const isDesktop = useMemo(() => { + return dimensions.width >= 1024; + }, [dimensions]); // Adjust based on your breakpoint for desktop + + const theme = useTheme(); useEffect(() => { retrievePublicKey().then((key) => { @@ -170,7 +178,25 @@ const AuthNavigator: React.FC = () => { if (publicKey === undefined) return null; return ( - + } + screenOptions={({ navigation }) => ({ + // headerShown:false, + // header: () => , + headerShown:false, + headerStyle: { + backgroundColor: theme.theme.colors.background, + }, + drawerType: isDesktop ? 'permanent' : 'front', + // drawerType:"permanent", + headerTintColor: theme.theme.colors.text, + overlayColor: isDesktop ? 'transparent' : theme.theme.colors.background, // Make sure overlay settings are correct + // swipeEdgeWidth: 0 + drawerStyle: { + width: "25%", // Adjust width or other styling as necessary + }, + })} + > {publicKey && } @@ -192,7 +218,7 @@ const MainNavigator: React.FC = () => { // screenOptions={{ headerShown: false }} // initialRouteName="Home" drawerContent={(props) => } - screenOptions={({navigation}) => ({ + screenOptions={({ navigation }) => ({ // headerShown:false, header: () => , headerStyle: { @@ -282,10 +308,10 @@ const linking = { }; const RootNavigator: React.FC = () => { - const {publicKey} = useAuth(); + const { publicKey } = useAuth(); return ( - + {/* */} {publicKey ? ( diff --git a/apps/mobile/src/modules/Layout/auth-sidebar/index.tsx b/apps/mobile/src/modules/Layout/auth-sidebar/index.tsx new file mode 100644 index 000000000..76427f28c --- /dev/null +++ b/apps/mobile/src/modules/Layout/auth-sidebar/index.tsx @@ -0,0 +1,47 @@ +import React, { useEffect } from 'react'; +import { Text, View } from 'react-native'; +import { useStyles, useTheme } from '../../../hooks'; +import stylesheet from './styles'; + +interface SidebarInterface { + navigation: any; +} +const AuthSidebar = ({ navigation }: SidebarInterface) => { + const styles = useStyles(stylesheet); + + useEffect(() => { + const unsubscribe = navigation.addListener('drawerClose', () => { + // Code to handle drawer closing + }); + + return unsubscribe; + }, [navigation]); + + return ( + + AFK: Aligned Fam Kernel + + + All-in-one platform + + + + + + Connect or create an Account + Acces the AFK app + + + + Coming soon also in IOS and Android + + + + + + + + ); +}; + +export default AuthSidebar; diff --git a/apps/mobile/src/modules/Layout/auth-sidebar/styles.ts b/apps/mobile/src/modules/Layout/auth-sidebar/styles.ts new file mode 100644 index 000000000..35772d55f --- /dev/null +++ b/apps/mobile/src/modules/Layout/auth-sidebar/styles.ts @@ -0,0 +1,86 @@ +import {Spacing, ThemedStyleSheet} from '../../../styles'; + +export default ThemedStyleSheet((theme) => ({ + container: { + marginVertical:10, + color: theme.colors.text, + }, + sidebar: { + width: '100%', + height: '100%', + backgroundColor: theme.colors.background, + padding: 10, + gap: 1, + // borderRight:"1" + }, + sidebarText: { + fontSize: 18, + color: theme.colors.text, + }, + title: { + fontWeight: 'bold', + marginBottom: 16, + color: theme.colors.text, + }, + item: { + display: 'flex', + width: '100%', + height: 100, + backgroundColor: theme.colors.background, + // flex + // flex: 1, + flexDirection: 'row', + // paddingVertical: 8, + color: theme.colors.text, + }, + textItem: { + backgroundColor: theme.colors.background, + color: theme.colors.text, + }, + outsideContainer: { + position: 'absolute', + top: 0, + right: 0, + bottom: 0, + left: 0, + width: '100%', + height: '100%', + }, + + outside: { + width: '100%', + height: '100%', + }, + + menuContainer: { + position: 'absolute', + zIndex: 1, + }, + menu: { + position: 'absolute', + height: 'auto', + backgroundColor: theme.colors.divider, + borderRadius: 16, + overflow: 'hidden', + shadowColor: theme.colors.shadow, + shadowOffset: {width: 0, height: 2}, + shadowRadius: 4, + elevation: 2, + }, + + menuItem: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + gap: Spacing.xxsmall, + backgroundColor: theme.colors.surface, + paddingHorizontal: Spacing.medium, + paddingVertical: Spacing.small, + }, + menuItemLabel: { + flex: 1, + fontSize: 17, + lineHeight: 22, + color: theme.colors.text, + }, +})); diff --git a/apps/mobile/src/modules/Layout/sidebar/index.tsx b/apps/mobile/src/modules/Layout/sidebar/index.tsx index 924a82e78..6db9efc73 100644 --- a/apps/mobile/src/modules/Layout/sidebar/index.tsx +++ b/apps/mobile/src/modules/Layout/sidebar/index.tsx @@ -52,7 +52,6 @@ const Sidebar = ({navigation}: SidebarInterface) => { return ( AFK - Features coming soon {/* Launchpad diff --git a/apps/mobile/src/modules/Layout/sidebar/styles.ts b/apps/mobile/src/modules/Layout/sidebar/styles.ts index ecfd2f1f1..b71d9e62c 100644 --- a/apps/mobile/src/modules/Layout/sidebar/styles.ts +++ b/apps/mobile/src/modules/Layout/sidebar/styles.ts @@ -8,6 +8,8 @@ export default ThemedStyleSheet((theme) => ({ backgroundColor: theme.colors.background, padding: 20, gap: 1, + color: theme.colors.text, + // borderRight:"1" }, sidebarText: { diff --git a/onchain/cairo/src/afk_id/afk_identity.cairo b/onchain/cairo/src/afk_id/afk_identity.cairo index 156bbc0ac..b3883211f 100644 --- a/onchain/cairo/src/afk_id/afk_identity.cairo +++ b/onchain/cairo/src/afk_id/afk_identity.cairo @@ -1,35 +1,28 @@ +use afk::types::identity_types::{}; use starknet::{ - ContractAddress, get_caller_address, storage_access::StorageBaseAddress, - contract_address_const, get_block_timestamp, get_contract_address, ClassHash -}; - -use afk::types::identity_types:: { - + ContractAddress, get_caller_address, storage_access::StorageBaseAddress, contract_address_const, + get_block_timestamp, get_contract_address, ClassHash }; #[starknet::interface] -pub trait IAfkId { -} +pub trait IAfkId {} #[starknet::contract] mod AfkIdentity { + use core::num::traits::Zero; use starknet::{ ContractAddress, get_caller_address, storage_access::StorageBaseAddress, contract_address_const, get_block_timestamp, get_contract_address, ClassHash }; - use core::num::traits::Zero; #[storage] struct Storage { - id_user_exist:LegacyMap + id_user_exist: LegacyMap } - + #[event] #[derive(Drop, starknet::Event)] - enum Event { - } + enum Event {} #[abi(embed_v0)] - impl FactoryIdImpl of super::IAfkId { - - } + impl FactoryIdImpl of super::IAfkId {} } diff --git a/onchain/cairo/src/afk_id/id_factory.cairo b/onchain/cairo/src/afk_id/id_factory.cairo index 75f67d0e8..28e652614 100644 --- a/onchain/cairo/src/afk_id/id_factory.cairo +++ b/onchain/cairo/src/afk_id/id_factory.cairo @@ -1,45 +1,36 @@ +use afk::types::identity_types::{AfkIdentiyState}; use starknet::{ - ContractAddress, get_caller_address, storage_access::StorageBaseAddress, - contract_address_const, get_block_timestamp, get_contract_address, ClassHash -}; - -use afk::types::identity_types::{ - AfkIdentiyState + ContractAddress, get_caller_address, storage_access::StorageBaseAddress, contract_address_const, + get_block_timestamp, get_contract_address, ClassHash }; #[starknet::interface] pub trait IFactoryAfkId { - fn get_afk_id(self: @T, user:ContractAddress) -> AfkIdentiyState; + fn get_afk_id(self: @T, user: ContractAddress) -> AfkIdentiyState; fn create_afk_identity(ref self: T); } #[starknet::contract] mod FactoryAfkIdentity { + use afk::types::identity_types::{AfkIdentiyState, AfkIdentityCreated}; + use core::num::traits::Zero; use starknet::{ ContractAddress, get_caller_address, storage_access::StorageBaseAddress, contract_address_const, get_block_timestamp, get_contract_address, ClassHash }; - use core::num::traits::Zero; - use afk::types::identity_types::{ - AfkIdentiyState, - AfkIdentityCreated - }; #[storage] struct Storage { - id_user_exist:LegacyMap, - user_identity:LegacyMap + id_user_exist: LegacyMap, + user_identity: LegacyMap } #[abi(embed_v0)] impl FactoryIdImpl of super::IFactoryAfkId { - - fn create_afk_identity(ref self:ContractState) { - - } + fn create_afk_identity(ref self: ContractState) {} - fn get_afk_id(self:@ContractState, user:ContractAddress) -> AfkIdentiyState { - self.user_identity.read(user) - } + fn get_afk_id(self: @ContractState, user: ContractAddress) -> AfkIdentiyState { + self.user_identity.read(user) + } } } diff --git a/onchain/cairo/src/examples.cairo b/onchain/cairo/src/examples.cairo index aeff4ffd8..e837f5d98 100644 --- a/onchain/cairo/src/examples.cairo +++ b/onchain/cairo/src/examples.cairo @@ -1 +1 @@ -pub mod examples; \ No newline at end of file +pub mod examples; diff --git a/onchain/cairo/src/examples/counter.cairo b/onchain/cairo/src/examples/counter.cairo index 281705ab1..ee5bc2649 100644 --- a/onchain/cairo/src/examples/counter.cairo +++ b/onchain/cairo/src/examples/counter.cairo @@ -1,4 +1,3 @@ - #[starknet::interface] pub trait ICounter { fn number(self: @T) -> u256; diff --git a/onchain/cairo/src/examples/mod.cairo b/onchain/cairo/src/examples/mod.cairo index e40a4df9b..add828e6b 100644 --- a/onchain/cairo/src/examples/mod.cairo +++ b/onchain/cairo/src/examples/mod.cairo @@ -1,3 +1,3 @@ pub mod examples { pub mod counter; -} \ No newline at end of file +} diff --git a/onchain/cairo/src/keys/keys.cairo b/onchain/cairo/src/keys/keys.cairo index 80b66c29b..d20d0fa96 100644 --- a/onchain/cairo/src/keys/keys.cairo +++ b/onchain/cairo/src/keys/keys.cairo @@ -64,8 +64,8 @@ pub trait IKeysMarketplace { #[starknet::contract] mod KeysMarketplace { - use afk::tokens::erc20::{ERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use afk::social::namespace::{INamespaceDispatcher, INamespaceDispatcherTrait}; + use afk::tokens::erc20::{ERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use core::num::traits::Zero; use openzeppelin::access::accesscontrol::{AccessControlComponent}; use openzeppelin::introspection::src5::SRC5Component; diff --git a/onchain/cairo/src/launchpad/launchpad.cairo b/onchain/cairo/src/launchpad/launchpad.cairo index 7968866f2..c06461afa 100644 --- a/onchain/cairo/src/launchpad/launchpad.cairo +++ b/onchain/cairo/src/launchpad/launchpad.cairo @@ -86,11 +86,11 @@ pub trait ILaunchpadMarketplace { #[starknet::contract] mod LaunchpadMarketplace { - use afk::tokens::erc20::{ERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use afk::interfaces::jediswap::{ IJediswapFactoryV2, IJediswapFactoryV2Dispatcher, IJediswapFactoryV2DispatcherTrait, IJediswapNFTRouterV2, IJediswapNFTRouterV2Dispatcher, IJediswapNFTRouterV2DispatcherTrait, }; + use afk::tokens::erc20::{ERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use afk::utils::{sqrt}; use core::num::traits::Zero; use openzeppelin::access::accesscontrol::{AccessControlComponent}; @@ -748,7 +748,6 @@ mod LaunchpadMarketplace { ) -> u256 { self._get_quote_paid_by_amount_coin(coin_address, quote_amount, is_decreased) } - } // // Could be a group of functions about a same topic diff --git a/onchain/cairo/src/lib.cairo b/onchain/cairo/src/lib.cairo index 6652e9c12..9caf95fc6 100644 --- a/onchain/cairo/src/lib.cairo +++ b/onchain/cairo/src/lib.cairo @@ -15,11 +15,11 @@ pub mod afk_id { } pub mod types { + pub mod identity_types; pub mod jediswap_types; pub mod keys_types; pub mod launchpad_types; pub mod tap_types; - pub mod identity_types; } @@ -28,9 +28,9 @@ pub mod examples { } pub mod tokens { - pub mod token; - pub mod erc20_mintable; pub mod erc20; + pub mod erc20_mintable; + pub mod token; } #[cfg(test)] @@ -39,4 +39,3 @@ pub mod tests { pub mod launchpad_tests; } - diff --git a/onchain/cairo/src/quests/mod.cairo b/onchain/cairo/src/quests/mod.cairo index 91243d0f5..5b1463d6b 100644 --- a/onchain/cairo/src/quests/mod.cairo +++ b/onchain/cairo/src/quests/mod.cairo @@ -1,3 +1,3 @@ pub mod quests { pub mod tap; -} \ No newline at end of file +} diff --git a/onchain/cairo/src/quests/tap.cairo b/onchain/cairo/src/quests/tap.cairo index 7dd528268..296ef85cd 100644 --- a/onchain/cairo/src/quests/tap.cairo +++ b/onchain/cairo/src/quests/tap.cairo @@ -1,36 +1,28 @@ -use starknet::{ - ContractAddress, ClassHash -}; -use afk::types::tap_types::{ - TapUserStats, - TapDailyEvent -}; +use afk::types::tap_types::{TapUserStats, TapDailyEvent}; +use starknet::{ContractAddress, ClassHash}; #[starknet::interface] pub trait ITapsQuests { - fn get_tap_user_stats(self: @T , user:ContractAddress) -> TapUserStats; + fn get_tap_user_stats(self: @T, user: ContractAddress) -> TapUserStats; fn handle_tap_daily(ref self: T); } #[starknet::contract] mod TapQuests { - - const DAILY_TIMESTAMP_SECONDS:u64=60*60*24; - use super::{ - TapUserStats, - TapDailyEvent - }; + use core::num::traits::Zero; use starknet::{ ContractAddress, get_caller_address, storage_access::StorageBaseAddress, contract_address_const, get_block_timestamp, get_contract_address, ClassHash }; - use core::num::traits::Zero; + use super::{TapUserStats, TapDailyEvent}; + + const DAILY_TIMESTAMP_SECONDS: u64 = 60 * 60 * 24; #[storage] struct Storage { - tap_by_users:LegacyMap + tap_by_users: LegacyMap } - + #[event] #[derive(Drop, starknet::Event)] enum Event { @@ -39,39 +31,28 @@ mod TapQuests { #[abi(embed_v0)] impl TapsQuestImpl of super::ITapsQuests { - fn get_tap_user_stats(self: @ContractState, user:ContractAddress) -> TapUserStats { + fn get_tap_user_stats(self: @ContractState, user: ContractAddress) -> TapUserStats { self.tap_by_users.read(user) } - + fn handle_tap_daily(ref self: ContractState) { let caller = get_contract_address(); - let tap_old= self.tap_by_users.read(caller); - let timestamp= get_block_timestamp(); + let tap_old = self.tap_by_users.read(caller); + let timestamp = get_block_timestamp(); if tap_old.owner.is_zero() { - let tap = TapUserStats { - owner:caller, - last_tap:timestamp, - total_tap:1 - - }; + let tap = TapUserStats { owner: caller, last_tap: timestamp, total_tap: 1 }; self.tap_by_users.write(caller, tap); - self - .emit( - TapDailyEvent { owner: caller, last_tap:timestamp, total_tap:1 } - ); + self.emit(TapDailyEvent { owner: caller, last_tap: timestamp, total_tap: 1 }); } else { let mut tap = tap_old.clone(); - let last_tap = tap.last_tap; - assert!(timestamp-last_tap < DAILY_TIMESTAMP_SECONDS, "too early"); - tap.last_tap= timestamp; + let last_tap = tap.last_tap; + assert!(timestamp - last_tap < DAILY_TIMESTAMP_SECONDS, "too early"); + tap.last_tap = timestamp; - let total=tap_old.total_tap+1; - tap.total_tap=total.clone(); + let total = tap_old.total_tap + 1; + tap.total_tap = total.clone(); self.tap_by_users.write(caller, tap); - self - .emit( - TapDailyEvent { owner: caller, last_tap:timestamp, total_tap:total } - ); + self.emit(TapDailyEvent { owner: caller, last_tap: timestamp, total_tap: total }); } } } diff --git a/onchain/cairo/src/social/deposit.cairo b/onchain/cairo/src/social/deposit.cairo index ab1219639..59245c85e 100644 --- a/onchain/cairo/src/social/deposit.cairo +++ b/onchain/cairo/src/social/deposit.cairo @@ -522,9 +522,7 @@ mod tests { // Check gas amount receive by AFK account let afk_balance_after_claim = erc20.balance_of(afk_address); assert!(afk_balance_before_claim == 0, "afk balance before claim != 0"); - assert!( - afk_balance_after_claim == gas_amount, "afk balance not equal gas amount received" - ); + assert!(afk_balance_after_claim == gas_amount, "afk balance not equal gas amount received"); // Escrow balance assert!(escrow_balance_before_claim == amount, "escrow before claim != amount deposit"); diff --git a/onchain/cairo/src/tests/keys_tests.cairo b/onchain/cairo/src/tests/keys_tests.cairo index 79ae17c50..fa8f467a9 100644 --- a/onchain/cairo/src/tests/keys_tests.cairo +++ b/onchain/cairo/src/tests/keys_tests.cairo @@ -1,7 +1,7 @@ #[cfg(test)] mod keys_tests { - use afk::tokens::erc20::{ERC20, IERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use afk::keys::keys::{IKeysMarketplaceDispatcher, IKeysMarketplaceDispatcherTrait}; + use afk::tokens::erc20::{ERC20, IERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use afk::types::keys_types::{ MINTER_ROLE, ADMIN_ROLE, KeysBonding, TokenQuoteBuyKeys, BondingType }; diff --git a/onchain/cairo/src/tests/launchpad_tests.cairo b/onchain/cairo/src/tests/launchpad_tests.cairo index 18c3a8cb8..20fd592f8 100644 --- a/onchain/cairo/src/tests/launchpad_tests.cairo +++ b/onchain/cairo/src/tests/launchpad_tests.cairo @@ -1,9 +1,9 @@ #[cfg(test)] mod launchpad_tests { - use afk::tokens::erc20::{ERC20, IERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use afk::launchpad::launchpad::{ ILaunchpadMarketplaceDispatcher, ILaunchpadMarketplaceDispatcherTrait }; + use afk::tokens::erc20::{ERC20, IERC20, IERC20Dispatcher, IERC20DispatcherTrait}; use afk::types::launchpad_types::{MINTER_ROLE, ADMIN_ROLE, TokenQuoteBuyKeys, BondingType}; use core::array::SpanTrait; use core::num::traits::Zero; diff --git a/onchain/cairo/src/tokens/erc20_mintable.cairo b/onchain/cairo/src/tokens/erc20_mintable.cairo index b9ef803fd..eb412308b 100644 --- a/onchain/cairo/src/tokens/erc20_mintable.cairo +++ b/onchain/cairo/src/tokens/erc20_mintable.cairo @@ -3,21 +3,21 @@ use starknet::ContractAddress; #[starknet::contract] mod ERC20Mintable { - use openzeppelin::token::erc20::{ERC20Component, ERC20HooksEmptyImpl}; - use openzeppelin::access::ownable::OwnableComponent; - use openzeppelin::access::accesscontrol::interface::IAccessControl; use openzeppelin::access::accesscontrol::AccessControlComponent; + use openzeppelin::access::accesscontrol::interface::IAccessControl; + use openzeppelin::access::ownable::OwnableComponent; + use openzeppelin::token::erc20::{ERC20Component, ERC20HooksEmptyImpl}; + use starknet::ContractAddress; const MINTER_ROLE: felt252 = selector!("MINTER_ROLE"); const ADMIN_ROLE: felt252 = selector!("ADMIN_ROLE"); const MAKER_ROLE: felt252 = selector!("MAKER_ROLE"); - use starknet::ContractAddress; component!(path: ERC20Component, storage: erc20, event: ERC20Event); component!(path: OwnableComponent, storage: ownable, event: OwnableEvent); // Ownable - + #[abi(embed_v0)] impl OwnableImpl = OwnableComponent::OwnableImpl; #[abi(embed_v0)] @@ -44,12 +44,10 @@ mod ERC20Mintable { // #[abi(embed_v0)] // impl SafeAllowanceImpl = ERC20Component::SafeAllowanceImpl; - #[storage] struct Storage { #[substorage(v0)] erc20: ERC20Component::Storage, - #[substorage(v0)] ownable: OwnableComponent::Storage } @@ -59,7 +57,6 @@ mod ERC20Mintable { enum Event { #[flat] ERC20Event: ERC20Component::Event, - #[flat] OwnableEvent: OwnableComponent::Event } @@ -70,22 +67,16 @@ mod ERC20Mintable { name: ByteArray, symbol: ByteArray, owner: ContractAddress, - initial_supply:u256 + initial_supply: u256 ) { self.ownable.initializer(owner); self.erc20.initializer(name, symbol); self.erc20._mint(owner, initial_supply); - } #[external(v0)] - fn mint( - ref self: ContractState, - recipient: ContractAddress, - amount: u256 - ) { + fn mint(ref self: ContractState, recipient: ContractAddress, amount: u256) { self.ownable.assert_only_owner(); self.erc20._mint(recipient, amount); } - -} \ No newline at end of file +} diff --git a/onchain/cairo/src/tokens/mod.cairo b/onchain/cairo/src/tokens/mod.cairo index b9ba445ba..65d75b6bf 100644 --- a/onchain/cairo/src/tokens/mod.cairo +++ b/onchain/cairo/src/tokens/mod.cairo @@ -1,5 +1,5 @@ pub mod tokens { + pub mod erc20_mintable; pub mod memecoin; pub mod token; - pub mod erc20_mintable; } diff --git a/onchain/cairo/src/tokens/token.cairo b/onchain/cairo/src/tokens/token.cairo index 0e2e10ca0..67b27982c 100644 --- a/onchain/cairo/src/tokens/token.cairo +++ b/onchain/cairo/src/tokens/token.cairo @@ -1,14 +1,14 @@ #[starknet::contract] mod DualVmToken { - use starknet::ContractAddress; use openzeppelin::token::erc20::{ERC20Component, ERC20HooksEmptyImpl}; + use starknet::ContractAddress; component!(path: ERC20Component, storage: erc20, event: ERC20Event); #[abi(embed_v0)] impl ERC20Impl = ERC20Component::ERC20Impl; #[abi(embed_v0)] impl ERC20MetadataImpl = ERC20Component::ERC20MetadataImpl; - + #[abi(embed_v0)] impl ERC20CamelOnlyImpl = ERC20Component::ERC20CamelOnlyImpl; @@ -34,15 +34,10 @@ mod DualVmToken { } #[constructor] - fn constructor( - ref self: ContractState, - fixed_supply: u256, - recipient: ContractAddress - ) { - let name:ByteArray = "MyToken"; - let symbol:ByteArray = "MTK"; + fn constructor(ref self: ContractState, fixed_supply: u256, recipient: ContractAddress) { + let name: ByteArray = "MyToken"; + let symbol: ByteArray = "MTK"; self.erc20.initializer(name, symbol); self.erc20._mint(recipient, fixed_supply); } - -} \ No newline at end of file +} diff --git a/onchain/cairo/src/types/identity_types.cairo b/onchain/cairo/src/types/identity_types.cairo index b3a727391..cc762dd9b 100644 --- a/onchain/cairo/src/types/identity_types.cairo +++ b/onchain/cairo/src/types/identity_types.cairo @@ -5,9 +5,9 @@ pub const ADMIN_ROLE: felt252 = selector!("ADMIN_ROLE"); #[derive(Drop, Copy, starknet::Store, Serde)] pub struct AfkIdentiyState { pub owner: ContractAddress, - pub last_tap:u64, - pub total_tap:u256, - pub token_address:ContractAddress, + pub last_tap: u64, + pub total_tap: u256, + pub token_address: ContractAddress, } @@ -15,7 +15,7 @@ pub struct AfkIdentiyState { pub struct AfkIdentityCreated { #[key] pub owner: ContractAddress, - pub last_tap:u64, - pub total_tap:u256, + pub last_tap: u64, + pub total_tap: u256, } diff --git a/onchain/cairo/src/types/mod.cairo b/onchain/cairo/src/types/mod.cairo index 93b6bf75b..80d595227 100644 --- a/onchain/cairo/src/types/mod.cairo +++ b/onchain/cairo/src/types/mod.cairo @@ -1,7 +1,7 @@ pub mod types { + pub mod identity_types; pub mod jediswap_types; pub mod keys_types; pub mod launchpad_types; pub mod tap_types; - pub mod identity_types; } diff --git a/onchain/cairo/src/types/tap_types.cairo b/onchain/cairo/src/types/tap_types.cairo index 21b03e5f9..0188b591b 100644 --- a/onchain/cairo/src/types/tap_types.cairo +++ b/onchain/cairo/src/types/tap_types.cairo @@ -5,8 +5,8 @@ pub const ADMIN_ROLE: felt252 = selector!("ADMIN_ROLE"); #[derive(Drop, Copy, starknet::Store, Serde)] pub struct TapUserStats { pub owner: ContractAddress, - pub last_tap:u64, - pub total_tap:u256, + pub last_tap: u64, + pub total_tap: u256, } @@ -14,7 +14,7 @@ pub struct TapUserStats { pub struct TapDailyEvent { #[key] pub owner: ContractAddress, - pub last_tap:u64, - pub total_tap:u256, + pub last_tap: u64, + pub total_tap: u256, }