Skip to content

Commit

Permalink
V5.2.0
Browse files Browse the repository at this point in the history
  - Facilitates minting and transfer of assets.
  - Integration for stake certificates.
  - Allows for multiple account transactions.
  • Loading branch information
mrtnetwork committed Apr 29, 2024
1 parent 9a0afb4 commit f1bc181
Show file tree
Hide file tree
Showing 148 changed files with 4,112 additions and 4,592 deletions.
Binary file modified .DS_Store
Binary file not shown.
44 changes: 0 additions & 44 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,45 +1 @@
# MRT Wallet Changelog

## Version 4.0.0

### Bitcoin (mainnet, testnet):
- **Features:** Comprehensive support for Bitcoin transactions.
- **Highlights:**
- Robust support for P2TR, P2WPKH, P2WSH, P2SH, P2PKH, and multisignature functionalities.
- Enhanced control over transactions, allowing you to effortlessly create, sign, and send transactions from multiple UTXOs and addresses.

### Bitcoin Cash (mainnet, testnet):
- **Features:** Comprehensive support for Bitcoin Cash transactions.
- **Highlights:**
- P2SH, P2SH32, P2PKH and token-aware addresses.
- Enhanced control over transactions, supporting the creation, signing, minting and sending of Cash tokens.

### Dogecoin:
- **Features:** Seamless transaction creation and management on the Dogecoin network.
- **Highlights:** Extends capabilities to the playful realm of Dogecoin, ensuring a smooth and secure user experience.

### Dash:
- **Features:** Exploration of the fast and efficient world of Dash.
- **Highlights:** Easy creation, signing, and sending of transactions with support for various Dash network functionalities.

### Bitcoin SV:
- **Features:** Effortless navigation of Bitcoin SV transactions.
- **Highlights:**
- User-friendly interface for smooth and secure transaction creation and management.
- Support for handling P2PKH addresses, simplifying the Bitcoin SV experience.

### Litecoin:
- **Features:** Support for Litecoin transactions.
- **Highlights:** Dive into the silver to Bitcoin's gold with MRT Wallet, managing Litecoin transactions effortlessly with confidence.

### Ripple:
- **Features:** Unlocking the potential of the Ripple network.
- **Highlights:** Comprehensive support for advanced cryptographic algorithms, NFTs, tokens, multisignature transactions, account settings, trust settings, escrow transactions, regular key settings, and more.

### Ethereum:
- **Features:** Support for Ethereum transactions.
- **Highlights:** Compatibility with both legacy and EIP-1559 transactions. Import and manage ERC-20 assets effortlessly, and execute ERC-20 token transfers with ease.

### Tron:
- **Features:** Seamless interaction with the Tron blockchain.
- **Highlights:** Confidence in sending TRX, TRC-20, and TRC-10 tokens. Support for native contracts, including multi-signature transactions. Control over updating account permissions, managing accounts, unstaking (v2), delegating resources, and creating/updating witnesses.
107 changes: 78 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,100 @@
# About MRT Wallet

Welcome to MRT Wallet, the open-source wallet designed for the decentralized future of finance. Our mission is to empower users with a secure and versatile solution that supports both Bitcoin mainnet and testnet, as well as networks such as
Ethereum, Tron, Ripple, Dogecoin, Litecoin, and Dash, with a roadmap set to embrace a broad spectrum of cryptocurrencies.
Welcome to MRT Wallet, the open-source wallet designed for the decentralized future of finance. Our mission is to empower users with a secure and versatile solution that supports both Bitcoin mainnet and testnet, as well as networks such as
Ethereum, Tron, Ripple, Dogecoin, Litecoin, Solana, Cardano, Cosmos and Dash, with a roadmap set to embrace a broad spectrum of cryptocurrencies.

## Networks

### Bitcoin (mainnet, testnet):
### Bitcoin (mainnet, testnet)

- **Features:** Comprehensive support for Bitcoin transactions.
- **Highlights:**
- Robust support for P2TR, P2WPKH, P2WSH, P2SH, P2PKH, and multisignature functionalities.
- Enhanced control over transactions, allowing you to effortlessly create, sign, and send transactions from multiple UTXOs and addresses.
- Allows for multiple account transactions.

### Bitcoin Cash (mainnet, testnet)

### Bitcoin Cash (mainnet, testnet):
- **Features:** Comprehensive support for Bitcoin Cash transactions.
- **Highlights:**
- P2SH, P2SH32, P2PKH and token-aware addresses.
- Enhanced control over transactions, supporting the creation, signing, minting and sending of Cash tokens.
- Allows for multiple account transactions.

### Dogecoin

### Dogecoin:
- **Features:** Seamless transaction creation and management on the Dogecoin network.
- **Highlights:** Extends capabilities to the playful realm of Dogecoin, ensuring a smooth and secure user experience.
- Allows for multiple account transactions.

### Dash

