Skip to content

Commit

Permalink
October (#2825)
Browse files Browse the repository at this point in the history
* fix: Update account name instantly #2667

* linter update

* feat: Add green color for card valid status #2764

* color adjustment

* fix: Avoid double scan to get and present #2668

* fix: Fetch uri for image but not working and indication of deleted message #2771

* feat: Add all type of VCs #2779

* feat: Support all types presentaton wth VCFormat auto #2779

* feat: Update credential request for draft 13 - jwt_vc_json and ldp_vc #2796

* version update: 2.9.8+477

* Revert "version update: 2.9.8+477"

This reverts commit 6e8265c.

* refactor: Update oidc4vc test

* refactor: Try to display image #2771

* fix: Fix image and add photo viewer #2771

* refactor: Optimise code to load image smoothly side by side #2771

* feat: Display advanced security option in enterprise #2584

* feat: Update error responses #2573

* refactor: Remove long error message for now #2573

* refactor: Display advanced security options #2584

* refactor: Bug fix and optimise code

* some update and package update

* refactor: Bug fix - show dialog

* feat: Update PIN Code input placement #2822

* feat: Disble software license page #2822

* fix: Solve margin issue #2822

* feat: Add message in the developer info dialog #2822

* feat: Add message in the developer info dialog #2822

* feat: Make credential overly content color to white #2822

* feat: Make network title bold #2822

* feat: Update warning text #2822

* feat: Improve redability by moving default part to the end of sentence #2822

* feat: Change color of copy and share icons #2822

* feat: Simplify recovery info safety dialog #2822

* feat: Update enterprise display data in about section #2822

* feat: Remove extra padding in blockchain accounts #2822

* feat: Only wallet ready string is shown #2822

* feat: Dosplay more text in terms #2822

* feat: Change background text field #2822

* feat: Some bug fix

* feat: Support base64 with extra prefix in string #2819

* feat: Support base64 with extra prefix in string #2819

* feat: Remove black opacity from the credential image

* feat: Make description title bold #2822

* version update:  2.10.3+485

* feat: Add network Etherlink basics #2820

---------

Co-authored-by: hawkbee1 <[email protected]>
  • Loading branch information
bibash28 and hawkbee1 authored Aug 6, 2024
1 parent 04c449a commit a79e13a
Show file tree
Hide file tree
Showing 73 changed files with 836 additions and 441 deletions.
Binary file added assets/icon/blockchain-etherlink.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/image/etherlink-ownership-card.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 6 additions & 1 deletion assets/privacy/privacy_en_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ Privacy Policy**

Effective Date: November 23, 2023


## Preamble

At Web3 Digital Wallet, we are unwavering in our commitment to safeguarding personal data, and we operate in strict compliance with the General Data Protection Regulation (GDPR) to protect the privacy of our users. This Privacy Policy serves as a testament to our dedication to secure the Personal Data of users of the altme.io website and the ALTME mobile application. It provides a comprehensive understanding of how data is collected, processed, and protected.

## Definitions

To ensure clarity, here are some definitions of key terms used throughout this Privacy Policy:

- **Service/s**: Refers to the website altme.io (the “Website”), a backend platform and client applications (collectively, “Altme Platform”), a mobile application called ALTME Wallet (the “Wallet”), and any other online products and services provided by ALTME.
130 changes: 45 additions & 85 deletions assets/privacy/privacy_en_2.md

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions lib/app/shared/constants/constants_json.dart
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,56 @@ abstract class ConstantsJson {
'presentation_definition': <String, dynamic>{},
};

static const etherlinkAssociatedAddressCredentialManifestJson =
<String, dynamic>{
'id': 'EtherlinkAssociatedAddress',
'issuer': {'id': '', 'name': 'Wallet issuer'},
'output_descriptors': [
{
'id': '',
'schema': 'EtherlinkAssociatedAddress',
'display': {
'title': {
'path': <dynamic>[],
'schema': {'type': 'string'},
'fallback': 'Etherlink address',
},
'subtitle': {
'path': <dynamic>[],
'schema': {'type': 'string'},
'fallback': '',
},
'description': {
'path': <dynamic>[],
'schema': {'type': 'string'},
'fallback': 'This is the proof that you own this crypto address',
},
'properties': [
{
'path': [r'$.expirationDate'],
'schema': {'type': 'string', 'format': 'date'},
'fallback': 'None',
'label': 'Expires',
},
{
'path': [r'$.credentialSubject.associatedAddress'],
'schema': {'type': 'string'},
'fallback': 'Unknown',
'label': 'Address',
},
{
'path': [r'$.credentialSubject.issuedBy.name'],
'schema': {'type': 'string'},
'fallback': 'My Wallet',
'label': 'Verified by',
}
],
},
}
],
'presentation_definition': <String, dynamic>{},
};

static const fantomAssociatedAddressCredentialManifestJson =
<String, dynamic>{
'id': 'FantomAssociatedAddress',
Expand Down
1 change: 1 addition & 0 deletions lib/app/shared/constants/icon_strings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ class IconStrings {
static const String send = '$base/send.png';
static const String receive = '$base/receive.png';
static const String ethereum = '$base/blockchain-ethereum.png';
static const String etherlink = '$base/blockchain-etherlink.png';
static const String fantom = '$base/blockchain-fantom.png';
static const String polygon = '$base/blockchain-polygon.png';
static const String binance = '$base/blockchain-binance.png';
Expand Down
2 changes: 2 additions & 0 deletions lib/app/shared/constants/image_strings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ class ImageStrings {
'$imagePath/binance-ownership-card.png';
static const String ethereumOwnershipCard =
'$imagePath/ethereum-ownership-card.png';
static const String etherlinkOwnershipCard =
'$imagePath/etherlink-ownership-card.png';
static const String fantomOwnershipCard =
'$imagePath/fantom-ownership-card.png';
static const String polygonOwnershipCard =
Expand Down
1 change: 1 addition & 0 deletions lib/app/shared/constants/secure_storage_keys.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class SecureStorageKeys {

static const String tezosDerivePathIndex = 'tezosDerivePathIndex';
static const String ethereumDerivePathIndex = 'ethereumDerivePathIndex';
static const String etherlinkDerivePathIndex = ' etherlinkDerivePathIndex';
static const String fantomDerivePathIndex = 'fantomDerivePathIndex';
static const String polygonDerivePathIndex = 'polygonDerivePathIndex';
static const String binanceDerivePathIndex = 'binanceDerivePathIndex';
Expand Down
1 change: 1 addition & 0 deletions lib/app/shared/constants/sizes.dart
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ abstract class Sizes {

//TextField height
static const double appBarHeight = 89;
static const double defaltAppBarHeight = 56;

//Button height
static const double normalButton = 38;
Expand Down
47 changes: 42 additions & 5 deletions lib/app/shared/enum/type/blockchain_type.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,14 @@ import 'package:altme/dashboard/dashboard.dart';
import 'package:credential_manifest/credential_manifest.dart';
import 'package:key_generator/key_generator.dart';

enum BlockchainType { tezos, ethereum, fantom, polygon, binance }
enum BlockchainType {
tezos,
ethereum,
fantom,
polygon,
binance,
etherlink,
}

extension BlockchainTypeX on BlockchainType {
String get icon {
Expand All @@ -22,6 +29,9 @@ extension BlockchainTypeX on BlockchainType {

case BlockchainType.binance:
return IconStrings.binance;

case BlockchainType.etherlink:
return IconStrings.etherlink;
}
}

Expand All @@ -41,6 +51,9 @@ extension BlockchainTypeX on BlockchainType {

case BlockchainType.binance:
return AccountType.binance;

case BlockchainType.etherlink:
return AccountType.etherlink;
}
}

Expand All @@ -60,6 +73,9 @@ extension BlockchainTypeX on BlockchainType {

case BlockchainType.binance:
return 'BNB';

case BlockchainType.etherlink:
return 'XTZ';
}
}

Expand All @@ -85,6 +101,9 @@ extension BlockchainTypeX on BlockchainType {

case BlockchainType.binance:
name = '56';

case BlockchainType.etherlink:
name = '42793';
}

return '${Parameters.NAMESPACE}:$name';
Expand All @@ -111,6 +130,9 @@ extension BlockchainTypeX on BlockchainType {

case BlockchainType.binance:
return 56;

case BlockchainType.etherlink:
return 42793;
}
}

Expand All @@ -130,6 +152,9 @@ extension BlockchainTypeX on BlockchainType {

case BlockchainType.binance:
return SecureStorageKeys.binanceDerivePathIndex;

case BlockchainType.etherlink:
return SecureStorageKeys.etherlinkDerivePathIndex;
}
}

Expand All @@ -155,6 +180,10 @@ extension BlockchainTypeX on BlockchainType {
return CredentialManifest.fromJson(
ConstantsJson.binanceAssociatedAddressCredentialManifestJson,
);
case BlockchainType.etherlink:
return CredentialManifest.fromJson(
ConstantsJson.etherlinkAssociatedAddressCredentialManifestJson,
);
}
}

Expand All @@ -174,6 +203,9 @@ extension BlockchainTypeX on BlockchainType {

case BlockchainType.binance:
return Filter(type: 'String', pattern: 'BinanceAssociatedAddress');

case BlockchainType.etherlink:
return Filter(type: 'String', pattern: 'EtherlinkAssociatedAddress');
}
}

Expand All @@ -186,6 +218,7 @@ extension BlockchainTypeX on BlockchainType {
case BlockchainType.fantom:
case BlockchainType.polygon:
case BlockchainType.binance:
case BlockchainType.etherlink:
return ConnectionBridgeType.walletconnect;
}
}
Expand Down Expand Up @@ -218,20 +251,22 @@ extension BlockchainTypeX on BlockchainType {
BinanceNetwork.mainNet(),
BinanceNetwork.testNet(),
];
case BlockchainType.etherlink:
return [
EtherlinkNetwork.mainNet(),
EtherlinkNetwork.testNet(),
];
}
}

