Code Monkey home page Code Monkey logo

enuts's People

Contributors

andrew-weber avatar billigsteruser avatar dependabot[bot] avatar erojo avatar filitol avatar jp30566347 avatar kka11010 avatar kvartbeerborn avatar l0lal33tz avatar onoomobo avatar ra5pvt1n avatar samantatarun avatar starbackr-dev avatar turizspace avatar vazw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

enuts's Issues

Layout responsivness for tablets

Description:

The design is currently not responsive and has only been tested on 2 android smartphones.

Requirement:

Adapt the layout of all pages for tablets.

Note:

It is very likely that the layout of some pages/components is broken as well on small smartphones like iPhone SE.

User authentication

Description:

As a user,
I might want to secure my app access with an authentication method or just skip the process
So that I can avoid foreign access to my funds

Note:

Using react-native key-value secure store for PIN storage should be sufficient to achieve this.
https://github.com/cashubtc/eNuts/blob/main/src/storage/store/SecureStore.ts

Requirements:

  • PIN setup/skip on initial start
  • PIN confirm after setup on initial start
  • PIN query (if setup by user previously) on initial start
  • Lock screen after 3 failing attemps. Time locked should raise on each failing attempt. (2m, 5m, 10m)
  • Edit/remove/setup PIN in settings/security
  • Ask for PIN if app comes to the foreground after beeing > 5 mins in the background.
  • Translate the screen

Enhancement/Ideas:

  1. Auth method selection on initial start (PIN, TouchID, FaceID)
  2. Activate/deactive Auth query for a LN TX in settings.

https://docs.expo.dev/versions/latest/sdk/local-authentication/

[AxiosError: Network Error]

API requests are currently throwing an error on iOS only. I was not able to trace the error or get more detailed information. Unfortunatly the expo-go debugger is currently not working on windows: expo/expo#23332. I am not sure at all why this axios error is happening and it would be good if we can have some collective debugging for this.

You can reproduce the error by adding the test mint: press mints -> test-mint -> confirm

@andrew-weber

Add a timeout to requests

Implement a request timeout where the duration can be customized by the user in the settings.

  • for lightning payments
  • for mint communication

Send Ecash to any npub

Is your feature request related to a problem? Please describe.
I can only send Ecash to my nostr follow list

Describe the solution you'd like
I would like to send to a specific npub

update readme

  • Add a contributing.md with workflow description
  • Provide development docs and npm script usage
  • Provide a list of implemented NUTs
  • Link to the cashu-ts lib
  • Link to the latest release page

Wrong "realFee"

Describe the bug
When a user performs a Lightning transaction (melt or swap) and got not charged any fee (based on his balance afterwards), the key "realFee" still returns the same amount as the "estimated fees" that is determined before a Lightning transaction.

To Reproduce
Steps to reproduce the behavior:
0. Remember your balance before starting to reproduce.

  1. Go to 'dashboard' and press 'Send'.
  2. In the bottom popup, press on 'Pay Lightning invoice'.
  3. Optionally (multiple mints with balance available), choose a mint URL to perform melt/swap transaction from.
  4. Select any recipient option that fits best to you. (Does not matter, each one will reproduce the bug)
  5. Go through the steps provided by the UI until the invoice is paid by the mint.
  6. If payment is successfull, a "success screen" will be shown where a FEE amount is displayed (realFee).
  7. Fee is higher than 0 even if no fees have been payed.

Expected behavior
"realFee" should be the exact amount of fees that have been payed for a Lightning transaction. If payed 0 fee, then realFee has to be 0.

Additional context

  • Branch: UX
  • The code that is used to show the "realFee" in the success screen can be found here
  • The function that is used for melting is here and the code used in that function that calculates the realFee is here

Use device theme on initial start

  • Check which theme is configured in the users device to provide it at inital start.
  • Add an option "auto" into the theme settings and change the toggle to a dropdown.

Proposal: Add Prettier to the Repository for Code Formatting

Problem

In our current repository, maintaining consistent code formatting can be a challenge. Developers have their own preferences and coding styles, leading to inconsistent formatting across the codebase. This not only hampers code readability but also increases the potential for merge conflicts and decreases overall productivity.

Solution

I propose that we integrate Prettier into our repository to automate and enforce a consistent code formatting style. Prettier is a widely adopted code formatter that supports multiple programming languages. It analyzes the code and automatically applies a predefined set of formatting rules, ensuring a consistent style across the entire codebase.

