Opensource Wallet & Explorer by joinseeds.com

Overview

seeds_light_wallet

Actions Status

Codemagic build status

Opensource Wallet & Explorer by joinseeds.com

A payment platform and financial ecosystem to empower humanity and heal our planet

Getting Started

git clone https://github.com/7flash/flutter_seeds_wallet.git
cd flutter_seeds_wallet
flutter pub get
flutter run --no-sound-null-safety lib/main.dart

Sound null safety is off

Run with --no-sound-null-safety flags as there are some external libraries that are not null safe

Dev configuration

Use the projects git hooks

git config core.hooksPath .githooks/

Build

Build for Android

Create an app bundle and upload to Google Play

flutter build appbundle --no-sound-null-safety lib/main.dart

Build for iOS

For iOS App store release, we build with XCode - but before running the XCode build, we need to run the flutter build for iOS.

1 - Build for iOS flutter flutter build ios --no-sound-null-safety lib/main.dart

2 - Build with XCode for App store distrubution as usual

Comments
  • Refactoring Merchant Mode

    Refactoring Merchant Mode

    ๐Ÿ—ƒ Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)

    Issue - Merchant mode had a strange UX and many bugs

    Fix - redid merchant mode, split into multiple different screens as a good enough beta version.

    Merged the ability to change the list order of merchant goods from Igor's PR

    • Add products in SEEDS and FIAT
    • Edit products in SEEDS and FIAT - even if they were entered in a different fiat currency
    • Reorder items (from Igor)
    • Reflect new order in the main selection screen
    • Enter a custom amount
    • Verify a list of items
    • New edit button in upper right corner
    • Showing totals

    โœ… Checklist

    • [x] I have tested all my changes.

    ๐Ÿ•ต๏ธโ€โ™‚๏ธ Notes for Code Reviewer

    Never mind so much about the code, just run through some basic UX testing if you wish - it's too much code to review

    Many, many things were broken before so this is definitely better than what we had.

    ๐Ÿ™ˆ Screenshots

    https://user-images.githubusercontent.com/65412/105034929-32922e80-5a95-11eb-8044-602800bc7a59.mov

    ๐Ÿ‘ฏโ€โ™€๏ธ Paired with

    me myself and I

    opened by n13 49
  • anchor integration

    anchor integration

    I created a ticket for this

    https://github.com/JoinSEEDS/seeds_light_wallet/issues/675

    [Nik here] Purpose to enable Seeds light wallet to sign transactions on the DHO or any website that uses the Anchor protocol

    Prior, we were able to sign QR codes in the ESR format

    But Anchor is an open source protocol to implement a secure channel between a website an an app.

    https://github.com/greymass/anchor

    Basically, this pull request enables correct handling of identity request with callbacks, and in other PRs later we can implement long-living sessions and etc

    Peek 2021-02-19 02-26

    opened by 7flash 15
  • A user who set a delegate cannot vote

    A user who set a delegate cannot vote

    New steps:

    1. Delegate trust to another user
    2. Go to vote
    3. Go to first proposal
    4. Scroll all the way down

    Expected: See text "You have delegated your vote to (account name). They are voting for you."

    This can look the same as when a visitor looks at the proposal, so no new design needed. See below in comments.

    Actual: Vote slider appears (but voting fails with an error)

    Additional context:

    We need to load a user's delegate status per category - for each category of proposal, they may or may not have a delegate. Then when showing the proposal, we can check the map type -> delegated account.

    ==================================================== OG bug report: Steps to reproduce the behavior:

    1. Login as testingseeds.
    2. Go to Explore > Vote > first proposal.
    3. Tap Vote > Confirm.

    Current behavior Observe the error (see screenshot).

    Expected behavior A successful vote is expected.

    Screenshots IMG_4200

    bug 
    opened by buildc0de 14
  • Region: Join and Onboading (2/3)

    Region: Join and Onboading (2/3)

    Screen 1 (Pop-up Request): Location Request (Android & iOS): Screen Shot 2022-02-23 at 6 42 17 AM

    Screen 2: The map is interactive in three ways:

    1. If the user has enabled location services, the starting location of the map will be the user's current location
    2. The user types in an address and selects enter, the pin will go to the desired location on the map.
    3. Upon selecting the crosshairs in the bottom right corner of the map, it will automatically snap to the users current position. If the user has opted not to allow location services, it will prompt to use location services once again.

    Group 2315

    ^Along the bottom, there is a prompt that if the user does not see a region they want to join, they can initiate the Create Region flow.

    story 
    opened by JGDoh 12
  • Integrating EOS Libraries 1/2

    Integrating EOS Libraries 1/2

    ๐Ÿ—ƒ Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)

    added dart_esr and eosdart packages to source code

    Reasoning:

    • These packages are dead, no one is maintaining them
    • They depend on many crypto packages
    • Complicated dependency management
    • This will allow us to make them null safe in a future PR.
    • Keep your friends close, keep your enemies closer... this code is pretty rough with a lot of duplication. Over time we can improve this, especially when we have comprehensive automated tests.

    Tests

    I added unit tests to ensure that both encoding and decoding are still working.

    I also added a unit test mode since firebase wasn't initialized and I needed hard coded node names.

    Unit test mode is in addition to testnet mode, the tests check whether the flags are set.

    These automated tests are the only way to ensure that ESR encoding and decoding are still working.

    I verified both encoded and decoded ESR codes with external websites.

    โœ… Checklist

    • [x] Github issue details are up to date for people to QA.
    • [x] I have tested all my changes.

    ๐Ÿ•ต๏ธโ€โ™‚๏ธ Notes for Code Reviewer

    ๐Ÿ™ˆ Screenshots

    ๐Ÿ‘ฏโ€โ™€๏ธ Paired with

    opened by n13 12
  • Explore: Voting: History

    Explore: Voting: History

    Is your feature request related to a problem? Please describe. User reported an error when browsing History of proposals they have voted on. The user sees a different value for their vote than appears on the card itself.

    "in the "History" section, I see some Campaigns that I know I voted positive for which say in red "-2 voted" in the top right of the picture for the Campaign. If that's supposed to show how I voted in that situation, it's wrong. If it's supposed to mean something else, I don't understand it."

    Describe the solution you'd like Test using accountname: markflowfarm and check to see if his voting matches the onchain result.

    (removed wrong screenshot)

    bug 
    opened by JGDoh 12
  • simplified merchant feature

    simplified merchant feature

    Allow merchant to create catalog of products, and easily create invoices with chosen products from catalog. In difference from #324 where we have separate screens for catalog, invoices and orders, - here we have single Receive screen with quick access through bottom sheets.

    opened by 7flash 12
  • App asking for biometric while it's not enabled

    App asking for biometric while it's not enabled

    Steps

    How to reproduce on Android:

    • Install and launch the app while having biometric enabled
    • Disable biometric from the phone
    • The app will now ask for biometric every time and I have no way to disable that from the app.

    Expected

    When app starts, user is not asked for biometric, they are sent straight to PIN code

    Actual

    App asks for biometric

    Additional Information

    I saw Android fingerprint screen yesterday and it was unclear what to do - the text was off saying something like "loading wallet" and the screen showed a fingerprint icon at the bottom. Text needs to change to something more reasonable.

    Testing

    Test the following cases on Android:

    • [ ] Device does not have biometric hardware -> should show PIN code field only
    • [ ] Device has biometric but it's not enabled -> should show PIN code field only, no error dialog prompting user to enable biometric
    • [ ] Device has biometric enabled when user signs up, later disables it -> should show PIN code field only, no error messages
    • [ ] Device has biometric and it is enabled -> should accept biometric in lieu of PIN
    bug 
    opened by agonist 12
  • Only show cards for available tokens

    Only show cards for available tokens

    ๐Ÿ—ƒ Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)

    I am not sure there is one

    We were showing all cards for all tokens, even if a user didn't have certain tokens.

    As we expand our token list to internal tokens like HUSD and potentially many more, the app should only show tokens where a user also has a balance.

    Changes

    1 - Only show cards for which a user has tokens - except Seeds, which we always show 2 - Pull to refresh refreshes the balances (on the dashboard)

    Details

    We don't show a token if either there is no balance, or the balance is 0.

    We may change this later to only tokens for which there is no balance. I changed BalanceModel to include the information so we can distinguish between "has no tokens" and "never had this token".

    Refactoring

    I replaced the single balance bloc with a "multiple balances" bloc since that fits the screens better.

    โœ… Checklist

    • [x] I have tested all my changes.

    ๐Ÿ•ต๏ธโ€โ™‚๏ธ Notes for Code Reviewer

    We can later add whitelists, blacklists (Allow user to de-select tokens they don't want to see) in settings

    Question

    Not sure what the protocol is for moving widgets from v1 to v2 - since dashboard changed, I moved it to v2. And some assorted dashboard helper classes. All these will likely be replaced by new designs when we have the transactions list working. Then we can delete them.

    ๐Ÿ™ˆ Screenshots

    Doesn't really look different than before. Should not show tokens you don't have. Should update balance on refresh.

    ๐Ÿ‘ฏโ€โ™€๏ธ Paired with

    @github-handle or "nobody" if you did not pair.

    opened by n13 11
  • Key Guardians (Share Activation link)

    Key Guardians (Share Activation link)

    Is your feature request related to a problem? Please describe. Currently user has to select Copy and then past in relevant messages and other communication apps.

    Describe the solution you'd like INSTEAD the user should be able to select SEND (represented by the icon) and then it will open the system dialogue to sent via other messaging apps.

    Group 605

    story 
    opened by JGDoh 10
  • Bugfix for ESR Handling

    Bugfix for ESR Handling

    ๐Ÿ—ƒ Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)

    Following changes:

    • Handle incoming ESR:// link
    • Scan QR code that's not a token transfer (any chain action)
    • handling non-transfer transactions in all cases
    • Scan QR code that is a token transfer
    • unifying transactions - there was some duplicate code between send and scanning QR codes
    • Show success dialog on generic transactions
    • Renaming some stuff.

    โœ… Checklist

    • [x] I have tested all my changes.

    ๐Ÿ•ต๏ธโ€โ™‚๏ธ Notes for Code Reviewer

    Tested the following cases

    • Scan QR Code on "receive" - transfer SEEDS transaction
    • Scan QR code on gratitude transaction
    • Handle incoming ESR link for transaction while app is running
    • Handle incoming ESR link when app is not running (cold start)

    esr://gmN0S9_Eeqy57zv_9xn9eU3hL_bxCbUs-jptJqsXY3-Jtawgk9sHycTQh0qBNwwZgICRoSCIq3n-2VQGEW-tIitFI0ZGBghggtKKMIECk6CZXqWhpwXS8osUiktSc3ISixTK84uygYYwAAA

    Some more minor fixes and improvements

    ๐Ÿ™ˆ Screenshots

    IMG_7043

    UPDATED confirm dialog with fixed time

    Simulator Screen Shot - iPhone 8 - 2021-08-16 at 14 09 40

    ๐Ÿ‘ฏโ€โ™€๏ธ Paired with

    opened by n13 10
  • Connect LW to mobile contact list

    Connect LW to mobile contact list

    Is your feature request related to a problem? Please describe. Not a problem, just a possible enhancement. When sending SEEDS to another user, one must type in the 12-letter Telos account name. This is okay but in many cases a click on the user's contact list would be more convenient. image

    Describe the solution you'd like At "send" screen, offer a 1-click link to user's native mobile contact list picker. Would be nice to have interaction similar to this Fuse Network demo (I think he says this is Argent contract): https://www.youtube.com/watch?v=Hg8bWO8k3QY&t=1250s at 21:26 .

    Additional context Add any other context or screenshots about the feature request here.

    enhancement 
    opened by chuck-h 0
  • Load region fee

    Load region fee

    ๐Ÿ—ƒ Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)

    Load region fee from servers.

    โœ… Checklist

    • [ ] Github issue details are up to date for people to QA.
    • [ ] I have tested all my changes.

    ๐Ÿ•ต๏ธโ€โ™‚๏ธ Notes for Code Reviewer

    ๐Ÿ™ˆ Screenshots

    ๐Ÿ‘ฏโ€โ™€๏ธ Paired with

    opened by n13 0
  • Handle accounts which have two or more signing keys

    Handle accounts which have two or more signing keys

    Is your feature request related to a problem? Please describe. An administrative account may be shared among several empowered individuals each of whom is able to use it. This can be accomplished by using a threshold-1 multisig on the account. However LW is not able to handle this situation and sometimes hangs when switching to such an account.

    Describe the solution you'd like Change LW program logic to check for multiple possible keys when switching accounts

    Additional context It might be worth looking at the way Anchor or cleos handles multiple keys

    story 
    opened by chuck-h 1
  •  fix eosdart serialize/deserialize of public keys

    fix eosdart serialize/deserialize of public keys

    ๐Ÿ—ƒ Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)

    Eosdart serialize/deserialize code for public key data type has logic errors. This was showing up in LW as a failure to process permission-update transactions delivered through QR code.

    To test: generate a permission-update transaction QR code (e.g. through https://cc42.xyz/rainbo/manage.html permissions tab). Scan QR and sign. If you are not authorized to sign, observe authorization error. (An eosdart serialization error would cause a different message.)

    Test image: image

    Update: Added unit test for serialization/deserialization of all key varieties

    flutter test test/utils/serialize_test.dart
    

    Note: cleos was used as a reference serializer providing test vectors for public keys. A BTC WIF generator was used for comparison of k1-curve private keys. I do not have a reference serialization implementation for r1-curve private keys; the unit tests verify round-trip accuracy.

    โœ… Checklist

    • [ ] Github issue details are up to date for people to QA.
    • [ ] I have tested all my changes. - tested in rainbow_apk branch on Android; not built & tested in master or iOS

    ๐Ÿ•ต๏ธโ€โ™‚๏ธ Notes for Code Reviewer

    ๐Ÿ™ˆ Screenshots

    For all UI changes

    | before | after | | --- | --- | | image | image | | |image |

    ๐Ÿ‘ฏโ€โ™€๏ธ Paired with

    @github-handle or "nobody" if you did not pair.

    opened by chuck-h 2
  • Paste from clipboard into QR scan screen

    Paste from clipboard into QR scan screen

    Is your feature request related to a problem? Please describe. Sometimes it is awkward to get a transaction from another application into LW in order to use LW as a signing wallet. This new feature would make LW more flexible and easier to interoperate in a larger ecosystem.

    Describe the solution you'd like Add a "paste" icon to the QR scan screen, similar to Anchor:

    image

    Depending on the contents of the clipboard:

    1. If the clipboard contains a QR image, process it as if captured by camera
    2. If the clipboard contains ESR text, process it

    This is a basic functionality. The paste processor could become pretty "smart" as far as recognizing other requested actions from the clipboard (e.g. an invite code).

    enhancement story 
    opened by chuck-h 0
Releases(v2.9.0)
  • v2.9.0(Jun 21, 2022)

    Introducing new feature: Regions.

    Community members can:

    1. Create a region based on their chosen location.
    2. Join a region to discover events happening in their local area.
    3. Create events to engage with other SEEDS community members.

    To get started, download the newest update, select EXPLORE and tap REGIONS.

    Source code(tar.gz)
    Source code(zip)
  • v2.8.0(Feb 25, 2022)

    A lot of small bug fixes and tweaks:

    1. No Internet error message fix.
    2. You can now paste your 12-words when importing your account.
    3. Memos are properly displaying in transaction info.
    4. You can now switch and add accounts even if the PIN is disabled.
    5. Add Guardian bug is fixed.
    6. Token payment via link from account with less than requested amount is fixed.
    Source code(tar.gz)
    Source code(zip)
  • v2.7.0(Feb 14, 2022)

    Lots of changes in this update:

    1. You can now flag other members who act inappropriately. If multiple users flag someone, the account will be penalized and the reputation will go down.
    2. You can now log in using your 12-word Recovery Phrase on both the Passport and Light Wallet.
    3. Clear indicators if you do not have an internet connection.
    4. You can now see more details around your Contribution Score from your profile.

    Hidden via feature flag: You can easily go to the Swap Seeds module via the Explore section to swap seeds for other currencies with other members of the community!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.0(Jan 11, 2022)

    1. You can now vouch for other members in the SEEDS Community. Vouching helps others on their journey to becoming full fledged SEEDizens.
    2. New Explore layout with improved buttons for Vouching and Buy Seeds.
    3. App Icon fixed for old Android devices.
    Source code(tar.gz)
    Source code(zip)
  • v2.5.0(Dec 8, 2021)

    1. You can now see multiple actions in the confirmation and success screens when handling a multiple transaction request.
    2. You can now search by name & username when looking for another user.
    3. Improved optimization for Profile and Main dashboard.
    Source code(tar.gz)
    Source code(zip)
  • v2.4.0(Nov 15, 2021)

    New Features:

    1. Claim Seeds: You can now claim your unplanted Seeds.

    2. Manage Invites: See which of your invitations have been claimed, and cancel unclaimed ones.

    3. Multiple Account Support: We now support switching and adding new accounts to the Light Wallet! Organization accounts are supported as well.

    4. Delegators: See which SEEDizens have selected you to be their Delegate!

    Bug fixes:

    • Can now re-add guardians that have been removed
    • Fixed UI issues (Safe area) for the bottom of the iPhone
    Source code(tar.gz)
    Source code(zip)
  • v2.3.1(Nov 5, 2021)

    New Features: 12-word Account Recovery Phrase

    • Easily export and save your new 12-word Account Recovery phrase
    • Login and recover your account using your 12-word Account Recovery Phrase

    Delegate Votes

    • Community members may not select other citizens to vote on their behalf
    Source code(tar.gz)
    Source code(zip)
  • v2.3.0(Nov 5, 2021)

    New Features: 12-word Account Recovery Phrase

    • Easily export and save your new 12-word Account Recovery phrase
    • Login and recover your account using your 12-word Account Recovery Phrase

    Delegate Votes

    • Community members may not select other citizens to vote on their behalf
    Source code(tar.gz)
    Source code(zip)
  • v2.0.3(Aug 30, 2021)

  • v2.0.2(Aug 18, 2021)

  • v2.0.1(Aug 30, 2021)

  • v2.0.0(Aug 9, 2021)

  • v1.4.7(Jun 20, 2021)

  • v1.4.6(Apr 3, 2021)

  • 1.4.2.1(Feb 1, 2021)

  • 1.4.2(Feb 1, 2021)

  • 1.2.1(Sep 26, 2020)

  • v1.2.0(Sep 23, 2020)

    Release notes for Seeds Light Wallet Release 1.2.0

    QR Code Theme

    This build includes features that improve the usability and utility of QR code reading and functionality

    • Receive payment button with QR Code
    • Create invite with QR code
    • Accept invite with QR code
    • Users are able to scan a QR code for many EOS transactions (identity not supported, requires exploratory testing)
    • Support for transfers via QR code (confirm before executing) (inspired by checkout from alipay)
    • android finger print reader https://github.com/JoinSEEDS/seeds_light_wallet/issues/212
    • misc bug fixes
    • android redirection (play store)
    • working QR reader

    Push Notifications!

    • Push notifications added
    Source code(tar.gz)
    Source code(zip)
Owner
SEEDS - Conscious Currency | Regenerative Civilization
A financial and governance system for a globally regenerative civilization. The open-source repository for the active smart contracts of SEEDS.
SEEDS - Conscious Currency | Regenerative Civilization
Shacoin-wallet - A flutter wallet app for shacoin

SHACOIN Mobile app for storing your shacoins ยท Report Bug ยท Request Feature Tabl

batuhan demircan 0 Jan 7, 2022
This is an on-chain(truffle) ETH wallet with traditional crypto wallet features

This is an on-chain(truffle) ETH wallet with traditional crypto wallet features (including live ETH price display). I enjoyed playing with emojis in this one ??

Chinyeaka Chinonso 15 Dec 7, 2022
An opensource application for Discuz!Q 3.0 +.

discuzq An opensource application for Discuz!Q 3.0 Getting Started This project is a starting point for a Flutter application. A few resources to get

virs 0 Dec 28, 2021
Punto de venta 100% opensource y gratuito :)