bool get isDisabled {
switch (this) {
case BlockchainType.tezos:
return false;
case BlockchainType.ethereum:
return false;
case BlockchainType.fantom:
return false;
case BlockchainType.polygon:
return false;
case BlockchainType.binance:
case BlockchainType.etherlink:
return false;
}
}
Expand All @@ -255,6 +290,8 @@ extension BlockchainTypeX on BlockchainType {
if (blockchainOptions?.polygonSupport ?? false) return true;
case BlockchainType.binance:
if (blockchainOptions?.bnbSupport ?? false) return true;
case BlockchainType.etherlink:
if (blockchainOptions?.etherlinkSupport ?? false) return true;
}

return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ enum CredentialSubjectType {
diplomaCard,
emailPass,
ethereumAssociatedWallet,
etherlinkAssociatedWallet,
ethereumPooAddress,
euDiplomaCard,
euVerifiableId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
case CredentialSubjectType.fantomAssociatedWallet:
case CredentialSubjectType.polygonAssociatedWallet:
case CredentialSubjectType.binanceAssociatedWallet:
case CredentialSubjectType.etherlinkAssociatedWallet:
case CredentialSubjectType.ethereumPooAddress:
case CredentialSubjectType.fantomPooAddress:
case CredentialSubjectType.polygonPooAddress:
Expand Down Expand Up @@ -121,6 +122,8 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
return 'PolygonAssociatedAddress';
case CredentialSubjectType.binanceAssociatedWallet:
return 'BinanceAssociatedAddress';
case CredentialSubjectType.etherlinkAssociatedWallet:
return 'EtherlinkAssociatedAddress';
case CredentialSubjectType.ethereumPooAddress:
return 'EthereumPooAddress';
case CredentialSubjectType.fantomPooAddress:
Expand Down Expand Up @@ -244,6 +247,8 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
return PolygonAssociatedAddressModel.fromJson(json);
case CredentialSubjectType.binanceAssociatedWallet:
return BinanceAssociatedAddressModel.fromJson(json);
case CredentialSubjectType.etherlinkAssociatedWallet:
return EtherlinkAssociatedAddressModel.fromJson(json);
case CredentialSubjectType.certificateOfEmployment:
return CertificateOfEmploymentModel.fromJson(json);
case CredentialSubjectType.emailPass:
Expand Down Expand Up @@ -432,7 +437,8 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
this == CredentialSubjectType.ethereumAssociatedWallet ||
this == CredentialSubjectType.binanceAssociatedWallet ||
this == CredentialSubjectType.fantomAssociatedWallet ||
this == CredentialSubjectType.polygonAssociatedWallet) {
this == CredentialSubjectType.polygonAssociatedWallet ||
this == CredentialSubjectType.etherlinkAssociatedWallet) {
return true;
}
return false;
Expand All @@ -449,6 +455,8 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
return const BinanceAssociatedAddressWidget();
} else if (this == CredentialSubjectType.fantomAssociatedWallet) {
return const FantomAssociatedAddressWidget();
} else if (this == CredentialSubjectType.etherlinkAssociatedWallet) {
return const EtherlinkAssociatedAddressWidget();
}
return null;
}
Expand Down Expand Up @@ -483,6 +491,8 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
return 'Polygon Associated Address';
case CredentialSubjectType.binanceAssociatedWallet:
return 'BNB Chain Associated Address';
case CredentialSubjectType.etherlinkAssociatedWallet:
return 'Etherlink Associated Address';
case CredentialSubjectType.ethereumPooAddress:
return 'Ethereum Poo Address';
case CredentialSubjectType.fantomPooAddress:
Expand Down Expand Up @@ -604,6 +614,7 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
case CredentialSubjectType.fantomAssociatedWallet:
case CredentialSubjectType.polygonAssociatedWallet:
case CredentialSubjectType.binanceAssociatedWallet:
case CredentialSubjectType.etherlinkAssociatedWallet:
return true;
case CredentialSubjectType.walletCredential:
case CredentialSubjectType.tezosPooAddress:
Expand Down Expand Up @@ -649,6 +660,7 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
case CredentialSubjectType.polygonAssociatedWallet:
case CredentialSubjectType.binanceAssociatedWallet:
case CredentialSubjectType.tezosAssociatedWallet:
case CredentialSubjectType.etherlinkAssociatedWallet:
return VCFormatType.values;

