diff --git a/build.yaml b/build.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6b854354832f89662a7799588a6c90fe4d9c2cff --- /dev/null +++ b/build.yaml @@ -0,0 +1,23 @@ +targets: + $default: + builders: + ferry_generator|graphql_builder: + enabled: true + options: + schema: ginkgo|lib/data/models/graphql/duniter-indexer.graphql + type_overrides: + jsonb: + name: JsonObject + import: "package:built_value/json_object.dart" + ferry_generator|serializer_builder: + enabled: true + options: + schema: ginkgo|lib/data/models/graphql/duniter-indexer.graphql + type_overrides: + jsonb: + name: JsonObject + import: "package:built_value/json_object.dart" + custom_serializers: + - import: "package:built_value/src/json_object_serializer.dart" + name: JsonObjectSerializer + diff --git a/dot.env.sample b/dot.env.sample index bb0c16f47bd8f63a892202115b2dd76359b2f1ec..15f606b214ded159ba08ac13c21509ac8445c925 100644 --- a/dot.env.sample +++ b/dot.env.sample @@ -16,6 +16,8 @@ GVA_NODES=https://g1v1.p2p.legal/gva https://g1.asycn.io/gva https://duniter.pin # v2 ENDPOINTS=wss://gdev.cgeek.fr/ws wss://gdev.trentesaux.fr/ws wss://gdev.gyroi.de/ws wss://gdev-smith.pini.fr/ws wss://gdev.pini.fr/ws wss://gdev.txmn.tk/ws wss://duniter-v2-vjrj-gdev.comunes.net/ws wss://bulmagdev.sleoconnect.fr/ws wss://gdev.cuates.net/ws wss://gdev.matograine.fr/ws wss://gdev.p2p.legal/ws DUNITER_INDEXER_NODES=https://gdev-indexer.p2p.legal/v1/graphql https://squid.gdev.coinduf.eu/v1/graphql https://squid.gdev.gyroi.de/v1/graphql https://duniter-v2-vjrj-squid.comunes.net/v1/graphql +DATAPOD_ENDPOINTS=https://datapod.gyroi.de/v1/graphql https://datapod.coinduf.eu/v1/graphql +IPFS_GATEWAYS=https://gyroi.de GITLAB_TOKEN=something diff --git a/lib/graphql/__generated__/duniter-indexer.ast.gql.dart b/lib/data/models/graphql/__generated__/duniter-indexer.ast.gql.dart similarity index 100% rename from lib/graphql/__generated__/duniter-indexer.ast.gql.dart rename to lib/data/models/graphql/__generated__/duniter-indexer.ast.gql.dart diff --git a/lib/graphql/__generated__/duniter-indexer.schema.gql.dart b/lib/data/models/graphql/__generated__/duniter-indexer.schema.gql.dart similarity index 99% rename from lib/graphql/__generated__/duniter-indexer.schema.gql.dart rename to lib/data/models/graphql/__generated__/duniter-indexer.schema.gql.dart index 79bc2f05cba1857f016a3bbe8f0a5a853dedc042..c0f88f0a0715d8f1e8a9e955e214861453783897 100644 --- a/lib/graphql/__generated__/duniter-indexer.schema.gql.dart +++ b/lib/data/models/graphql/__generated__/duniter-indexer.schema.gql.dart @@ -6,7 +6,8 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/json_object.dart' as _i3; import 'package:built_value/serializer.dart'; -import 'package:ginkgo/graphql/__generated__/serializers.gql.dart' as _i1; +import 'package:ginkgo/data/models/graphql/__generated__/serializers.gql.dart' + as _i1; import 'package:gql_code_builder_serializers/gql_code_builder_serializers.dart' as _i2; diff --git a/lib/graphql/__generated__/duniter-indexer.schema.gql.g.dart b/lib/data/models/graphql/__generated__/duniter-indexer.schema.gql.g.dart similarity index 100% rename from lib/graphql/__generated__/duniter-indexer.schema.gql.g.dart rename to lib/data/models/graphql/__generated__/duniter-indexer.schema.gql.g.dart diff --git a/lib/graphql/__generated__/duniter-custom-queries.ast.gql.dart b/lib/data/models/graphql/__generated__/duniter-queries.ast.gql.dart similarity index 100% rename from lib/graphql/__generated__/duniter-custom-queries.ast.gql.dart rename to lib/data/models/graphql/__generated__/duniter-queries.ast.gql.dart diff --git a/lib/graphql/__generated__/duniter-custom-queries.data.gql.dart b/lib/data/models/graphql/__generated__/duniter-queries.data.gql.dart similarity index 97% rename from lib/graphql/__generated__/duniter-custom-queries.data.gql.dart rename to lib/data/models/graphql/__generated__/duniter-queries.data.gql.dart index a087217303a3b10190113a3435bc93589acb6265..cbe818df4e6a5c493c8140e8008e6d79a9351c8d 100644 --- a/lib/graphql/__generated__/duniter-custom-queries.data.gql.dart +++ b/lib/data/models/graphql/__generated__/duniter-queries.data.gql.dart @@ -5,11 +5,12 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:ginkgo/graphql/__generated__/duniter-indexer.schema.gql.dart' +import 'package:ginkgo/data/models/graphql/__generated__/duniter-indexer.schema.gql.dart' as _i2; -import 'package:ginkgo/graphql/__generated__/serializers.gql.dart' as _i1; +import 'package:ginkgo/data/models/graphql/__generated__/serializers.gql.dart' + as _i1; -part 'duniter-custom-queries.data.gql.g.dart'; +part 'duniter-queries.data.gql.g.dart'; abstract class GAccountsByNameOrPkData implements Built<GAccountsByNameOrPkData, GAccountsByNameOrPkDataBuilder> { diff --git a/lib/graphql/__generated__/duniter-custom-queries.data.gql.g.dart b/lib/data/models/graphql/__generated__/duniter-queries.data.gql.g.dart similarity index 99% rename from lib/graphql/__generated__/duniter-custom-queries.data.gql.g.dart rename to lib/data/models/graphql/__generated__/duniter-queries.data.gql.g.dart index 571fc6620f6f0e9ca54be331eefa7b3a1722ebb0..ddbec77e912070fdf2c36aa4c6f49b5bed2b7404 100644 --- a/lib/graphql/__generated__/duniter-custom-queries.data.gql.g.dart +++ b/lib/data/models/graphql/__generated__/duniter-queries.data.gql.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'duniter-custom-queries.data.gql.dart'; +part of 'duniter-queries.data.gql.dart'; // ************************************************************************** // BuiltValueGenerator diff --git a/lib/graphql/__generated__/duniter-custom-queries.req.gql.dart b/lib/data/models/graphql/__generated__/duniter-queries.req.gql.dart similarity index 94% rename from lib/graphql/__generated__/duniter-custom-queries.req.gql.dart rename to lib/data/models/graphql/__generated__/duniter-queries.req.gql.dart index ed949259482cfbec5eb78630ae8901149041a28b..3499b49b91a96d1e461ff6b3f71e1f826e010d79 100644 --- a/lib/graphql/__generated__/duniter-custom-queries.req.gql.dart +++ b/lib/data/models/graphql/__generated__/duniter-queries.req.gql.dart @@ -5,16 +5,17 @@ import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; import 'package:ferry_exec/ferry_exec.dart' as _i1; -import 'package:ginkgo/graphql/__generated__/duniter-custom-queries.ast.gql.dart' +import 'package:ginkgo/data/models/graphql/__generated__/duniter-queries.ast.gql.dart' as _i5; -import 'package:ginkgo/graphql/__generated__/duniter-custom-queries.data.gql.dart' +import 'package:ginkgo/data/models/graphql/__generated__/duniter-queries.data.gql.dart' as _i2; -import 'package:ginkgo/graphql/__generated__/duniter-custom-queries.var.gql.dart' +import 'package:ginkgo/data/models/graphql/__generated__/duniter-queries.var.gql.dart' as _i3; -import 'package:ginkgo/graphql/__generated__/serializers.gql.dart' as _i6; +import 'package:ginkgo/data/models/graphql/__generated__/serializers.gql.dart' + as _i6; import 'package:gql_exec/gql_exec.dart' as _i4; -part 'duniter-custom-queries.req.gql.g.dart'; +part 'duniter-queries.req.gql.g.dart'; abstract class GAccountsByNameOrPkReq implements diff --git a/lib/graphql/__generated__/duniter-custom-queries.req.gql.g.dart b/lib/data/models/graphql/__generated__/duniter-queries.req.gql.g.dart similarity index 99% rename from lib/graphql/__generated__/duniter-custom-queries.req.gql.g.dart rename to lib/data/models/graphql/__generated__/duniter-queries.req.gql.g.dart index 04ef711a78a4d20014cca59616807673f08515fe..94c188b91edab3208b09a1d6a0bb222b95d41427 100644 --- a/lib/graphql/__generated__/duniter-custom-queries.req.gql.g.dart +++ b/lib/data/models/graphql/__generated__/duniter-queries.req.gql.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'duniter-custom-queries.req.gql.dart'; +part of 'duniter-queries.req.gql.dart'; // ************************************************************************** // BuiltValueGenerator diff --git a/lib/graphql/__generated__/duniter-custom-queries.var.gql.dart b/lib/data/models/graphql/__generated__/duniter-queries.var.gql.dart similarity index 94% rename from lib/graphql/__generated__/duniter-custom-queries.var.gql.dart rename to lib/data/models/graphql/__generated__/duniter-queries.var.gql.dart index 4c04a9d0fb198109f29639148c3094fee07b973e..a52ea6f76f34886cbd9f75f193eedacbf0586d90 100644 --- a/lib/graphql/__generated__/duniter-custom-queries.var.gql.dart +++ b/lib/data/models/graphql/__generated__/duniter-queries.var.gql.dart @@ -4,9 +4,10 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:ginkgo/graphql/__generated__/serializers.gql.dart' as _i1; +import 'package:ginkgo/data/models/graphql/__generated__/serializers.gql.dart' + as _i1; -part 'duniter-custom-queries.var.gql.g.dart'; +part 'duniter-queries.var.gql.g.dart'; abstract class GAccountsByNameOrPkVars implements Built<GAccountsByNameOrPkVars, GAccountsByNameOrPkVarsBuilder> { diff --git a/lib/graphql/__generated__/duniter-custom-queries.var.gql.g.dart b/lib/data/models/graphql/__generated__/duniter-queries.var.gql.g.dart similarity index 99% rename from lib/graphql/__generated__/duniter-custom-queries.var.gql.g.dart rename to lib/data/models/graphql/__generated__/duniter-queries.var.gql.g.dart index b1f5835fa35ebae02871ca90e95ee1ff41b5564a..73cc21dad53d8382e0b24990ef07016d155e3029 100644 --- a/lib/graphql/__generated__/duniter-custom-queries.var.gql.g.dart +++ b/lib/data/models/graphql/__generated__/duniter-queries.var.gql.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'duniter-custom-queries.var.gql.dart'; +part of 'duniter-queries.var.gql.dart'; // ************************************************************************** // BuiltValueGenerator diff --git a/lib/graphql/__generated__/serializers.gql.dart b/lib/data/models/graphql/__generated__/serializers.gql.dart similarity index 98% rename from lib/graphql/__generated__/serializers.gql.dart rename to lib/data/models/graphql/__generated__/serializers.gql.dart index 8db0aed428da469c9255b000d6e3051b0683faef..63a1437ff3085103b66ba974a282d660216741fb 100644 --- a/lib/graphql/__generated__/serializers.gql.dart +++ b/lib/data/models/graphql/__generated__/serializers.gql.dart @@ -8,20 +8,7 @@ import 'package:built_value/src/json_object_serializer.dart' show JsonObjectSerializer; import 'package:built_value/standard_json_plugin.dart' show StandardJsonPlugin; import 'package:ferry_exec/ferry_exec.dart'; -import 'package:ginkgo/graphql/__generated__/duniter-custom-queries.data.gql.dart' - show - GAccountByPkData, - GAccountByPkData_accountByPk, - GAccountsByNameOrPkData, - GAccountsByNameOrPkData_identity, - GAccountsByNameOrPkData_identity_account, - GLastBlockData, - GLastBlockData_block; -import 'package:ginkgo/graphql/__generated__/duniter-custom-queries.req.gql.dart' - show GAccountByPkReq, GAccountsByNameOrPkReq, GLastBlockReq; -import 'package:ginkgo/graphql/__generated__/duniter-custom-queries.var.gql.dart' - show GAccountByPkVars, GAccountsByNameOrPkVars, GLastBlockVars; -import 'package:ginkgo/graphql/__generated__/duniter-indexer.schema.gql.dart' +import 'package:ginkgo/data/models/graphql/__generated__/duniter-indexer.schema.gql.dart' show GAccountAggregateBoolExp, GAccountAggregateOrderBy, @@ -343,6 +330,19 @@ import 'package:ginkgo/graphql/__generated__/duniter-indexer.schema.gql.dart' Gtimestamptz, GtransferAggregateBoolExpCount, GtxCommentAggregateBoolExpCount; +import 'package:ginkgo/data/models/graphql/__generated__/duniter-queries.data.gql.dart' + show + GAccountByPkData, + GAccountByPkData_accountByPk, + GAccountsByNameOrPkData, + GAccountsByNameOrPkData_identity, + GAccountsByNameOrPkData_identity_account, + GLastBlockData, + GLastBlockData_block; +import 'package:ginkgo/data/models/graphql/__generated__/duniter-queries.req.gql.dart' + show GAccountByPkReq, GAccountsByNameOrPkReq, GLastBlockReq; +import 'package:ginkgo/data/models/graphql/__generated__/duniter-queries.var.gql.dart' + show GAccountByPkVars, GAccountsByNameOrPkVars, GLastBlockVars; import 'package:gql_code_builder_serializers/gql_code_builder_serializers.dart' show OperationSerializer; diff --git a/lib/graphql/__generated__/serializers.gql.g.dart b/lib/data/models/graphql/__generated__/serializers.gql.g.dart similarity index 100% rename from lib/graphql/__generated__/serializers.gql.g.dart rename to lib/data/models/graphql/__generated__/serializers.gql.g.dart diff --git a/lib/graphql/duniter-indexer.graphql b/lib/data/models/graphql/duniter-indexer.graphql similarity index 100% rename from lib/graphql/duniter-indexer.graphql rename to lib/data/models/graphql/duniter-indexer.graphql diff --git a/lib/graphql/duniter-custom-queries.graphql b/lib/data/models/graphql/duniter-queries.graphql similarity index 100% rename from lib/graphql/duniter-custom-queries.graphql rename to lib/data/models/graphql/duniter-queries.graphql diff --git a/lib/graphql/duniter_indexer_client.dart b/lib/data/models/graphql/duniter_indexer_client.dart similarity index 100% rename from lib/graphql/duniter_indexer_client.dart rename to lib/data/models/graphql/duniter_indexer_client.dart diff --git a/lib/graphql/duniter_queries.dart b/lib/data/models/graphql/duniter_queries.dart similarity index 100% rename from lib/graphql/duniter_queries.dart rename to lib/data/models/graphql/duniter_queries.dart diff --git a/lib/env.g.dart b/lib/env.g.dart index b463d3cb1a9a01a05fea2c7551b7c88df6927a1a..f3984565c5e66df129f93eb0cc006c249b6539b9 100644 --- a/lib/env.g.dart +++ b/lib/env.g.dart @@ -12,131 +12,131 @@ final class _Env { static const String currency = 'g1'; static const List<int> _enviedkeysentryDsn = <int>[ - 3789592483, - 519000300, - 3218101299, - 3434160896, - 1809671064, - 1956571216, - 1162757250, - 2973698749, - 4223845016, - 1793412790, - 2941253815, - 119738379, - 167803808, - 3725580121, - 1518210694, - 2750148458, - 2204373064, - 1495727016, - 4036033766, - 2203103119, - 3242361400, - 2538336673, - 3576566784, - 1845956700, - 1977832068, - 2169168825, - 1783072940, - 215164885, - 820146591, - 544702775, - 3993274704, - 73623499, - 661293101, - 2471197079, - 2635575324, - 3226856094, - 1002847391, - 3265656126, - 3088270203, - 3525551956, - 3581957181, - 2622956856, - 1960442000, - 897056174, - 41206717, - 2348149909, - 3924389126, - 466923891, - 3936151037, - 2003837812, - 938426219, - 3803993913, - 4166136805, - 3121125247, - 2961534188, - 4147370248, - 854509010, - 244893929, - 1263933423, - 283040921, - 2704664244, + 519011093, + 3579158528, + 1416708179, + 3167984071, + 934790768, + 1725361064, + 2452853187, + 1277142928, + 652780185, + 1211809916, + 2190818968, + 3322214891, + 1366427186, + 3685522274, + 3270956622, + 3143916545, + 1305902759, + 1556990506, + 1835296383, + 1745510820, + 350103637, + 4211903882, + 3241969987, + 1339525876, + 2238671907, + 2799810159, + 2415096517, + 459523461, + 3755864005, + 1483633187, + 1312934594, + 739865990, + 2824329569, + 2471897625, + 311517253, + 3558201817, + 3427090743, + 2200617233, + 3319493071, + 761178670, + 2509322263, + 3194404893, + 2545191831, + 1175122253, + 2632192189, + 4095785064, + 1675056044, + 3841894623, + 4021024602, + 2288026386, + 215762447, + 958870761, + 1801285065, + 3245787412, + 3500219998, + 3107687843, + 3861280013, + 3175733170, + 3496019226, + 1858386997, + 599537726, ]; static const List<int> _envieddatasentryDsn = <int>[ - 3789592523, - 519000216, - 3218101319, - 3434161008, - 1809671147, - 1956571242, - 1162757293, - 2973698706, - 4223845035, - 1793412742, - 2941253761, - 119738424, - 167803796, - 3725580140, - 1518210789, - 2750148360, - 2204373104, - 1495727007, - 4036033667, - 2203103210, - 3242361356, - 2538336708, - 3576566833, - 1845956671, - 1977832166, - 2169168859, - 1783072969, - 215164908, - 820146607, - 544702725, - 3993274723, - 73623469, - 661293135, - 2471197091, - 2635575421, - 3226856184, - 1002847484, - 3265656075, - 3088270109, - 3525551927, - 3581957245, - 2622956875, - 1960442101, - 897056192, - 41206729, - 2348149991, - 3924389247, - 466923869, - 3936150942, - 2003837723, - 938426118, - 3803993932, - 4166136715, - 3121125146, - 2961534111, - 4147370278, - 854508989, - 244893851, - 1263933320, - 283040950, - 2704664194, + 519011197, + 3579158644, + 1416708135, + 3167984055, + 934790659, + 1725361042, + 2452853228, + 1277142975, + 652780202, + 1211809868, + 2190818990, + 3322214872, + 1366427142, + 3685522263, + 3270956589, + 3143916643, + 1305902751, + 1556990493, + 1835296282, + 1745510849, + 350103649, + 4211903983, + 3241970034, + 1339525783, + 2238671937, + 2799810061, + 2415096480, + 459523516, + 3755864053, + 1483633169, + 1312934641, + 739866080, + 2824329475, + 2471897645, + 311517220, + 3558201791, + 3427090772, + 2200617252, + 3319493033, + 761178701, + 2509322327, + 3194404974, + 2545191922, + 1175122211, + 2632192201, + 4095784986, + 1675056085, + 3841894641, + 4021024569, + 2288026493, + 215762530, + 958870684, + 1801285031, + 3245787505, + 3500219949, + 3107687821, + 3861280098, + 3175733184, + 3496019325, + 1858386970, + 599537672, ]; static final String? sentryDsn = String.fromCharCodes(List<int>.generate( @@ -146,49 +146,49 @@ final class _Env { ).map((int i) => _envieddatasentryDsn[i] ^ _enviedkeysentryDsn[i])); static const List<int> _enviedkeygitLabToken = <int>[ - 4057843052, - 3391421501, - 3128390990, - 723453974, - 2968258736, - 2278483869, - 2876168650, - 1808264212, - 349746951, - 955363182, - 3163240110, - 3916320581, - 1822758357, - 3902061295, - 3622499559, - 4030278900, - 3206792287, - 993052339, - 461741394, - 2345862844, + 100968783, + 3193682320, + 224953774, + 3844581275, + 1961703505, + 3947602899, + 2428342663, + 1413213157, + 4012557773, + 1520751247, + 2024662691, + 2356768175, + 2730077494, + 467498876, + 4207352827, + 1319131689, + 3753141659, + 566734650, + 3699909384, + 1193426725, ]; static const List<int> _envieddatagitLabToken = <int>[ - 4057842964, - 3391421527, - 3128390966, - 723454030, - 2968258788, - 2278483947, - 2876168697, - 1808264270, - 349747029, - 955363092, - 3163240165, - 3916320566, - 1822758326, - 3902061275, - 3622499508, - 4030278820, - 3206792203, - 993052413, - 461741414, - 2345862863, + 100968759, + 3193682426, + 224953814, + 3844581315, + 1961703429, + 3947602853, + 2428342708, + 1413213119, + 4012557727, + 1520751349, + 2024662760, + 2356768220, + 2730077525, + 467498824, + 4207352744, + 1319131769, + 3753141711, + 566734708, + 3699909436, + 1193426774, ]; static final String gitLabToken = String.fromCharCodes(List<int>.generate( @@ -210,5 +210,5 @@ final class _Env { 'wss://gdev.cgeek.fr/ws wss://gdev.trentesaux.fr/ws wss://gdev.gyroi.de/ws wss://gdev-smith.pini.fr/ws wss://gdev.pini.fr/ws wss://gdev.txmn.tk/ws wss://duniter-v2-vjrj-gdev.comunes.net/ws wss://bulmagdev.sleoconnect.fr/ws wss://gdev.cuates.net/ws wss://gdev.matograine.fr/ws wss://gdev.p2p.legal/ws'; static const String duniterIndexerNodes = - 'https://squid.gdev.coinduf.eu/v1/graphql https://squid.gdev.gyroi.de/v1/graphql https://duniter-v2-vjrj-squid.comunes.net/v1/graphql'; + 'https://gdev-indexer.p2p.legal/v1/graphql https://squid.gdev.coinduf.eu/v1/graphql https://squid.gdev.gyroi.de/v1/graphql https://duniter-v2-vjrj-squid.comunes.net/v1/graphql'; } diff --git a/lib/g1/api.dart b/lib/g1/api.dart index 3284a24f9688d24eb039df346724efe9489f8e7d..b1863e9d8a640bb88757cd10dd223ba83a69d2a5 100644 --- a/lib/g1/api.dart +++ b/lib/g1/api.dart @@ -8,7 +8,6 @@ import 'package:ferry/ferry.dart' as ferry; import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; import 'package:http/http.dart'; - /*import 'package:polkadart/polkadart.dart' show SystemApi, Health; */ /* import 'package:polkadart/polkadart.dart' show SystemApi, ChainType, Health, PeerInfo, SyncState; */ @@ -19,16 +18,16 @@ import 'package:tuple/tuple.dart'; import 'package:universal_html/html.dart' show window; import '../data/models/contact.dart'; +import '../data/models/graphql/__generated__/duniter-queries.data.gql.dart'; +import '../data/models/graphql/__generated__/duniter-queries.req.gql.dart'; +import '../data/models/graphql/__generated__/duniter-queries.var.gql.dart'; +import '../data/models/graphql/duniter_indexer_client.dart'; import '../data/models/node.dart'; import '../data/models/node_lists_default.dart'; import '../data/models/node_manager.dart'; import '../data/models/node_type.dart'; import '../data/models/utxo.dart'; import '../env.dart'; -import '../graphql/__generated__/duniter-custom-queries.data.gql.dart'; -import '../graphql/__generated__/duniter-custom-queries.req.gql.dart'; -import '../graphql/__generated__/duniter-custom-queries.var.gql.dart'; -import '../graphql/duniter_indexer_client.dart'; import '../shared_prefs_helper.dart'; import '../ui/logger.dart'; import '../ui/ui_helpers.dart'; diff --git a/lib/ui/ui_helpers.dart b/lib/ui/ui_helpers.dart index 1512db457777f7d7c5f504073fab9ce8aa14a9ab..5a12c11e7b3b2130e942c2c7fbe7e0d9513008db 100644 --- a/lib/ui/ui_helpers.dart +++ b/lib/ui/ui_helpers.dart @@ -616,10 +616,12 @@ Future<bool> openUrl(String url) async { void showQrDialog({ required BuildContext context, - required String publicKey, + required String pubKeyOrAddress, + required bool isV2, bool noTitle = false, String? feedbackText, }) { + final String key = isV2 ? pubKeyOrAddress : getFullPubKey(pubKeyOrAddress); showDialog( context: context, builder: (BuildContext context) { @@ -633,8 +635,8 @@ void showQrDialog({ child: Padding( padding: const EdgeInsets.all(16.0), child: GestureDetector( - onTap: () => copyPublicKeyToClipboard( - context, publicKey, feedbackText), + onTap: () => + copyPublicKeyToClipboard(context, key, feedbackText), child: Container( color: isDark(context) ? Colors.grey[900] : Colors.grey[100], @@ -649,7 +651,7 @@ void showQrDialog({ children: <Widget>[ QrImageView( // version: QrVersions.auto, - data: publicKey, + data: key, size: MediaQuery.of(context).size.width * 0.5, // gapless: false, /* embeddedImage: const AssetImage( @@ -681,14 +683,13 @@ void showQrDialog({ padding: const EdgeInsets.all(12.0), child: TextFormField( maxLines: 2, - initialValue: publicKey, + initialValue: key, readOnly: true, decoration: InputDecoration( suffixIcon: IconButton( icon: const Icon(Icons.content_copy), onPressed: () { - copyPublicKeyToClipboard( - context, publicKey, feedbackText); + copyPublicKeyToClipboard(context, key, feedbackText); }, ), ), diff --git a/lib/ui/widgets/contact_page.dart b/lib/ui/widgets/contact_page.dart index 3524b283aafb8c3d4aacb36e0e912cf782dcde63..04b64599ce532eb51342a725990a0d78a9589471 100644 --- a/lib/ui/widgets/contact_page.dart +++ b/lib/ui/widgets/contact_page.dart @@ -8,7 +8,6 @@ import '../../data/models/app_cubit.dart'; import '../../data/models/contact.dart'; import '../../data/models/multi_wallet_transaction_cubit.dart'; import '../../g1/api.dart'; -import '../../g1/g1_helper.dart'; import '../ui_helpers.dart'; import 'fourth_screen/transactions_and_balance_widget.dart'; @@ -180,8 +179,8 @@ class QrListTile extends StatelessWidget { onTap: () { showQrDialog( context: context, - publicKey: - isV2 ? pubKeyOrAddress : getFullPubKey(pubKeyOrAddress), + pubKeyOrAddress: pubKeyOrAddress, + isV2: isV2, noTitle: true, feedbackText: 'some_key_copied_to_clipboard'); }, diff --git a/lib/ui/widgets/contacts_actions.dart b/lib/ui/widgets/contacts_actions.dart index 3e49e9c3c27c7334ffb2bfae0092f40c6472739c..992f1c5a0ac8713889dbe64546e2a0df18d7a099 100644 --- a/lib/ui/widgets/contacts_actions.dart +++ b/lib/ui/widgets/contacts_actions.dart @@ -6,7 +6,6 @@ import '../../data/models/bottom_nav_cubit.dart'; import '../../data/models/contact.dart'; import '../../data/models/contact_cubit.dart'; import '../../data/models/payment_cubit.dart'; -import '../../g1/g1_helper.dart'; import '../contacts_cache.dart'; import '../ui_helpers.dart'; import 'third_screen/contact_form_dialog.dart'; @@ -32,7 +31,8 @@ void onDeleteContact(BuildContext context, Contact contact) { void onShowContactQr(BuildContext context, Contact contact) { showQrDialog( context: context, - publicKey: getFullPubKey(contact.pubKey), + isV2: false, + pubKeyOrAddress: contact.pubKey, noTitle: true, feedbackText: 'some_key_copied_to_clipboard'); } diff --git a/lib/ui/widgets/first_screen/credit_card.dart b/lib/ui/widgets/first_screen/credit_card.dart index 60cd71e24144f6241c3f67834f6a64618f1fb6c9..0afc731c7cea26f802f5be7773e5f7490d2fca81 100644 --- a/lib/ui/widgets/first_screen/credit_card.dart +++ b/lib/ui/widgets/first_screen/credit_card.dart @@ -10,10 +10,11 @@ import 'card_name_editable.dart'; import 'card_text_style.dart'; class CreditCard extends StatelessWidget { - const CreditCard({super.key, - required this.publicKey, - required this.cardName, - required this.isG1nkgoCard}); + const CreditCard( + {super.key, + required this.publicKey, + required this.cardName, + required this.isG1nkgoCard}); final String publicKey; final String cardName; @@ -46,12 +47,8 @@ class CreditCard extends StatelessWidget { begin: Alignment.bottomLeft, end: Alignment.topRight, colors: <Color>[ - SharedPreferencesHelper() - .getTheme() - .primaryColor, - SharedPreferencesHelper() - .getTheme() - .secondaryColor + SharedPreferencesHelper().getTheme().primaryColor, + SharedPreferencesHelper().getTheme().secondaryColor ], ), ), @@ -74,29 +71,25 @@ class CreditCard extends StatelessWidget { style: TextStyle( color: Colors.white, fontSize: - MediaQuery - .of(context) - .size - .width * 0.07, + MediaQuery.of(context).size.width * 0.07, fontWeight: FontWeight.bold, ), )), ), Padding( padding: - EdgeInsets.symmetric(horizontal: cardPadding), + EdgeInsets.symmetric(horizontal: cardPadding), child: Row(children: <Widget>[ GestureDetector( onTap: () { showQrDialog( - context: context, publicKey: publicKey); + context: context, + isV2: false, + pubKeyOrAddress: publicKey); }, child: SvgPicture.asset( - width: MediaQuery - .of(context) - .size - .width < - smallScreenWidth + width: MediaQuery.of(context).size.width < + smallScreenWidth ? 25 : 40, 'assets/img/chip.svg', @@ -104,23 +97,24 @@ class CreditCard extends StatelessWidget { const SizedBox(width: 10.0), Expanded( child: CardNameEditable( - key: Key(publicKey), - publicKey: publicKey, - cardName: cardName, - isG1nkgoCard: isG1nkgoCard, - defValue: + key: Key(publicKey), + publicKey: publicKey, + cardName: cardName, + isG1nkgoCard: isG1nkgoCard, + defValue: isG1nkgoCard ? tr('your_name_here') : '', - )), + )), ])), const SizedBox(height: 6.0), Padding( padding: - EdgeInsets.symmetric(horizontal: cardPadding), + EdgeInsets.symmetric(horizontal: cardPadding), child: Row(children: <Widget>[ GestureDetector( - onTap: () => - showQrDialog( - context: context, publicKey: publicKey), + onTap: () => showQrDialog( + context: context, + isV2: false, + pubKeyOrAddress: publicKey), child: FittedBox( key: creditCardPubKey, fit: BoxFit.scaleDown, @@ -130,9 +124,8 @@ class CreditCard extends StatelessWidget { style: cardTextStyle(context), ))), GestureDetector( - onTap: () => - showAlertDialog( - context, '', tr('keys_tooltip')), + onTap: () => showAlertDialog( + context, '', tr('keys_tooltip')), child: FittedBox( fit: BoxFit.scaleDown, child: Text(' **** ****', @@ -142,11 +135,10 @@ class CreditCard extends StatelessWidget { if (bigDevice) Padding( padding: - EdgeInsets.symmetric(horizontal: cardPadding), + EdgeInsets.symmetric(horizontal: cardPadding), child: GestureDetector( - onTap: () => - showAlertDialog( - context, '', tr('card_validity_tooltip')), + onTap: () => showAlertDialog( + context, '', tr('card_validity_tooltip')), child: Text( tr('card_validity'), style: TextStyle( diff --git a/lib/ui/widgets/third_screen/contact_form_dialog.dart b/lib/ui/widgets/third_screen/contact_form_dialog.dart index e86421fea20f46a37c4cbd04af85c19fe72e9ab2..a90a4087dfeb03c90273a681c300a398b2d9cc8c 100644 --- a/lib/ui/widgets/third_screen/contact_form_dialog.dart +++ b/lib/ui/widgets/third_screen/contact_form_dialog.dart @@ -58,7 +58,8 @@ class _ContactFormDialogState extends State<ContactFormDialog> { onTap: () { showQrDialog( context: context, - publicKey: getFullPubKey(_updatedContact.pubKey), + pubKeyOrAddress: _updatedContact.pubKey, + isV2: false, noTitle: true, feedbackText: 'some_key_copied_to_clipboard'); }, @@ -81,7 +82,8 @@ class _ContactFormDialogState extends State<ContactFormDialog> { onTap: () { showQrDialog( context: context, - publicKey: getFullPubKey(_updatedContact.address), + isV2: true, + pubKeyOrAddress: _updatedContact.address, noTitle: true, feedbackText: 'some_key_copied_to_clipboard'); }, diff --git a/pubspec.yaml b/pubspec.yaml index d652571bc297355292aa83396fe06c0969eb395c..6e4ee87f0925fd96953f2bc1059ad2964eddeb09 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.2.3-1 +version: 1.2.3-2 environment: sdk: ^3.5.2