Benefits

  1. Consistent Code Formatting: Prettier will automatically format the code, eliminating any inconsistencies caused by individual preferences. This will result in improved code readability and maintainability.
  2. Time Savings: Developers will no longer need to manually format their code or spend time debating formatting choices. Prettier will handle the formatting automatically, allowing developers to focus on writing code and delivering features.
  3. Reduced Merge Conflicts: Inconsistent code formatting often leads to unnecessary merge conflicts during code reviews and collaboration. By enforcing a consistent style with Prettier, we can minimize the occurrence of these conflicts and streamline the review process.
  4. Ease of Onboarding: With Prettier in place, new team members can quickly adopt the project's formatting conventions without having to spend time learning and adjusting to individual coding styles.

Implementation

To add Prettier to our repository, we can follow these steps:

  1. Dependency Installation: Add Prettier as a development dependency to our project's package.json or similar dependency management file.
  2. Configuration: Create a configuration file (e.g., .prettierrc) in the project root directory to define our preferred code formatting rules. This file can be shared and version-controlled within the repository.
  3. Integrate with Build Pipeline: Incorporate Prettier into our build pipeline or pre-commit hooks to automatically format the code before commits or during the build process.
  4. Editor Integration: Encourage developers to install editor plugins or extensions that support Prettier to enable on-the-fly code formatting during development.

Considerations

Before implementing Prettier, we should consider the following factors:

  • Check if any existing code formatting guidelines or conventions are in place and ensure that they align with Prettier's defaults or configure Prettier accordingly.
  • Review any potential impact on existing linting rules and consider how Prettier can be integrated alongside the existing linters.
  • Communicate the change to the development team, provide documentation or guidelines on how to use Prettier, and address any concerns or questions they may have.

By implementing Prettier, we can establish a standardized code formatting process, enhance collaboration, and improve overall code quality. I believe this addition will significantly benefit our development workflow.

Update the cashu token QR

Add linking: '**cashu:**cashuA...' to the QR so the app can be opened after using an external scanner (IOS camera, android camera or any other scanner)

Animated QR

Is your feature request related to a problem? Please describe.
Sometimes, the data for a cashu token is too big and can not fit in a QR code or the QR code pixels can be way too small so that some camera resolutions might not be able to scan it properly.

Describe the solution you'd like
An animated QR is a potential solution for cashu tokens that include a lot of proofs.

The cashu R&D Group is proposing a few Implementation possibilities:

cashubtc/cashu-ts#76

https://github.com/gre/qrloop

BETA .APK & Testflight invitation-code

@BilligsterUser, I'm mentioning and assigning you to provide an overview of my post-PR plan.

The code is nearly set for the beta release. Some remaining TODOs require discussion for further plan improvement.

To dos:

  • Generate a downloadable and installable .APK beta build, attaching it to the BETA release notes.
  • Proceed with the Apple Developer account and TestFlight steps.
  • Update ios build script and ios config with necessary app IDs and dev account IDs.
  • Generate an iOS .ipa build, submitting it to Apple for TestFlight release.
  • Add verification hashes for released apk's
  • Include the eNuts TestFlight invitation code in the BETA release notes.

Production workflow

  • Create an automated workflow -> Use a PR into the main branch for preview builds to test upcoming updates before merging into the main branch.
  • Created automated workflow -> use release tags with the format "v*" to create production builds

Additional

  • Hide the hard coded test mint on production builds
  • Host a mint where eNuts acts as the custodian.
  • Establish a Lightning address (likely the enuts mint) as a developer fund for eNuts.
  • Implement a tipping feature within the app for eNuts using LN (and Ecash).
  • Create a simple website for eNuts

Wrong redirect pressing QR icon in contacts screen

Describe the bug
QR code icon takes me back to the home screen

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Contacts'
  2. Click on 'QR icon' in top nav
  3. See error

Expected behavior
Redirect to QR scan screen

Add "paste" label in new mint input

If the sole action available to the user when adding a mint is to copy and paste a mint URL, it might be beneficial to eliminate the Flotation Action Button (FAB) that initiates the add mint process.

Change the users npub

Is your feature request related to a problem? Please describe.
I can not change the npub I provided for syncing my nostr follow list in the beginning

Describe the solution you'd like
Provide the possibility to change my personal npub

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.