### Dash:
- **Features:** Exploration of the fast and efficient world of Dash.
- **Highlights:** Easy creation, signing, and sending of transactions with support for various Dash network functionalities.
- Allows for multiple account transactions.

### Bitcoin SV

### Bitcoin SV:
- **Features:** Effortless navigation of Bitcoin SV transactions.
- **Highlights:**
- User-friendly interface for smooth and secure transaction creation and management.
- Support for handling P2PKH addresses, simplifying the Bitcoin SV experience.
- Allows for multiple account transactions.

### Litecoin

### Litecoin:
- **Features:** Support for Litecoin transactions.
- **Highlights:** Dive into the silver to Bitcoin's gold with MRT Wallet, managing Litecoin transactions effortlessly with confidence.
- Allows for multiple account transactions.

### Ripple

### Ripple:
- **Features:** Unlocking the potential of the Ripple network.
- **Highlights:** Comprehensive support for advanced cryptographic algorithms, NFTs, tokens, multisignature transactions, account settings, trust settings, escrow transactions, regular key settings, and more.

### Ethereum:
### Solana (Mainnet, Testnet)

- **Features:** Seamless support for Solana transactions.
- **Highlights:**
- SPLToken transfer, account creation and token minting.

### Cardano (Mainnet, Preproad)

- **Features:** Streamlined support for Cardano transactions.
- **Highlights:**
- Full compatibility with Shelley and Byron addresses and transactions.
- Facilitates minting and transfer of assets.
- Integration for stake certificates.
- Allows for multiple account transactions.

### Ethereum

- **Features:** Support for Ethereum transactions.
- **Highlights:** Compatibility with both legacy and EIP-1559 transactions. Import and manage ERC-20 assets effortlessly, and execute ERC-20 token transfers with ease.

### Tron:
### Tron

- **Features:** Seamless interaction with the Tron blockchain.
- **Highlights:** Confidence in sending TRX, TRC-20, and TRC-10 tokens. Support for native contracts, including multi-signature transactions. Control over updating account permissions, managing accounts, unstaking (v2), delegating resources, and creating/updating witnesses.

### Cosmos (Mainnet)

- **Features:** Seamless support for Cosmos transactions.

### Thor (Mainnet)

- **Features:** Seamless support for Thor transactions.

### Maya (Mainnet)

- **Features:** Seamless support for Maya transactions.

## Decentralized, Secure, and Open Source

At MRT Wallet, we believe in the power of decentralization. Our commitment to decentralization is at the core of our design philosophy, providing you with full control over your assets. Your private keys remain in your hands, ensuring the highest level of security.