case CredentialSubjectType.over13:
Expand Down Expand Up @@ -979,6 +991,8 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
image = ImageStrings.binanceOwnershipCard;
case CredentialSubjectType.tezosAssociatedWallet:
image = ImageStrings.tezosOwnershipCard;
case CredentialSubjectType.etherlinkAssociatedWallet:
image = ImageStrings.etherlinkOwnershipCard;

case CredentialSubjectType.employeeCredential:
image = ImageStrings.dummyEmployeeCard;
Expand Down Expand Up @@ -1068,6 +1082,8 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType {
return 71;
case CredentialSubjectType.binanceAssociatedWallet:
return 70;
case CredentialSubjectType.etherlinkAssociatedWallet:
return 72;
case CredentialSubjectType.tezosPooAddress:
return 0;
case CredentialSubjectType.ethereumPooAddress:
Expand Down
2 changes: 2 additions & 0 deletions lib/app/shared/helper_functions/helper_functions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ BlockchainType getBlockchainType(AccountType accountType) {
return BlockchainType.polygon;
case AccountType.binance:
return BlockchainType.binance;
case AccountType.etherlink:
return BlockchainType.etherlink;
}
}

Expand Down
49 changes: 49 additions & 0 deletions lib/app/shared/models/blockchain_network/etherlink_network.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import 'package:altme/app/app.dart';
import 'package:json_annotation/json_annotation.dart';

