diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index bda40df7..9f69664e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -25,6 +25,7 @@ jobs: echo "changes_cosmos_ui_components=$(git diff --quiet HEAD origin/$GITHUB_BASE_REF -- packages/cosmos_ui_components && echo "false" || echo "true")" >> $GITHUB_ENV echo "changes_cosmos_utils=$(git diff --quiet HEAD origin/$GITHUB_BASE_REF -- packages/cosmos_utils && echo "false" || echo "true")" >> $GITHUB_ENV echo "changes_cosmos_auth=$(git diff --quiet HEAD origin/$GITHUB_BASE_REF -- packages/cosmos_auth && echo "false" || echo "true")" >> $GITHUB_ENV + echo "cosmos_node_client=$(git diff --quiet HEAD origin/$GITHUB_BASE_REF -- packages/cosmos_node_client && echo "false" || echo "true")" >> $GITHUB_ENV - uses: subosito/flutter-action@v2 with: flutter-version: '2.10.1' @@ -66,6 +67,30 @@ jobs: working-directory: packages/transaction_signing_gateway if: env.changes_transaction_signing_gateway == 'true' run: flutter test + + ########################################################################################### + ## COSMOS_NODE_CLIENT + ########################################################################################### + + - name: cosmos_node_client - pub get + working-directory: packages/cosmos_node_client + if: env.changes_transaction_signing_gateway == 'true' + run: flutter pub get + + - name: cosmos_node_client - check codestyle + working-directory: packages/cosmos_node_client + if: env.cosmos_node_client == 'true' + run: find lib test -name "*.dart" -not -name "*.g.dart" -not -name "*.freezed.dart" -not -name "*.gen.dart" -exec dart format -l 120 --set-exit-if-changed {} +; + + - name: cosmos_node_client - dart analysis + working-directory: packages/cosmos_node_client + if: env.cosmos_node_client == 'true' + run: flutter analyze + + - name: cosmos_node_client - tests + working-directory: packages/cosmos_node_client + if: env.cosmos_node_client == 'true' + run: flutter test ########################################################################################### ## COSMOS_UI_COMPONENTS diff --git a/Makefile b/Makefile index fe2f9e5c..29cffa2f 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,10 @@ install-cosmos-auth: $(info Running flutter pub upgrade on `cosmos_auth`) cd packages/cosmos_auth && fvm install && fvm flutter pub upgrade +install-cosmos-node-client: + $(info Running flutter pub upgrade on `cosmos_node_client`) + cd packages/cosmos_node_client && fvm install && fvm flutter pub upgrade + install-cosmos-lint: $(info Running flutter pub upgrade on `cosmos_lint`) cd packages/cosmos_lint && fvm install && fvm flutter pub upgrade @@ -32,6 +36,7 @@ install: $(MAKE) install-cosmos-lint $(MAKE) install-cosmos-ui-components $(MAKE) install-cosmos-utils + $(MAKE) install-cosmos-node-client $(MAKE) install-transaction-signing-gateway $(MAKE) install-starport-template $(info Done) diff --git a/packages/cosmos_node_client/.gitignore b/packages/cosmos_node_client/.gitignore new file mode 100644 index 00000000..a247422e --- /dev/null +++ b/packages/cosmos_node_client/.gitignore @@ -0,0 +1,75 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +build/ + +# Android related +**/android/**/gradle-wrapper.jar +**/android/.gradle +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Flutter.podspec +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/ephemeral +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/Flutter/flutter_export_environment.sh +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 diff --git a/packages/cosmos_node_client/CHANGELOG.md b/packages/cosmos_node_client/CHANGELOG.md new file mode 100644 index 00000000..41cc7d81 --- /dev/null +++ b/packages/cosmos_node_client/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +* TODO: Describe initial release. diff --git a/packages/cosmos_node_client/LICENSE b/packages/cosmos_node_client/LICENSE new file mode 100644 index 00000000..ba75c69f --- /dev/null +++ b/packages/cosmos_node_client/LICENSE @@ -0,0 +1 @@ +TODO: Add your license here. diff --git a/packages/cosmos_node_client/README.md b/packages/cosmos_node_client/README.md new file mode 100644 index 00000000..ce261d6c --- /dev/null +++ b/packages/cosmos_node_client/README.md @@ -0,0 +1,3 @@ +# cosmos_node_client + +Cosmos node client diff --git a/packages/cosmos_node_client/analysis_options.yaml b/packages/cosmos_node_client/analysis_options.yaml new file mode 100644 index 00000000..c173f349 --- /dev/null +++ b/packages/cosmos_node_client/analysis_options.yaml @@ -0,0 +1 @@ +include: package:cosmos_lint/analysis_options.yaml \ No newline at end of file diff --git a/packages/cosmos_node_client/lib/cosmos_node_client.dart b/packages/cosmos_node_client/lib/cosmos_node_client.dart new file mode 100644 index 00000000..a604b666 --- /dev/null +++ b/packages/cosmos_node_client/lib/cosmos_node_client.dart @@ -0,0 +1 @@ +library cosmos_node_client; diff --git a/packages/cosmos_node_client/pubspec.lock b/packages/cosmos_node_client/pubspec.lock new file mode 100644 index 00000000..9f81c9e5 --- /dev/null +++ b/packages/cosmos_node_client/pubspec.lock @@ -0,0 +1,401 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + url: "https://pub.dartlang.org" + source: hosted + version: "31.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.0" + args: + dependency: transitive + description: + name: args + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.0" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.2" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + cli_util: + dependency: transitive + description: + name: cli_util + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.5" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.15.0" + convert: + dependency: transitive + description: + name: convert + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + cosmos_lint: + dependency: "direct dev" + description: + path: "packages/cosmos_lint" + ref: main + resolved-ref: "64fc9a44b76bef7a6a6cd98763048630afdc99da" + url: "https://github.com/tendermint/flutter.git" + source: git + version: "1.9.0" + coverage: + dependency: transitive + description: + name: coverage + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.2" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" + glob: + dependency: transitive + description: + name: glob + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.0" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.0" + io: + dependency: transitive + description: + name: io + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.4" + logging: + dependency: transitive + description: + name: logging + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.11" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.3" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.0" + mime: + dependency: transitive + description: + name: mime + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + mocktail: + dependency: "direct dev" + description: + name: mocktail + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0" + node_preamble: + dependency: transitive + description: + name: node_preamble + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + package_config: + dependency: transitive + description: + name: package_config + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + pool: + dependency: transitive + description: + name: pool + url: "https://pub.dartlang.org" + source: hosted + version: "1.5.0" + pub_semver: + dependency: transitive + description: + name: pub_semver + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + shelf: + dependency: transitive + description: + name: shelf + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + shelf_static: + dependency: transitive + description: + name: shelf_static + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + source_maps: + dependency: transitive + description: + name: source_maps + url: "https://pub.dartlang.org" + source: hosted + version: "0.10.10" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + test: + dependency: transitive + description: + name: test + url: "https://pub.dartlang.org" + source: hosted + version: "1.19.5" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.8" + test_core: + dependency: transitive + description: + name: test_core + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.9" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + vm_service: + dependency: transitive + description: + name: vm_service + url: "https://pub.dartlang.org" + source: hosted + version: "7.5.0" + watcher: + dependency: transitive + description: + name: watcher + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + yaml: + dependency: transitive + description: + name: yaml + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" +sdks: + dart: ">=2.16.0 <3.0.0" + flutter: ">=1.17.0" diff --git a/packages/cosmos_node_client/pubspec.yaml b/packages/cosmos_node_client/pubspec.yaml new file mode 100644 index 00000000..02a13ab2 --- /dev/null +++ b/packages/cosmos_node_client/pubspec.yaml @@ -0,0 +1,32 @@ +name: cosmos_node_client +description: cosmos node client package +version: 0.0.1 +publish_to: 'none' +homepage: starport.com + +environment: + sdk: ">=2.14.0 <3.0.0" + flutter: ">=1.17.0" + +dependencies: + flutter: + sdk: flutter + +## convenient overrides for development to reference packages on local disk, just uncomment following lines and make sure +## it points to the location of the checked out tendermint/flutter repository +#dependency_overrides: +# cosmos_utils: +# path: ../cosmos_utils + +dev_dependencies: + flutter_test: + sdk: flutter + cosmos_lint: + git: + url: https://github.com/tendermint/flutter.git + path: packages/cosmos_lint + ref: main + + mocktail: 0.2.0 + +flutter: diff --git a/packages/cosmos_node_client/test/cosmos_node_client_test.dart b/packages/cosmos_node_client/test/cosmos_node_client_test.dart new file mode 100644 index 00000000..ef2df2a2 --- /dev/null +++ b/packages/cosmos_node_client/test/cosmos_node_client_test.dart @@ -0,0 +1,10 @@ +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test('demo test to be removed', () async { + const two = 2; + const three = 3; + + expect(two * three, equals(6)); + }); +} diff --git a/starport_template/pubspec.yaml b/starport_template/pubspec.yaml index bcf56b33..27d5568e 100644 --- a/starport_template/pubspec.yaml +++ b/starport_template/pubspec.yaml @@ -42,7 +42,7 @@ dependencies: url: https://github.com/tendermint/flutter.git path: packages/cosmos_utils ref: main - + transaction_signing_gateway: git: url: https://github.com/tendermint/flutter.git