GithubHelp home page GithubHelp logo

lnflash / flash Goto Github PK

View Code? Open in Web Editor NEW

This project forked from galoymoney/galoy

4.0 4.0 3.0 30.23 MB

fork of galoy bitcoin banking infrastructure

Home Page: https://getflash.io

License: MIT License

Shell 4.33% JavaScript 27.87% TypeScript 67.60% Makefile 0.13% Dockerfile 0.02% Jsonnet 0.03% Nix 0.02%

flash's People

Contributors

adam2k avatar bodymindarts avatar brh28 avatar daviroo avatar dependabot[bot] avatar dolcalmi avatar enigbe avatar galoybot avatar galoybot-app[bot] avatar islandbitcoin avatar joshr4 avatar jotapea avatar jrbuhl93 avatar krtk6160 avatar mfferreira avatar moksha256 avatar nicolasburtey avatar nolim1t avatar ntheile avatar openoms avatar pretyflaco avatar samerbuna avatar sandipndev avatar sebastienverreault avatar thevaibhav-dixit avatar trigger67 avatar twshelton avatar unclesamtoshi avatar vindard avatar zoop-btc avatar

Stargazers

 avatar  avatar  avatar

flash's Issues

[IBEX] IBEX integration with galoy backend using USD wallet to display IBEX wallet balance - Bounty #4

This task is to replace the galoy USD (stablesats) wallet with the IBEX custodial USD wallet on the Home Screen in the wallet overview component on the frontend, so that it is displaying the latest balance of the IBEX custodial USD wallet.

The stablesats wallet uses a graphql query to get the latest balance from galoy, so ideally this would also use a graphql query to get the latest balance from flash backend. This means the flash backend could be storing the balance, and use the IBEX API to get the latest balance if the balance is stale.

An alternate solution would be to hit the IBEX API every time we need a balance, instead of storing the balance on the server.

Code improvements and suggestions are welcome.

For testing the frontend you can connect the staging environment to http://api-development.flashapp.me:4002/graphql
For testing the IBEX API you can connect to http://api-development.flashapp.me:8760/api/v1/

BOUNTY available ⚡⚡⚡

OnChain Fee estimation

Initial test returned a 0-fee. Requires further testing with:

  • Address generated by Ibex
  • External address

Update payment status

Upon sending a payment, UI should be updated with a completed status. This status update is triggered by a Ibex webhook and should be propagated downstream.

  • Setup server that listens for changes from Ibex. Authenticate using a server secret
  • Push message to Pubsub service + veriy message downstream
  • Create webhookUrl for local development

[IBEX] Code Review: IBEX integration with galoy backend using USD wallet to receive lightning via LN Invoice - Bounty #3

This task is to do a comprehensive code review for the changes made to the flash backend that replace the galoy USD (stablesats) wallet with the IBEX custodial USD wallet when generating a lightning invoice using the LnUsdInvoiceCreate mutation, and suggest a solution for updating the flash backend with the updated IBEX wallet balance once the invoice has been paid and the IBEX API returns the webhook.

The branch with these changes can be found here
Submitted PR can be found here

For testing the frontend you can connect the staging environment to http://api-development.flashapp.me:4002/graphql
For testing the IBEX API you can connect to http://api-development.flashapp.me:8760/api/v1/

BOUNTY available ⚡⚡⚡

LN Fee Estimation

UI: "Failed to calculate fee."

See: #17 (comment)

Backend:

  • lnNoAmountInvoiceFeeProbe: graphQL error
  • lnInvoiceFeeProbe: tested successfully

Receive payment via Lightning Address

This task is to replace the galoy lightning address with the IBEX lightning address and update the address domain name to be flashapp.me, but forward to an IBEX LNURL.

This should be done using accounts USD wallet

This task involves the following at minimum:

  • [LIGHTNING] Setup Lightning Address Domain on flashapp.me hosted using /.well-known folder on the host server
  • [LIGHTNING] Forward decoded LNURLs from IBEX using flashapp.me/getflash.io lightning address

The QR code showing on the Paycode screen should display an LNURL that is associated to the users IBEX account

Display error on Ibex failure

When trying to send from IBEX USD Wallet over 10k sats, UI responds:

"An unexpected error occurred, please try again later" Log: "name":"IbexApiError","level":"info","code":400},"msg":"{"error":"daily limit exceeded"

TBD: What should the error message display?

[IBEX] Integrate IBEX account creation into Galoy account creation - Bounty #2

This bounty can be claimed by completing and testing the following tasks:

  • Call the IBEX Create Account API upon Device account creation in galoy. sample code here
  • Save the IBEX API response (specifically the id field) as the galoy USD walletId (instead of galoy generating an ID by default)
  • Test to confirm that the USD walletId and the IBEX accountId are the same in the GraphQL playground (localhost:4002/graphql)

This should take less than 3 hours to complete. Bounty Details are here

JMD support for graphs

Add JMD currency support to the graphs repo.

This may not be needed if we can merge the latest galoy code with multi currency support

Connect to IBEXHub API

TODO:

  • Consumer wallet on our instance, and IBEX wallet for business accounts (Business accounts can cash-out)
  • Create test action to verify API response

Pagination for transaction history

UI makes GraphQL query with the following supported pagination args (ConnectionArguments):

before?: ConnectionCursor | null;
after?: ConnectionCursor | null;
first?: number | null;
last?: number | null;

These arguments should be mapped to the pagination scheme used by Ibex with params:

sort?: string | undefined;
limit?: number | undefined;
page?: number | undefined;

[IBEX] Complete IBEX integration with galoy backend using USD wallet to send lightning via LN Invoice - Bounty #5

This task is to replace the galoy USD (stablesats) wallet with the IBEX custodial USD wallet when paying a lightning invoice using the LnNoAmountUsdInvoicePaymentSend mutation ( and any other related mutations) and update the flash backend persistent storage with the updated IBEX wallet balance once the invoice has been paid and the IBEX API returns the webhook.

For reference on how I did the changes to the LnUsdInvoiceCreate Mutation [please see here (https://github.com/lnflash/flash/tree/ln-usd-ibex-invoice)
Code improvement suggestions are welcome.

For testing the frontend you can connect the staging environment to http://api-development.flashapp.me:4002/graphql
For testing the IBEX API you can connect to http://api-development.flashapp.me:8760/api/v1/

BOUNTY available ⚡⚡⚡

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.