All Projects → DeFiCh → wallet

DeFiCh / wallet

Licence: MIT license
DeFiChain Wallet. The DeFi Blockchain Light Wallet for iOS, Android & Web. + Desktop Coming Soon

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to wallet

scan
DeFi Scan, everything one-stop location for DeFi Blockchain. Powered by jellyfish & ocean network.
Stars: ✭ 31 (-72.32%)
Mutual labels:  finance, decentralized, dfi, defi
whale
The super index for DeFi Blockchain to simplify DeFi light implementation. 🚧 Consolidating into DeFiCh/jellyfish as a single monorepo project.
Stars: ✭ 17 (-84.82%)
Mutual labels:  finance, decentralized, dfi, defi
defiprime
All things #DeFi - trustless and transparent financial products built on top of the blockchain.
Stars: ✭ 117 (+4.46%)
Mutual labels:  finance, decentralized, defi
blockhead
Crypto portfolio tracker, DeFi dashboard, NFT viewer and data explorer for the Ethereum/EVM-based blockchain ecosystem and the web 3.0-powered metaverse https://gitcoin.co/grants/2966/blockhead
Stars: ✭ 41 (-63.39%)
Mutual labels:  decentralized, defi
defi-app-old
DeFi Blockchain desktop app for Windows, Linux and Mac.
Stars: ✭ 12 (-89.29%)
Mutual labels:  dfi, defi
ap-monorepo
Monorepo containing all packages related to the ACTUS Protocol
Stars: ✭ 15 (-86.61%)
Mutual labels:  finance, defi
setprotocol.js
🥞 Javascript library for a collateralized basket of ERC20 tokens
Stars: ✭ 57 (-49.11%)
Mutual labels:  decentralized, defi
DeFi-Map
List of decentralized finance projects on Ethereum.
Stars: ✭ 49 (-56.25%)
Mutual labels:  decentralized, defi
rube
A multi-chain DeFi development toolkit for Elixir
Stars: ✭ 27 (-75.89%)
Mutual labels:  finance, defi
conceal-desktop
Conceal Desktop (GUI)
Stars: ✭ 65 (-41.96%)
Mutual labels:  decentralized, defi
app-ui
DEUS app front-end
Stars: ✭ 20 (-82.14%)
Mutual labels:  finance, defi
app-monorepo
Secure, open source and community driven crypto wallet runs on all platforms and trusted by millions.
Stars: ✭ 1,282 (+1044.64%)
Mutual labels:  native, defi
numereval
A small library to locally calculate the scores on numer.ai tournament's diagnostics dashboard.
Stars: ✭ 31 (-72.32%)
Mutual labels:  finance
NineChronicles
Unity client application for Nine Chronicles, a fully decentralized idle RPG powered by the community.
Stars: ✭ 268 (+139.29%)
Mutual labels:  decentralized
titanium-firebase-analytics
Use the Firebase Analytics SDK in Axway Titanium 🚀
Stars: ✭ 33 (-70.54%)
Mutual labels:  native
WindFarm
Information the Wind concept, spec and upcoming events
Stars: ✭ 23 (-79.46%)
Mutual labels:  decentralized
mxfactorial
a payment application intended for deployment by the united states treasury
Stars: ✭ 36 (-67.86%)
Mutual labels:  finance
hurtrade
An Open Source Forex Trading Platform
Stars: ✭ 22 (-80.36%)
Mutual labels:  finance
react-native-simple-download-manager
A react native module to schedule downloads on native download manager
Stars: ✭ 35 (-68.75%)
Mutual labels:  native
governance-crosschain-bridges
This repo contains the crosschain governance bridges used for the aave markets deployed across different networks
Stars: ✭ 116 (+3.57%)
Mutual labels:  defi

CI wallet codecov Maintainability

app store Get it on Google Play

DeFiChain Wallet

DeFi Blockchain Light Wallet for iOS, Android & Web.

Releases

DeFiChain Wallet has 3 releases channel and unique environment for each of those channel. shared/environment.ts carries the environment state for those releases channel.