Total POS Punto de venta desarrollado por mera diversion, porque no? ??โ€โ™‚๏ธ โš ๏ธ En Desarrollo โš ๏ธ La implementacion con postgres es la mas avanzada echal

Ushieru Kokoran 1 Sep 19, 2022
Simple File Explorer made with Flutter(WIP)

FileX (WIP) A simple File Explorer(Still very buggy) made with Flutter. To download apk: Tap on the button below(it will take you to another page) Scr

Festus Olusegun 439 Dec 29, 2022
Configurable file explorer widget for Flutter

Filex Configurable file explorer widget for Flutter Usage Simple: import 'package:filex/filex.dart'; import 'package:path_provider/path_provider.dart'

null 16 Oct 13, 2022
Aves is a gallery and metadata explorer app, built for Android with Flutter.

Aves Aves is a gallery and metadata explorer app. It is built for Android, with Flutter. Features Aves can handle all sorts of images and videos, incl

Thibault Deckers 729 Jan 3, 2023
A mobile version of the COCO Explorer written in Dart with Flutter Framework.

COCO Explorer Mobile A mobile version of the COCO Explorer written in Dart with Flutter Framework. Cloning the repo From GitHub: Download or clone the

Mohammad Sobhy 2 May 13, 2022
DeFi Scan - Mobile BlockChain Explorer app for cryptocurrency accounts.

