Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Small app/api/wallet refactoring #332

Merged
merged 5 commits into from
Jul 23, 2021
Merged

Conversation

fuxingloh
Copy link
Contributor

What kind of PR is this?:

/kind refactor

What this PR does / why we need it:

Minor refactoring for better separation of code for wallet implementation and clarity.

@codeclimate
Copy link

codeclimate bot commented Jul 23, 2021

Code Climate has analyzed commit 536da19 and detected 0 issues on this pull request.

View more on Code Climate.

@defichain-bot
Copy link
Contributor

Missing Translations Report

The following translations are missing for this pull request.

View Full Report
{
    "zh-Hans": {
        "missingCount": 96,
        "labels": {
            "screens/OceanInterface": [
                "Transaction Sent",
                "title",
                "An error has occurred",
                "OK"
            ],
            "components/BarCodeScanner": [
                "Requesting for camera permission",
                "You have denied the permission request to use your camera"
            ],
            "screens/WalletOnboarding": [
                "No wallets"
            ],
            "screens/WalletNavigator": [
                "Wallets",
                "Create Mnemonic Phrase",
                "Verify Mnemonic Phrase",
                "Restore Mnemonic Wallet"
            ],
            "screens/LoadingScreen": [
                "Loading"
            ],
            "screens/ErrorBoundary": [
                "Something went wrong",
                "The app ran into a problem and could not recover. Please restart your application."
            ],
            "screens/TransactionDetailScreen": [
                "tx.desc)",
                "tx.amount)",
                "`${tx.block}`)",
                "tx.txid"
            ],
            "screens/TransactionsScreen": [
                "desc",
                "block",
                "LOAD MORE",
                "Transactions"
            ],
            "screens/TransactionsDetailScreen": [
                "Transaction"
            ],
            "screens/CommunityScreen": [
                "Connect with the community:",
                "DeFiChain is a community-driven and open project.",
                "The DeFiChain Foundation does not provide direct support.",
                "title",
                "Community"
            ],
            "wallet/settings": [
                "key",
                "EXIT WALLET"
            ],
            "screens/SettingsNavigator": [
                "Settings"
            ],
            "screens/PoolSwapScreen": [
                "From",
                "To",
                "SWAP",
                "Enter an amount",
                "Balance: ",
                "MAX",
                "Price",
                "Estimated to receive",
                "Minimum to receive",
                "Liquidity provider fee",
                "Swapping Token"
            ],
            "app/DexScreen": [
                "section.key"
            ],
            "screens/DexScreen": [
                "SWAP",
                "Decentralized Exchange",
                "Add Liquidity",
                "Remove Liquidity"
            ],
            "screens/RemoveLiquidity": [
                "Amount of liquidity to remove",
                "Removing Liquidity"
            ],
            "screens/AddLiquidity": [
                "Price",
                "`Token ${props.type === 'primary' ? 'A' : 'B'}`",
                "Balance",
                "MAX",
                "per",
                "Share of pool",
                "Pooled "
            ],
            "components/slider": [
                "None"
            ],
            "components": [
                "All"
            ],
            "components/Button": [
                "CONTINUE"
            ],
            "screens/ConfirmAddLiq": [
                "Adding",
                "Fee",
                "Price",
                "Liquidity tokens received",
                "Share of pool",
                "Pooled"
            ],
            "screens/ConfirmLiquidity": [
                "CONFIRM",
                "Adding Liquidity"
            ],
            "screens/SendScreen": [
                "CONTINUE",
                "Sending",
                "Transaction fee",
                "SEND",
                "TO ADDRESS",
                "Enter an address",
                "Enter an amount",
                "Balance: ",
                "MAX",
                "Wallet Send"
            ],
            "screens/TokenDetailScreen": [
                "AMOUNT BALANCE",
                "AVAILABLE OPTIONS",
                "Send to other wallet",
                "Receive",
                "Convert"
            ],
            "screens/ReceiveScreen": [
                "Use this address to receive DFI or any DST",
                "Copy",
                "Wallet Receive"
            ],
            "screens/ConvertScreen": [
                "PREVIEW CONVERSION",
                "\"Tokens vs UTXO",
                "Converting DFI",
                "Convert DFIs",
                "Scan recipient QR"
            ],
            "screens/Convert": [
                "titlePrefix",
                "Balance"
            ],
            "components/max": [
                "MAX"
            ],
            "screens/BalancesScreen": [
                "BALANCE DETAILS",
                "props.title",
                "Wallet Balances"
            ]
        },
        "totalCount": 96
    },
    "zh-Hant": {
        "missingCount": 95,
        "labels": {
            "screens/OceanInterface": [
                "Transaction Sent",
                "title",
                "An error has occurred",
                "OK"
            ],
            "components/BarCodeScanner": [
                "Requesting for camera permission",
                "You have denied the permission request to use your camera"
            ],
            "screens/WalletOnboarding": [
                "No wallets"
            ],
            "screens/WalletNavigator": [
                "Wallets",
                "Create Mnemonic Phrase",
                "Verify Mnemonic Phrase",
                "Restore Mnemonic Wallet"
            ],
            "screens/LoadingScreen": [
                "Loading"
            ],
            "screens/ErrorBoundary": [
                "Something went wrong",
                "The app ran into a problem and could not recover. Please restart your application."
            ],
            "screens/TransactionDetailScreen": [
                "tx.desc)",
                "tx.amount)",
                "`${tx.block}`)",
                "tx.txid"
            ],
            "screens/TransactionsScreen": [
                "desc",
                "block",
                "LOAD MORE"
            ],
            "screens/TransactionsDetailScreen": [
                "Transaction"
            ],
            "screens/CommunityScreen": [
                "Connect with the community:",
                "DeFiChain is a community-driven and open project.",
                "The DeFiChain Foundation does not provide direct support.",
                "title",
                "Community"
            ],
            "wallet/settings": [
                "key",
                "EXIT WALLET"
            ],
            "screens/SettingsNavigator": [
                "Settings"
            ],
            "screens/PoolSwapScreen": [
                "From",
                "To",
                "SWAP",
                "Enter an amount",
                "Balance: ",
                "MAX",
                "Price",
                "Estimated to receive",
                "Minimum to receive",
                "Liquidity provider fee",
                "Swapping Token"
            ],
            "app/DexScreen": [
                "section.key"
            ],
            "screens/DexScreen": [
                "SWAP",
                "Decentralized Exchange",
                "Add Liquidity",
                "Remove Liquidity"
            ],
            "screens/RemoveLiquidity": [
                "Amount of liquidity to remove",
                "Removing Liquidity"
            ],
            "screens/AddLiquidity": [
                "Price",
                "`Token ${props.type === 'primary' ? 'A' : 'B'}`",
                "Balance",
                "MAX",
                "per",
                "Share of pool",
                "Pooled "
            ],
            "components/slider": [
                "None"
            ],
            "components": [
                "All"
            ],
            "components/Button": [
                "CONTINUE"
            ],
            "screens/ConfirmAddLiq": [
                "Adding",
                "Fee",
                "Price",
                "Liquidity tokens received",
                "Share of pool",
                "Pooled"
            ],
            "screens/ConfirmLiquidity": [
                "CONFIRM",
                "Adding Liquidity"
            ],
            "screens/SendScreen": [
                "CONTINUE",
                "Sending",
                "Transaction fee",
                "SEND",
                "TO ADDRESS",
                "Enter an address",
                "Enter an amount",
                "Balance: ",
                "MAX",
                "Wallet Send"
            ],
            "screens/TokenDetailScreen": [
                "AMOUNT BALANCE",
                "AVAILABLE OPTIONS",
                "Send to other wallet",
                "Receive",
                "Convert"
            ],
            "screens/ReceiveScreen": [
                "Use this address to receive DFI or any DST",
                "Copy",
                "Wallet Receive"
            ],
            "screens/ConvertScreen": [
                "PREVIEW CONVERSION",
                "\"Tokens vs UTXO",
                "Converting DFI",
                "Convert DFIs",
                "Scan recipient QR"
            ],
            "screens/Convert": [
                "titlePrefix",
                "Balance"
            ],
            "components/max": [
                "MAX"
            ],
            "screens/BalancesScreen": [
                "BALANCE DETAILS",
                "props.title",
                "Wallet Balances"
            ]
        },
        "totalCount": 96
    },
    "de": {
        "missingCount": 95,
        "labels": {
            "screens/OceanInterface": [
                "Transaction Sent",
                "title",
                "An error has occurred",
                "OK"
            ],
            "components/BarCodeScanner": [
                "Requesting for camera permission",
                "You have denied the permission request to use your camera"
            ],
            "screens/WalletOnboarding": [
                "No wallets"
            ],
            "screens/WalletNavigator": [
                "Wallets",
                "Create Mnemonic Phrase",
                "Verify Mnemonic Phrase",
                "Restore Mnemonic Wallet"
            ],
            "screens/LoadingScreen": [
                "Loading"
            ],
            "screens/ErrorBoundary": [
                "Something went wrong",
                "The app ran into a problem and could not recover. Please restart your application."
            ],
            "screens/TransactionDetailScreen": [
                "tx.desc)",
                "tx.amount)",
                "`${tx.block}`)",
                "tx.txid"
            ],
            "screens/TransactionsScreen": [
                "desc",
                "block",
                "LOAD MORE"
            ],
            "screens/TransactionsDetailScreen": [
                "Transaction"
            ],
            "screens/CommunityScreen": [
                "Connect with the community:",
                "DeFiChain is a community-driven and open project.",
                "The DeFiChain Foundation does not provide direct support.",
                "title",
                "Community"
            ],
            "wallet/settings": [
                "key",
                "EXIT WALLET"
            ],
            "screens/SettingsNavigator": [
                "Settings"
            ],
            "screens/PoolSwapScreen": [
                "From",
                "To",
                "SWAP",
                "Enter an amount",
                "Balance: ",
                "MAX",
                "Price",
                "Estimated to receive",
                "Minimum to receive",
                "Liquidity provider fee",
                "Swapping Token"
            ],
            "app/DexScreen": [
                "section.key"
            ],
            "screens/DexScreen": [
                "SWAP",
                "Decentralized Exchange",
                "Add Liquidity",
                "Remove Liquidity"
            ],
            "screens/RemoveLiquidity": [
                "Amount of liquidity to remove",
                "Removing Liquidity"
            ],
            "screens/AddLiquidity": [
                "Price",
                "`Token ${props.type === 'primary' ? 'A' : 'B'}`",
                "Balance",
                "MAX",
                "per",
                "Share of pool",
                "Pooled "
            ],
            "components/slider": [
                "None"
            ],
            "components": [
                "All"
            ],
            "components/Button": [
                "CONTINUE"
            ],
            "screens/ConfirmAddLiq": [
                "Adding",
                "Fee",
                "Price",
                "Liquidity tokens received",
                "Share of pool",
                "Pooled"
            ],
            "screens/ConfirmLiquidity": [
                "CONFIRM",
                "Adding Liquidity"
            ],
            "screens/SendScreen": [
                "CONTINUE",
                "Sending",
                "Transaction fee",
                "SEND",
                "TO ADDRESS",
                "Enter an address",
                "Enter an amount",
                "Balance: ",
                "MAX",
                "Wallet Send"
            ],
            "screens/TokenDetailScreen": [
                "AMOUNT BALANCE",
                "AVAILABLE OPTIONS",
                "Send to other wallet",
                "Receive",
                "Convert"
            ],
            "screens/ReceiveScreen": [
                "Use this address to receive DFI or any DST",
                "Copy",
                "Wallet Receive"
            ],
            "screens/ConvertScreen": [
                "PREVIEW CONVERSION",
                "\"Tokens vs UTXO",
                "Converting DFI",
                "Convert DFIs",
                "Scan recipient QR"
            ],
            "screens/Convert": [
                "titlePrefix",
                "Balance"
            ],
            "components/max": [
                "MAX"
            ],
            "screens/BalancesScreen": [
                "BALANCE DETAILS",
                "props.title",
                "Wallet Balances"
            ]
        },
        "totalCount": 96
    }
}