Production

Created by Expo Application Service and configured in eas.json, it creates a native build with release-publish.yml workflow on type "published". Builds can only be triggered by DeFiChain engineers, they are automatically uploaded into native app store for distribution.

In the production environment, only MainNet is available, and debugging is not enabled.

Preview

Preview builds are created by 2 workflow. First at each pull request via expo-preview.yml workflow, release are prefixed pr-preview-. Secondly at release-publish.yml workflow on type "prereleased".

In the preview environment, all networks are available, and debugging is enabled.

Development

Development builds are created on local machine and not triggered by any CI workflow.

In the development environment, all playground networks are available, and debugging is enabled.

Developing & Contributing

Thanks for contributing, appreciate all the help we can get. Feel free to make a pull-request, we will guide you along the way to make it mergeable. Here are some of our documented contributing guidelines.

We use npm 7 for this project, it's required to set up npm workspaces.

npm install

Project Structure

mobile-app/
├─ .github/
├─ app/
│  ├─ components/
│  ├─ contexts/
│  ├─ hooks/
│  ├─ middleware/
│  ├─ screens/
│  │  ├─ ...Navigator/
│  │  └─ Main.tsx
└─ cypress/
shared/
├─ assets/
├─ store/
└─ translations/
   └─ languages/

DeFiChain Wallet project is structured with 3 core directories. Each pull request will likely carry significant changes into those directories.

Directory Description
/.github GitHub Workflow for shift left automation
/app/api API and middlewares logic for application, for non-UI logic only
/shared/assets assets of the project that can be loaded at startup
/app/components top level components for a atomic shared design language
/app/contexts shared contexts for application, non-UI logic
/app/hooks shared hooks for application, for UI logic only
/app/screens screens hierarchy tree matching directory hierarchy tree
/shared/store global state that is used at least more than once in screens, for UI logic only
/shared/translations various language translations
/cypress E2E tested facilitated through web testing technologies

Testing

There are 2 types of tests in DeFiChain Wallet.

Unit Testing

Unit testing is created to test each individual units/components of a software. As they are unit tests, they should be closely co-located together with the unit. They follow the naming semantic of *.test.ts and placed together in the same directory of the code you are testing.

Unit tests are written for /app/contexts, /app/api, /app/components, /app/screens and /app/store. Code coverage is collected for this.

End-to-end Testing

On top of unit tests, end-to-end provides additional testing that tests the entire lifecycle of DeFiChain Wallet. All components and screen are integrated together as expected for real use cases. As such test are written for real usage narrative as a normal consumer would. They are placed in the /cypress directory, and we use Cypress to facilitate the testing.

Cypress is a modern end-to-end testing framework for web. It uses a sequential jest like approach for testing with automatic wait and retrofitted with many utilities for great testing quality of life. Utilities are further customized for DeFiChain Wallet with our own construct. As cypress is for web only testing, we set up a web environment to run end-to-end testing together with a local playground. React(-Native) is platform agnostic and that allow us to test with high confidence that the expected logic will follow the same flow in native.

To facilitate fast and ephemeral testing culture, we use DeFi Playground. DeFi Playground is a specialized testing blockchain isolated from MainNet for testing DeFi applications. It uses regtest under the hood, you can npm run playground for the local playground environment or let it default to remote. Assets are not real, it can be minted by anyone. Blocks are generated every 3 seconds, the chain resets daily on remote playground.

/app/screens/PlaygroundNavigator/* contains various end user (cypress included) testing screen for debugging and setup purpose that can be accessed in development and preview environment. Code coverage is collected for this.

IntelliJ IDEA

IntelliJ IDEA is the IDE of choice for writing and maintaining this library. IntelliJ's files are included for convenience with basic toolchain setup but use of IntelliJ is totally optional.

Security issues

If you discover a security vulnerability in DeFiChain Wallet, please see submit it privately.

License & Disclaimer

By using DeFiChain Wallet (this repo), you (the user) agree to be bound by the terms of this license.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].