DeFi Scan This is the official repository for DeFi Scan - a mobile blockchain explorer built with Dart/Flutter for searching, curating and storing det

Ayodeji Olabisi 4 Dec 20, 2022
A 3rd party wallet for zenon.network

Notes Please don't use your main seed while testing until Cano is fully audited by the community Click Create Wallet to generate Prerequisites Flutter

Cano Wallet 10 Oct 26, 2022
Wallet app built in flutter

flutter_wallet_app Smart course app is a design implementaion of Wallet App designed by Muhammad Abdull Download App Android Screenshots HomePage Tran

Sonu Sharma 291 Dec 24, 2022
A reference credential wallet built on Flutter and DIDKit.

Check out the Credible documentation here. Credible Credible is a native mobile wallet that supports W3C Verifiable Credentials and Decentralized Iden

Spruce Systems, Inc. 31 Nov 7, 2022
Wallet for Peercoin and Peercoin Testnet written in Flutter

peercoin_flutter Wallet for Peercoin and Peercoin Testnet using Electrumx as backend. App in constant development Basic testing successfull on iOS 14.

Peercoin project 21 Oct 25, 2022
A multi purpose Bitcoin wallet

STACKMATE A multi-purpose Bitcoin Wallet Table of Contents Core Features Getting Started Flutter Development VSCode Explorer Exchange Rates API Updati

Morteza 5 Jan 11, 2022
Flutter Wallet APP UI Challenge

flutter_wallet_ui_challenge A new Flutter project. Project Demo Video : https://www.youtube.com/watch?v=Vyj65qh_QiA Getting Started Flutter Wallet UI

Yasin ilhan 489 Dec 18, 2022
A Flutter project created for test purposes based on the wallet settings screen of the polkadex mobile app.

polkadex_mobile_test A Flutter project created for test purposes based on the wallet settings screen of the polkadex mobile app. Getting Started This

null 0 Jan 10, 2022
Wallet Application Built With Flutter

Wallet Application Flutter Wallet Page Contact Page Send Money Page Contact Page

Isaac Pitwa Nyonyintono 12 Nov 9, 2022
Zold wallet built in flutter.

Zold wallet built in flutter (Android and iOS platform). Use it to pay or receive zolds and view your wallet balance and transactions. Features Pull w

Ammar Hussein 24 Oct 8, 2022
Official Sonr Blockchain Node implementation with Frontend Clients to access Wallet.

Sonr Blockchain Sonr-Chain is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve com

Sonr 625 Dec 29, 2022