@netlify
Copy link

netlify bot commented Jul 23, 2021

✔️ Deploy Preview for defi-wallet ready!

🔨 Explore the source changes: 536da19

🔍 Inspect the deploy log: https://app.netlify.com/sites/defi-wallet/deploys/60fa80e5ffc7e30007a082e6

😎 Browse the preview: https://deploy-preview-332--defi-wallet.netlify.app

@defichain-bot
Copy link
Contributor

defichain-bot commented Jul 23, 2021

Build preview for DeFi Wallet is ready!

Built with commit 4a1141d

https://expo.io/@defichain/wallet?release-channel=pr-preview-332

@cypress
Copy link

cypress bot commented Jul 23, 2021



Test summary

34 0 3 0


Run details

Project wallet
Status Passed
Commit 4a1141d ℹ️
Started Jul 23, 2021 8:45 AM
Ended Jul 23, 2021 8:51 AM
Duration 06:04 💡
OS Linux Ubuntu - 20.04
Browser Chrome 91

View run in Cypress Dashboard ➡️


This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard

@codecov
Copy link

codecov bot commented Jul 23, 2021

Codecov Report

Merging #332 (536da19) into main (dfcdbb2) will increase coverage by 0.30%.
The diff coverage is 87.50%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #332      +/-   ##
==========================================
+ Coverage   78.87%   79.18%   +0.30%     
==========================================
  Files          87       87              
  Lines        1321     1321              
  Branches      191      191              