part 'etherlink_network.g.dart';

@JsonSerializable()
class EtherlinkNetwork extends EthereumNetwork {
const EtherlinkNetwork({
required super.networkname,
required super.apiUrl,
required super.rpcNodeUrl,
required super.title,
required super.subTitle,
required super.chainId,
required super.chain,
required super.type,
super.apiKey,
}) : super(
mainTokenName: 'Etherlink',
mainTokenDecimal: '18',
mainTokenIcon: IconStrings.etherlink,
mainTokenSymbol: 'XTZ',
);

factory EtherlinkNetwork.mainNet() => const EtherlinkNetwork(
type: BlockchainType.etherlink,
networkname: 'Mainnet',
apiUrl: Urls.moralisBaseUrl,
chainId: 42793,
chain: 'etherlink',
rpcNodeUrl: 'https://explorer.etherlink.com',
title: 'Etherlink Mainnet',
subTitle:
'This network is the official Etherlink blockchain running Network.'
' You should use this network by default.',
);

factory EtherlinkNetwork.testNet() => const EtherlinkNetwork(
type: BlockchainType.etherlink,
networkname: 'Ghostnet',
apiUrl: Urls.moralisBaseUrl,
chain: 'etherlink-testnet',
chainId: 128123,
rpcNodeUrl: 'https://testnet.explorer.etherlink.com/',
title: 'Etherlink Testnet (Ghostnet)',
subTitle: 'This network is used to test protocol upgrades'
' (do not use it unless you are a developer).',
);
}
Loading

0 comments on commit a79e13a

Please sign in to comment.