We take pride in being fully open source. You can explore and audit our code on [GitHub](https://github.com/mrtnetwork/mrtwallet) under the Apache License 2.0. This commitment to transparency means that every line of code is accessible, empowering the community to verify the security and integrity of our wallet.


## Platform Support

MRT Wallet is available on multiple platforms to provide a seamless experience:
Expand All @@ -63,6 +103,8 @@ MRT Wallet is available on multiple platforms to provide a seamless experience:

- **Windows:** Enjoy the convenience of MRT Wallet on your desktop. Our Windows version brings the power of decentralized finance to your fingertips.

- **Macos:** Enjoy the convenience of MRT Wallet on your desktop. Our Mac version brings the power of decentralized finance to your fingertips.

- **Web:** Access your wallet from any web browser with our web platform. Manage your assets with ease, all while enjoying the security and privacy MRT Wallet provides.

## Roadmap: Embracing a Diverse Crypto Landscape
Expand All @@ -75,59 +117,66 @@ MRT Wallet is not just a wallet; it's a community-driven project. We welcome col

## Build Instructions


Clone the repository and build using Flutter:

**WEB**
- **WEB**

you can view the web version of MRT Wallet at https://mrtnetwork.github.io/mrtwallet/.
you can view the web version of MRT Wallet at <https://mrtnetwork.github.io/mrtwallet/>.

```
```shell
gh repo clone mrtnetwork/mrtwallet
cd mrt_wallet
flutter pub get
flutter build web --release
```

**Android**
```
- **Android**

```shell
gh repo clone mrtnetwork/mrtwallet
cd mrt_wallet
flutter pub get
flutter build apk
flutter build apk
```

**Windows**
```
- **Windows**

```shell
gh repo clone mrtnetwork/mrtwallet
cd mrt_wallet
flutter pub get
flutter build windows
flutter build windows --release
```

- **Macos**

## Contributing
```shell
gh repo clone mrtnetwork/mrtwallet
cd mrt_wallet
flutter pub get
flutter build macos --release
```

## Contributing

Contributions are welcome! Please follow these guidelines:
- Fork the repository and create a new branch.
- Make your changes and ensure tests pass.
- Submit a pull request with a detailed description of your changes.

## Feature requests and bugs
- Fork the repository and create a new branch.
- Make your changes and ensure tests pass.
- Submit a pull request with a detailed description of your changes.

## Feature requests and bugs

Please file feature requests and bugs in the issue tracker.

## Get Involved


Join us on our mission to redefine the landscape of decentralized finance. Contribute to our open-source project on [GitHub](https://github.com/mrtnetwork/mrtwallet) or connect with our community on [Telegram](https://t.me/blockchain_web3_solidity).

Thank you for choosing MRT Wallet as your trusted partner in the world of decentralized finance.


## Support

1KMRGUzRFCuR9y73gUnjxfC1Dte8Ua3vcp

bc1q92fvc5jm4k8e5wegzmhzdv72gwe43sgfnuspgzfmj7llkd8xhmusgd44qf
14 changes: 3 additions & 11 deletions mrt_wallet/lib/app/constant/page_path.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,10 @@ class PagePathConst {
static const String cardanoTransaction = "/cardano/transaction";
static const String cosmosTransaction = "/cosmos/transaction";

static const String setupRippleAddress = "/ripple/setup_address";
// static const String setupRippleAddress = "/ripple/setup_address";
static const String setupBitcoinAddress = "/bitcoin/setup_address";
static const String setupEthAddress = "/ethereum/setup_address";
static const String setupTronAddress = "/tron/setup_address";
static const String setupSolanaAddress = "/solana/setup_address";
static const String setupGenericAddress = "/networks/setup_address";
static const String setupCardanoAddress = "/cardano/setup_address";
static const String setupCosmosAddress = "/cosmos/setup_address";

static const String setupBitcoinMultsig = "/bitcoin/setup_multisig_address";

Expand Down Expand Up @@ -78,17 +75,12 @@ class PagePathConst {

static String setupAddressPage(AppNetworkImpl network) {
if (network is AppBitcoinNetwork) return setupBitcoinAddress;
if (network is APPEVMNetwork) return setupEthAddress;
if (network is APPTVMNetwork) return setupTronAddress;
if (network is APPSolanaNetwork) return setupSolanaAddress;
if (network is APPCardanoNetwork) return setupCardanoAddress;
if (network is APPCosmosNetwork) return setupCosmosAddress;
return setupRippleAddress;
return setupGenericAddress;
}

static const String importERC20Token = "ethereum/import_token";
static const String importTRC20Token = "tron/import_token";
static const String importTrc10Token = "tron/import_trc10_token";

static const String importSPLTokens = "solana/import_spl_tokens";
}
2 changes: 2 additions & 0 deletions mrt_wallet/lib/app/error/exception/wallet_ex.dart
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ class WalletExceptionConst {
WalletException("invalid_balance");
static final WalletException unsuportedFeature =
WalletException("unsuported_feature");
static final WalletException featureUnavailableForMultiSignature =
WalletException("feature__unavailable_for_multi_signature");

static final WalletException condition = WalletException("message");
static final WalletException emptyThrow = WalletException("");
Expand Down
21 changes: 14 additions & 7 deletions mrt_wallet/lib/app/extention/context.dart
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ extension QuickContextAccsess on BuildContext {
BodyBuilder? bodyBuilder,
List<Widget> appbarActions = const [],
bool centerContent = true}) async {
if (!mounted) return null;
return await showModalBottomSheet<T>(
context: this,
constraints: const BoxConstraints(maxWidth: 900),
Expand All @@ -93,6 +94,7 @@ extension QuickContextAccsess on BuildContext {
return await showAdaptiveDialog(
context: this,
useRootNavigator: true,
barrierDismissible: true,
builder: (context) {
return DialogView(
title: label,
Expand All @@ -103,17 +105,22 @@ extension QuickContextAccsess on BuildContext {
);
}

Future<T?> openDialogPage<T>(WidgetContext child, String label,
{List<Widget> Function(BuildContext)? content}) async {
Future<T?> openDialogPage<T>(
String label, {
WidgetContext? child,
List<Widget> Function(BuildContext)? content,
Widget? fullWidget,
}) async {
return await showAdaptiveDialog(
context: this,
useRootNavigator: true,
barrierDismissible: true,
builder: (context) {
return DialogView(
title: label,
content: content?.call(context) ?? const [],
child: child(context),
);
return fullWidget ??
DialogView(
title: label,
content: content?.call(context) ?? const [],
child: child?.call(context) ?? WidgetConstant.sizedBox);
},
);
}
Expand Down
1 change: 1 addition & 0 deletions mrt_wallet/lib/app/extention/string.dart
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ extension Translate on String {
}

String get orEmpty => trim().isEmpty ? "value_is_empty".tr : this;
String or(String or) => trim().isEmpty ? or : this;
String? get nullOnEmpty => trim().isEmpty ? null : this;
String get to3Digits => AppStringUtility.to3Digits(this, separator: ",");
}
Loading

0 comments on commit f1bc181

Please sign in to comment.