From 5993db705f02c9b4efa21431900968636112773b Mon Sep 17 00:00:00 2001 From: Peter Anyaogu Date: Thu, 3 Oct 2024 02:49:04 +0100 Subject: [PATCH] viemish cosm-r1 structure --- apps/native/ios/Podfile.lock | 264 +++++++++--------- .../ios/native.xcodeproj/project.pbxproj | 66 +++-- apps/native/ios/native/PrivacyInfo.xcprivacy | 15 +- apps/native/package.json | 5 +- bun.lockb | Bin 596400 -> 603112 bytes packages/cosm-r1/index.ts | 1 - packages/cosm-r1/src/accounts.ts | 11 + .../cosm-r1/src/actions/cosmwasmActions.ts | 5 + packages/cosm-r1/src/actions/ibcActions.ts | 1 + packages/cosm-r1/src/actions/publicActions.ts | 25 ++ packages/cosm-r1/src/actions/walletActions.ts | 5 + packages/cosm-r1/src/chains.ts | 1 + packages/cosm-r1/src/client.ts | 7 + packages/cosm-r1/src/index.ts | 0 packages/cosm-r1/src/message.ts | 9 + packages/cosm-r1/src/registry.ts | 3 + packages/cosm-r1/src/transports.ts | 4 + .../ios/Cosmr1CredentialHandlerModule.swift | 10 +- 18 files changed, 258 insertions(+), 174 deletions(-) delete mode 100644 packages/cosm-r1/index.ts create mode 100644 packages/cosm-r1/src/accounts.ts create mode 100644 packages/cosm-r1/src/actions/cosmwasmActions.ts create mode 100644 packages/cosm-r1/src/actions/ibcActions.ts create mode 100644 packages/cosm-r1/src/actions/publicActions.ts create mode 100644 packages/cosm-r1/src/actions/walletActions.ts create mode 100644 packages/cosm-r1/src/chains.ts create mode 100644 packages/cosm-r1/src/client.ts create mode 100644 packages/cosm-r1/src/index.ts create mode 100644 packages/cosm-r1/src/message.ts create mode 100644 packages/cosm-r1/src/registry.ts create mode 100644 packages/cosm-r1/src/transports.ts diff --git a/apps/native/ios/Podfile.lock b/apps/native/ios/Podfile.lock index e71f348..be6ab73 100644 --- a/apps/native/ios/Podfile.lock +++ b/apps/native/ios/Podfile.lock @@ -3,15 +3,17 @@ PODS: - Cosmr1CredentialHandler (0.1.0): - ExpoModulesCore - DoubleConversion (1.1.6) - - EXConstants (14.4.2): + - EXConstants (16.0.2): - ExpoModulesCore - - EXFileSystem (15.4.5): + - Expo (51.0.35): - ExpoModulesCore - - EXFont (11.4.0): + - ExpoAsset (10.0.10): - ExpoModulesCore - - Expo (51.0.34): + - ExpoFileSystem (17.0.1): - ExpoModulesCore - - ExpoKeepAwake (12.3.0): + - ExpoFont (12.0.10): + - ExpoModulesCore + - ExpoKeepAwake (13.0.2): - ExpoModulesCore - ExpoModulesCore (1.12.24): - DoubleConversion @@ -1224,70 +1226,71 @@ PODS: - Yoga (0.0.0) DEPENDENCIES: - - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - boost (from `../../../node_modules/react-native/third-party-podspecs/boost.podspec`) - Cosmr1CredentialHandler (from `../../../packages/cred-native/ios`) - - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - DoubleConversion (from `../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - EXConstants (from `../../../node_modules/expo-constants/ios`) - - EXFileSystem (from `../../../node_modules/expo-file-system/ios`) - - EXFont (from `../../../node_modules/expo-font/ios`) - - Expo (from `../node_modules/expo`) + - Expo (from `../../../node_modules/expo`) + - ExpoAsset (from `../../../node_modules/expo-asset/ios`) + - ExpoFileSystem (from `../../../node_modules/expo-file-system/ios`) + - ExpoFont (from `../../../node_modules/expo-font/ios`) - ExpoKeepAwake (from `../../../node_modules/expo-keep-awake/ios`) - ExpoModulesCore (from `../../../node_modules/expo-modules-core`) - - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) - - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../node_modules/react-native/`) - - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`) + - fmt (from `../../../node_modules/react-native/third-party-podspecs/fmt.podspec`) + - glog (from `../../../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - RCT-Folly (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCT-Folly/Fabric (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../../../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../../../node_modules/react-native/`) + - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - - React-Core (from `../node_modules/react-native/`) - - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) - - React-Fabric (from `../node_modules/react-native/ReactCommon`) - - React-FabricImage (from `../node_modules/react-native/ReactCommon`) - - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) - - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) - - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) - - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../node_modules/react-native/React`) - - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - - React-rncore (from `../node_modules/react-native/ReactCommon`) - - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - React-Core (from `../../../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`) + - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../../../node_modules/react-native/ReactCommon/react/debug`) + - React-Fabric (from `../../../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../../../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../../../node_modules/react-native/ReactCommon/react/featureflags`) + - React-graphics (from `../../../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../../../node_modules/react-native/ReactCommon/hermes`) + - React-ImageManager (from `../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../../../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../../../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../../../node_modules/react-native/ReactCommon`) + - React-nativeconfig (from `../../../node_modules/react-native/ReactCommon`) + - React-NativeModulesApple (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../../../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../../../node_modules/react-native/React`) + - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`) + - React-rendererdebug (from `../../../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-rncore (from `../../../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../../../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../../../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimescheduler (from `../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`) - RNReanimated (from `../../../node_modules/react-native-reanimated`) - - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: @@ -1295,141 +1298,144 @@ SPEC REPOS: EXTERNAL SOURCES: boost: - :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/boost.podspec" Cosmr1CredentialHandler: :path: "../../../packages/cred-native/ios" DoubleConversion: - :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" EXConstants: :path: "../../../node_modules/expo-constants/ios" - EXFileSystem: + Expo: + :path: "../../../node_modules/expo" + ExpoAsset: + :path: "../../../node_modules/expo-asset/ios" + ExpoFileSystem: :path: "../../../node_modules/expo-file-system/ios" - EXFont: + ExpoFont: :path: "../../../node_modules/expo-font/ios" - Expo: - :path: "../node_modules/expo" ExpoKeepAwake: :path: "../../../node_modules/expo-keep-awake/ios" ExpoModulesCore: :path: "../../../node_modules/expo-modules-core" FBLazyVector: - :path: "../node_modules/react-native/Libraries/FBLazyVector" + :path: "../../../node_modules/react-native/Libraries/FBLazyVector" fmt: - :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/fmt.podspec" glog: - :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: - :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :podspec: "../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" :tag: hermes-2024-06-28-RNv0.74.3-7bda0c267e76d11b68a585f84cfdd65000babf85 RCT-Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: - :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + :path: "../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTRequired: - :path: "../node_modules/react-native/Libraries/Required" + :path: "../../../node_modules/react-native/Libraries/Required" RCTTypeSafety: - :path: "../node_modules/react-native/Libraries/TypeSafety" + :path: "../../../node_modules/react-native/Libraries/TypeSafety" React: - :path: "../node_modules/react-native/" + :path: "../../../node_modules/react-native/" React-callinvoker: - :path: "../node_modules/react-native/ReactCommon/callinvoker" + :path: "../../../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: - :path: "../node_modules/react-native/" + :path: "../../../node_modules/react-native/" React-CoreModules: - :path: "../node_modules/react-native/React/CoreModules" + :path: "../../../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "../node_modules/react-native/ReactCommon/cxxreact" + :path: "../../../node_modules/react-native/ReactCommon/cxxreact" React-debug: - :path: "../node_modules/react-native/ReactCommon/react/debug" + :path: "../../../node_modules/react-native/ReactCommon/react/debug" React-Fabric: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-FabricImage: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-featureflags: - :path: "../node_modules/react-native/ReactCommon/react/featureflags" + :path: "../../../node_modules/react-native/ReactCommon/react/featureflags" React-graphics: - :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/graphics" React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" + :path: "../../../node_modules/react-native/ReactCommon/hermes" React-ImageManager: - :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" React-jserrorhandler: - :path: "../node_modules/react-native/ReactCommon/jserrorhandler" + :path: "../../../node_modules/react-native/ReactCommon/jserrorhandler" React-jsi: - :path: "../node_modules/react-native/ReactCommon/jsi" + :path: "../../../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern" React-jsitracing: - :path: "../node_modules/react-native/ReactCommon/hermes/executor/" + :path: "../../../node_modules/react-native/ReactCommon/hermes/executor/" React-logger: - :path: "../node_modules/react-native/ReactCommon/logger" + :path: "../../../node_modules/react-native/ReactCommon/logger" React-Mapbuffer: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-nativeconfig: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-NativeModulesApple: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" + :path: "../../../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../node_modules/react-native/Libraries/NativeAnimation" + :path: "../../../node_modules/react-native/Libraries/NativeAnimation" React-RCTAppDelegate: - :path: "../node_modules/react-native/Libraries/AppDelegate" + :path: "../../../node_modules/react-native/Libraries/AppDelegate" React-RCTBlob: - :path: "../node_modules/react-native/Libraries/Blob" + :path: "../../../node_modules/react-native/Libraries/Blob" React-RCTFabric: - :path: "../node_modules/react-native/React" + :path: "../../../node_modules/react-native/React" React-RCTImage: - :path: "../node_modules/react-native/Libraries/Image" + :path: "../../../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "../node_modules/react-native/Libraries/LinkingIOS" + :path: "../../../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../node_modules/react-native/Libraries/Network" + :path: "../../../node_modules/react-native/Libraries/Network" React-RCTSettings: - :path: "../node_modules/react-native/Libraries/Settings" + :path: "../../../node_modules/react-native/Libraries/Settings" React-RCTText: - :path: "../node_modules/react-native/Libraries/Text" + :path: "../../../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "../node_modules/react-native/Libraries/Vibration" + :path: "../../../node_modules/react-native/Libraries/Vibration" React-rendererdebug: - :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/debug" React-rncore: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-RuntimeApple: - :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + :path: "../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios" React-RuntimeCore: - :path: "../node_modules/react-native/ReactCommon/react/runtime" + :path: "../../../node_modules/react-native/ReactCommon/react/runtime" React-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor" React-RuntimeHermes: - :path: "../node_modules/react-native/ReactCommon/react/runtime" + :path: "../../../node_modules/react-native/ReactCommon/react/runtime" React-runtimescheduler: - :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" React-utils: - :path: "../node_modules/react-native/ReactCommon/react/utils" + :path: "../../../node_modules/react-native/ReactCommon/react/utils" ReactCommon: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" RNReanimated: :path: "../../../node_modules/react-native-reanimated" Yoga: - :path: "../node_modules/react-native/ReactCommon/yoga" + :path: "../../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - boost: 69c3d61aee7f5f7facabe24312f0302003b5af29 + boost: d3f49c53809116a5d38da093a8aa78bf551aed09 Cosmr1CredentialHandler: 52a1b108697c4305519314f17ae96b55024f9e7d DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 - EXConstants: ce5bbea779da8031ac818c36bea41b10e14d04e1 - EXFileSystem: f8b838a880254de42a5a7da20ed5ce12e2697c1b - EXFont: 738c44c390953ebcbab075a4848bfbef025fd9ee - Expo: 963ef4ae102e4f4ac114a8510d70127c44adffbf - ExpoKeepAwake: be4cbd52d9b177cde0fd66daa1913afa3161fc1d - ExpoModulesCore: ec4049ff292eaf030bcebb77a4ca8b35cce28bca + EXConstants: 409690fbfd5afea964e5e9d6c4eb2c2b59222c59 + Expo: 76d7e2a8badda285c79ae69d01b6a40b3ec75e5c + ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875 + ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51 + ExpoFont: 00756e6c796d8f7ee8d211e29c8b619e75cbf238 + ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08 + ExpoModulesCore: f30a203ff1863bab3dd9f4421e7fc1564797f18a FBLazyVector: ac12dc084d1c8ec4cc4d7b3cf1b0ebda6dab85af fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 glog: fdfdfe5479092de0c4bdbebedd9056951f092c4f @@ -1440,7 +1446,7 @@ SPEC CHECKSUMS: RCTTypeSafety: f5ecbc86c5c5fa163c05acb7a1c5012e15b5f994 React: fc9fa7258eff606f44d58c5b233a82dc9cf09018 React-callinvoker: e3fab14d69607fb7e8e3a57e5a415aed863d3599 - React-Codegen: 6fa87b7c6b8efcd0cef4bfeaec8c8bc8a6abe75a + React-Codegen: 9ff3ae515538277d13c50769008686a4c20f52c5 React-Core: 3a5fd9e781cecf87803e5b091496a606a3df774a React-CoreModules: cbf4707dafab8f9f826ac0c63a07d0bf5d01e256 React-cxxreact: 7b188556271e3c7fdf22a04819f6a6225045b9dd @@ -1481,7 +1487,7 @@ SPEC CHECKSUMS: React-runtimescheduler: cfbe85c3510c541ec6dc815c7729b41304b67961 React-utils: f242eb7e7889419d979ca0e1c02ccc0ea6e43b29 ReactCommon: f7da14a8827b72704169a48c929bcde802698361 - RNReanimated: 35f9ac9c3ac42d0497ebd1cce5c39d7687a8493e + RNReanimated: 33c6135cdf421b795c2f1173075a11cca2a39bf2 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Yoga: 950bbfd7e6f04790fdb51149ed51df41f329fcc8 diff --git a/apps/native/ios/native.xcodeproj/project.pbxproj b/apps/native/ios/native.xcodeproj/project.pbxproj index 2de81fe..d5c1ac6 100644 --- a/apps/native/ios/native.xcodeproj/project.pbxproj +++ b/apps/native/ios/native.xcodeproj/project.pbxproj @@ -10,29 +10,29 @@ 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 1B7866D9598144A08EA20ECC /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = A773876745534454B065C3AC /* noop-file.swift */; }; 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; }; + 600ABCAF7018ED2A211EB9AA /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = EB31533938FBAD1E2D6EB5BC /* PrivacyInfo.xcprivacy */; }; 96905EF65AED1B983A6B3ABC /* libPods-native.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-native.a */; }; B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; }; BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; }; - E2AF6B1AF61540DFB69CB6CE /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C47DE4934A343F3A02C1615 /* noop-file.swift */; }; - E8FCF744927B8DE7F4BD4EB6 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 935468F84576018E365B3DFA /* PrivacyInfo.xcprivacy */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 06FBFD2E6B0C44A5916DE07B /* native-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "native-Bridging-Header.h"; path = "native/native-Bridging-Header.h"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* native.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = native.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = native/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = native/AppDelegate.mm; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = native/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = native/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = native/main.m; sourceTree = ""; }; - 4C47DE4934A343F3A02C1615 /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "native/noop-file.swift"; sourceTree = ""; }; 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-native.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-native.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 6C2E3173556A471DD304B334 /* Pods-native.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-native.debug.xcconfig"; path = "Target Support Files/Pods-native/Pods-native.debug.xcconfig"; sourceTree = ""; }; 7A4D352CD337FB3A3BF06240 /* Pods-native.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-native.release.xcconfig"; path = "Target Support Files/Pods-native/Pods-native.release.xcconfig"; sourceTree = ""; }; - 935468F84576018E365B3DFA /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = native/PrivacyInfo.xcprivacy; sourceTree = ""; }; + 9906C66B96C34935AC229BA4 /* native-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "native-Bridging-Header.h"; path = "native/native-Bridging-Header.h"; sourceTree = ""; }; + A773876745534454B065C3AC /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "native/noop-file.swift"; sourceTree = ""; }; AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = native/SplashScreen.storyboard; sourceTree = ""; }; BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; }; + EB31533938FBAD1E2D6EB5BC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = native/PrivacyInfo.xcprivacy; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-native/ExpoModulesProvider.swift"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -59,9 +59,9 @@ 13B07FB61A68108700A75B9A /* Info.plist */, 13B07FB71A68108700A75B9A /* main.m */, AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */, - 4C47DE4934A343F3A02C1615 /* noop-file.swift */, - 06FBFD2E6B0C44A5916DE07B /* native-Bridging-Header.h */, - 935468F84576018E365B3DFA /* PrivacyInfo.xcprivacy */, + A773876745534454B065C3AC /* noop-file.swift */, + 9906C66B96C34935AC229BA4 /* native-Bridging-Header.h */, + EB31533938FBAD1E2D6EB5BC /* PrivacyInfo.xcprivacy */, ); name = native; sourceTree = ""; @@ -147,13 +147,13 @@ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "native" */; buildPhases = ( 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */, - 3931066B4D3049BFFB37210C /* [Expo] Configure project */, + B2B8B9F8B0387162A23A0B3B /* [Expo] Configure project */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */, - FE53820B1F47AB7F38F57042 /* [CP] Embed Pods Frameworks */, + 4E43BEAD9B82DC65189948A2 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -203,7 +203,7 @@ BB2F792D24A3F905000567C9 /* Expo.plist in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */, - E8FCF744927B8DE7F4BD4EB6 /* PrivacyInfo.xcprivacy in Resources */, + 600ABCAF7018ED2A211EB9AA /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -247,24 +247,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3931066B4D3049BFFB37210C /* [Expo] Configure project */ = { + 4E43BEAD9B82DC65189948A2 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-native/Pods-native-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); - name = "[Expo] Configure project"; - outputFileListPaths = ( - ); + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-native/expo-configure-project.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-native/Pods-native-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; @@ -274,11 +273,15 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-native/Pods-native-resources.sh", "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/ExpoConstants_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ExpoFileSystem/ExpoFileSystem_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoConstants_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoFileSystem_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", ); runOnlyForDeploymentPostprocessing = 0; @@ -286,23 +289,24 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-native/Pods-native-resources.sh\"\n"; showEnvVarsInLog = 0; }; - FE53820B1F47AB7F38F57042 /* [CP] Embed Pods Frameworks */ = { + B2B8B9F8B0387162A23A0B3B /* [Expo] Configure project */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-native/Pods-native-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); - name = "[CP] Embed Pods Frameworks"; + name = "[Expo] Configure project"; + outputFileListPaths = ( + ); outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-native/Pods-native-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-native/expo-configure-project.sh\"\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -314,7 +318,7 @@ 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */, - E2AF6B1AF61540DFB69CB6CE /* noop-file.swift in Sources */, + 1B7866D9598144A08EA20ECC /* noop-file.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -345,7 +349,7 @@ ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; PRODUCT_BUNDLE_IDENTIFIER = space.variance.internal; - PRODUCT_NAME = "native"; + PRODUCT_NAME = native; SWIFT_OBJC_BRIDGING_HEADER = "native/native-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -373,7 +377,7 @@ ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; PRODUCT_BUNDLE_IDENTIFIER = space.variance.internal; - PRODUCT_NAME = "native"; + PRODUCT_NAME = native; SWIFT_OBJC_BRIDGING_HEADER = "native/native-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -441,7 +445,7 @@ "$(inherited)", " ", ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; }; @@ -499,7 +503,7 @@ "$(inherited)", " ", ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; VALIDATE_PRODUCT = YES; diff --git a/apps/native/ios/native/PrivacyInfo.xcprivacy b/apps/native/ios/native/PrivacyInfo.xcprivacy index 41b8317..5bb83c5 100644 --- a/apps/native/ios/native/PrivacyInfo.xcprivacy +++ b/apps/native/ios/native/PrivacyInfo.xcprivacy @@ -4,20 +4,31 @@ NSPrivacyAccessedAPITypes + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + NSPrivacyAccessedAPIType NSPrivacyAccessedAPICategoryFileTimestamp NSPrivacyAccessedAPITypeReasons + 0A2A.1 + 3B52.1 C617.1 NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPICategoryDiskSpace NSPrivacyAccessedAPITypeReasons - CA92.1 + E174.1 + 85F4.1 diff --git a/apps/native/package.json b/apps/native/package.json index b856ca1..6cb0181 100644 --- a/apps/native/package.json +++ b/apps/native/package.json @@ -11,10 +11,11 @@ }, "dependencies": { "@vaariance/ui": "workspace:*", - "expo": "~51.0.28", + "expo": "~51.0.35", "expo-status-bar": "~1.12.1", + "expo-system-ui": "~3.0.7", "nativewind": "^4.0.1", - "react": "^18.2.0", + "react": "18.2.0", "react-native": "0.74.5", "react-native-reanimated": "~3.10.1", "tailwindcss": "^3.4.13" diff --git a/bun.lockb b/bun.lockb index 8d0a858d91022f1a26284550954944ec95fecbca..8970059a6d9c294414af565e50a6b9d30a877ac0 100755 GIT binary patch delta 58020 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 public + +// createIbcClient -> wallet | cosmwasm + +// createCosmwasmClient - > wallet | ibc diff --git a/packages/cosm-r1/src/index.ts b/packages/cosm-r1/src/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/cosm-r1/src/message.ts b/packages/cosm-r1/src/message.ts new file mode 100644 index 0000000..706f4c3 --- /dev/null +++ b/packages/cosm-r1/src/message.ts @@ -0,0 +1,9 @@ +// encode message + +// encode raw transaction + +// decode message + +// decode raw transaction + +// decode signature diff --git a/packages/cosm-r1/src/registry.ts b/packages/cosm-r1/src/registry.ts new file mode 100644 index 0000000..50b38da --- /dev/null +++ b/packages/cosm-r1/src/registry.ts @@ -0,0 +1,3 @@ +// create registry + +// default registry diff --git a/packages/cosm-r1/src/transports.ts b/packages/cosm-r1/src/transports.ts new file mode 100644 index 0000000..e010f54 --- /dev/null +++ b/packages/cosm-r1/src/transports.ts @@ -0,0 +1,4 @@ +// lcd api +// grpc +// rest api +// node rpc diff --git a/packages/cred-native/ios/Cosmr1CredentialHandlerModule.swift b/packages/cred-native/ios/Cosmr1CredentialHandlerModule.swift index 029b2c5..2a17fb8 100644 --- a/packages/cred-native/ios/Cosmr1CredentialHandlerModule.swift +++ b/packages/cred-native/ios/Cosmr1CredentialHandlerModule.swift @@ -12,7 +12,7 @@ public class Cosmr1CredentialHandlerModule: Module { // Sets constant properties on the module. Can take a dictionary or a closure that returns a dictionary. Constants([ - "PI": Double.pi + "PILLL": Double.pi ]) // Defines event names that the module can send to JavaScript. @@ -32,13 +32,5 @@ public class Cosmr1CredentialHandlerModule: Module { ]) } - // Enables the module to be used as a native view. Definition components that are accepted as part of the - // view definition: Prop, Events. - View(Cosmr1CredentialHandlerView.self) { - // Defines a setter for the `name` prop. - Prop("name") { (view: Cosmr1CredentialHandlerView, prop: String) in - print(prop) - } - } } }