==========================================
+ Hits         1042     1046       +4     
+ Misses        278      274       -4     
  Partials        1        1              
Impacted Files Coverage Δ
...pNavigator/screens/Balances/screens/SendScreen.tsx 0.00% <0.00%> (ø)
...etNavigator/screens/WalletMnemonicCreateVerify.tsx 0.00% <0.00%> (ø)
.../WalletNavigator/screens/WalletMnemonicRestore.tsx 0.00% <0.00%> (ø)
...reens/WalletNavigator/screens/WalletOnboarding.tsx 63.63% <0.00%> (-3.04%) ⬇️
app/api/wallet/provider/mnemonic_unprotected.ts 90.00% <90.00%> (ø)
app/api/wallet/network.ts 100.00% <100.00%> (+44.44%) ⬆️
app/api/wallet/persistence.ts 100.00% <100.00%> (ø)
app/api/wallet/provider/index.ts 100.00% <100.00%> (ø)
app/contexts/WalletContext.tsx 100.00% <100.00%> (ø)
app/contexts/WalletManagementContext.tsx 100.00% <100.00%> (ø)
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dfcdbb2...536da19. Read the comment docs.

@fuxingloh fuxingloh marked this pull request as ready for review July 23, 2021 08:58
@fuxingloh fuxingloh enabled auto-merge (squash) July 23, 2021 09:10
@fuxingloh fuxingloh disabled auto-merge July 23, 2021 10:16
@fuxingloh fuxingloh merged commit 32f0790 into main Jul 23, 2021
@fuxingloh fuxingloh deleted the fuxingloh/wallet-api-refactor branch July 23, 2021 10:16
fuxingloh added a commit that referenced this pull request Jul 23, 2021
* moved all network code into network.ts

* updated persistence.ts

* refactor provider

* Fixed screen with wallet reference

* added missing snapshot
fuxingloh added a commit that referenced this pull request Jul 23, 2021
* Bump defichain dependencies

* Bump defichain dependencies

* Small `app/api/wallet` refactoring (#332)

* moved all network code into network.ts

* updated persistence.ts

* refactor provider

* Fixed screen with wallet reference

* added missing snapshot

* Bump whale:0.5.11

* fixed totalLiquidity reference

Co-authored-by: Fuxing Loh <[email protected]>
Co-authored-by: Fuxing Loh <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants