Skip to content

Commit 980c6c5

Browse files
committed
Merge branch 'dev' of github.com:Peersyst/ckbull-mobile into feature/spore-nfts
2 parents 79541c2 + dd9f0a8 commit 980c6c5

File tree

51 files changed

+1266
-85
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1266
-85
lines changed

metro.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ config.resolver = {
1010
fs: path.resolve(__dirname, "src/polyfills/FileSystem"),
1111
path: path.resolve(__dirname, "src/polyfills/Path"),
1212
stream: require.resolve("readable-stream"),
13+
http: path.resolve(__dirname, "src/polyfills/Http"),
14+
https: path.resolve(__dirname, "src/polyfills/Https"),
15+
zlib: path.resolve(__dirname, "src/polyfills/Zlib"),
16+
util: path.resolve(__dirname, "src/polyfills/Util"),
1317
},
1418
};
1519

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,13 @@
4343
"@react-navigation/native": "^6.1.12",
4444
"@react-navigation/native-stack": "^6.9.20",
4545
"@spore-sdk/core": "^0.1.0",
46+
"bech32": "2.0.0",
4647
"big-integer": "^1.6.52",
4748
"buffer": "^6.0.3",
4849
"core-js": "^3.36.0",
4950
"cross-fetch": "^4.0.0",
5051
"crypto-browserify": "^3.12.0",
52+
"dotbit": "^0.4.29",
5153
"expo": "^49.0.0",
5254
"expo-asset": "~8.10.1",
5355
"expo-barcode-scanner": "~12.5.3",
@@ -129,6 +131,7 @@
129131
"react-native-pager-view": "6.2.2",
130132
"react-native-svg": "13.9.0",
131133
"react-native-gesture-handler": "2.12.0",
132-
"react-native-reanimated": "~3.3.0"
134+
"react-native-reanimated": "~3.3.0",
135+
"bech32": "2.0.0"
133136
}
134137
}

src/config/config.base.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"projectName": "ckbull",
3-
"minimumTransactionAmount": 61,
3+
"minimumTransactionAmount": 85,
44
"minimumDaoDeposit": 102,
55
"mainnetExplorerLink": "https://explorer.nervos.org/",
66
"testnetExplorerLink": "https://pudge.explorer.nervos.org/",

src/config/config.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import prodConfig from "./config.prod.json";
44
import devConfig from "./config.dev.json";
55
import stagingConfig from "./config.staging.json";
66
import baseConfig from "./config.base.json";
7-
import { CkbAddressValidator } from "config/validators/CkbAddressValidator";
87
import { ChevronDownIcon, ToTheRightIcon } from "icons";
98
import darkTheme from "config/theme/darkTheme";
109
import Button from "module/common/component/input/Button/Button";
1110
import { MinAmountValidator } from "./validators/MinAmountValidator";
1211
import { MinAmountFromDecimalsValidator } from "./validators/MinAmountFromDecimalsValidator";
1312
import { MaxAmountValidator } from "./validators/MaxAmountValidator";
13+
import { CkbAddressValidator } from "./validators/CkbAddressValidator";
1414

1515
export const envConfigs: Record<string, CreateConfig> = {
1616
test: { ...baseConfig, ...devConfig },

src/locale/locales/el/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,5 +225,6 @@
225225
"purchase": "Αγορά",
226226
"edit": "Επεξεργασία",
227227
"purchaseCompleted": "Η αγορά ολοκληρώθηκε!",
228-
"orderCompletedText": "Θυμηθείτε ότι θα χρειαστούν λίγα λεπτά για να αντικατοπτρίσει ο λογαριασμός σας το νέο ποσό."
228+
"orderCompletedText": "Θυμηθείτε ότι θα χρειαστούν λίγα λεπτά για να αντικατοπτρίσει ο λογαριασμός σας το νέο ποσό.",
229+
"selectAddressOfDomain": "{{count}} διευθύνσεις CKB εντοπίστηκαν κάτω από τη διεύθυνση {{domain}}:"
229230
}

src/locale/locales/el/errors.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@
2929
"no_tokens": "Δεν υπάρχουν token",
3030
"no_deposits": "Δεν υπάρχουν καταθέσεις",
3131
"no_withdrawals": "Δεν υπάρχουν αναλήψεις",
32-
"sign_in_request_already_signed": "Sign In request already signed",
33-
"transaction_request_already_signed": "Transaction request already signed",
34-
"transaction_request_already_declined": "Transaction request already declined",
35-
"invalid_transaction": "Invalid transaction"
32+
"sign_in_request_already_signed": "Το αίτημα σύνδεσης έχει ήδη υπογραφεί",
33+
"transaction_request_already_signed": "Το αίτημα συναλλαγής έχει ήδη υπογραφεί",
34+
"transaction_request_already_declined": "Το αίτημα συναλλαγής έχει ήδη απορριφθεί",
35+
"invalid_transaction": "Μη έγκυρη συναλλαγή",
36+
"invalid_domain": "Μη έγκυρο domain"
3637
}

src/locale/locales/en/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,5 +225,6 @@
225225
"purchase": "Purchase",
226226
"edit": "Edit",
227227
"purchaseCompleted": "Purchase completed!",
228-
"orderCompletedText": "Remember that it will take a few minutes for your account balance to reflect the new amount."
228+
"orderCompletedText": "Remember that it will take a few minutes for your account balance to reflect the new amount.",
229+
"selectAddressOfDomain": "{{count}} CKB addresses detected under {{domain}} address:"
229230
}

src/locale/locales/en/errors.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,6 @@
3232
"sign_in_request_already_signed": "Sign In request already signed",
3333
"transaction_request_already_signed": "Transaction request already signed",
3434
"transaction_request_already_declined": "Transaction request already declined",
35-
"invalid_transaction": "Invalid transaction"
35+
"invalid_transaction": "Invalid transaction",
36+
"invalid_domain": "Invalid domain"
3637
}

src/locale/locales/es/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,5 +225,6 @@
225225
"purchase": "Comprar",
226226
"edit": "Editar",
227227
"purchaseCompleted": "Compra completada!",
228-
"orderCompletedText": "Recuerda que tomará unos minutos para que el saldo de tu cuenta refleje tu nuevo balance."
228+
"orderCompletedText": "Recuerda que tomará unos minutos para que el saldo de tu cuenta refleje tu nuevo balance.",
229+
"selectAddressOfDomain": "{{count}} direcciones CKB detectadas bajo la dirección {{domain}}:"
229230
}

src/locale/locales/es/errors.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,6 @@
3232
"sign_in_request_already_signed": "Petición de inicio de sesión ya firmada",
3333
"transaction_request_already_signed": "Petición de transacción ya firmada",
3434
"transaction_request_already_declined": "Petición de transacción ya rechazada",
35-
"invalid_transaction": "Transacción inválida"
35+
"invalid_transaction": "Transacción inválida",
36+
"invalid_domain": "Dominio inválido"
3637
}

src/locale/locales/fr/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,5 +225,6 @@
225225
"purchase": "Achat",
226226
"edit": "Modifier",
227227
"purchaseCompleted": "Achat terminé!",
228-
"orderCompletedText": "Rappelez-vous qu'il faudra quelques minutes pour que le solde de votre compte reflète le nouveau montant."
228+
"orderCompletedText": "Rappelez-vous qu'il faudra quelques minutes pour que le solde de votre compte reflète le nouveau montant.",
229+
"selectAddressOfDomain": "{{count}} adresses CKB détectées sous l'adresse {{domain}}:"
229230
}

src/locale/locales/fr/errors.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@
2929
"no_tokens": "Il n'y a pas encore de jetons",
3030
"no_deposits": "Sans dépôts",
3131
"no_withdrawals": "Sans retraits",
32-
"sign_in_request_already_signed": "Sign In request already signed",
33-
"transaction_request_already_signed": "Transaction request already signed",
34-
"transaction_request_already_declined": "Transaction request already declined",
35-
"invalid_transaction": "Invalid transaction"
32+
"sign_in_request_already_signed": "Demande de connexion déjà signée",
33+
"transaction_request_already_signed": "Demande de transaction déjà signée",
34+
"transaction_request_already_declined": "Demande de transaction déjà refusée",
35+
"invalid_transaction": "Transaction invalide",
36+
"invalid_domain": "Domaine invalide"
3637
}

src/locale/locales/pt/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,5 +225,6 @@
225225
"purchase": "Compra",
226226
"edit": "Editar",
227227
"purchaseCompleted": "Compra concluída!",
228-
"orderCompletedText": "Lembre-se de que levará alguns minutos para que o saldo da sua conta reflita o novo valor."
228+
"orderCompletedText": "Lembre-se de que levará alguns minutos para que o saldo da sua conta reflita o novo valor.",
229+
"selectAddressOfDomain": "{{count}} endereços CKB detectados sob o endereço {{domain}}:"
229230
}

src/locale/locales/pt/errors.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@
2929
"no_tokens": "Não há tokens ainda",
3030
"no_deposits": "Sem depósitos",
3131
"no_withdrawals": "Sem retiradas",
32-
"sign_in_request_already_signed": "Sign In request already signed",
33-
"transaction_request_already_signed": "Transaction request already signed",
34-
"transaction_request_already_declined": "Transaction request already declined",
35-
"invalid_transaction": "Invalid transaction"
32+
"sign_in_request_already_signed": "Pedido de entrada já assinado",
33+
"transaction_request_already_signed": "Pedido de transação já assinado",
34+
"transaction_request_already_declined": "Pedido de transação já recusado",
35+
"invalid_transaction": "Transação inválida",
36+
"invalid_domain": "Dominio inválido"
3637
}

src/locale/locales/zh/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,5 +225,6 @@
225225
"purchase": "购买",
226226
"edit": "编辑",
227227
"purchaseCompleted": "购买完成!",
228-
"orderCompletedText": "请记住,您的账户余额将需要几分钟才能反映出新的金额。"
228+
"orderCompletedText": "请记住,您的账户余额将需要几分钟才能反映出新的金额。",
229+
"selectAddressOfDomain": "在{{domain}}地址下检测到{{count}}个CKB地址:"
229230
}

src/locale/locales/zh/errors.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,6 @@
3232
"sign_in_request_already_signed": "登录请求已签署",
3333
"transaction_request_already_signed": "交易请求已签署",
3434
"transaction_request_already_declined": "交易请求已被拒绝",
35-
"invalid_transaction": "无效交易"
35+
"invalid_transaction": "无效交易",
36+
"invalid_domain": "无效域名"
3637
}

src/module/common/component/display/Chip/Chip.styles.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ export const ChipRoot = styled(View)<ChipRootProps>(({ theme, variant, fullWidth
2020
borderColor: "transparent",
2121
backgroundColor: theme.palette.mode === "dark" ? theme.palette.gray[900] : theme.palette.gray[700],
2222
}),
23+
...(variant === "tertiary" && {
24+
borderColor: theme.palette.primary,
25+
color: theme.palette.primary,
26+
backgroundColor: "transparent",
27+
}),
2328
}));
2429

2530
export const ChipText = styled(Text)<ChipTextProps>(({ theme, variant }) => ({

src/module/common/component/display/Chip/Chip.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
import { ChipProps } from "./Chip.types";
1+
import { ChipProps as BaseChipProps } from "./Chip.types";
22
import { ChipRoot, ChipText } from "./Chip.styles";
33
import { TouchableWithoutFeedback } from "react-native";
4-
import { useMemo } from "react";
4+
import React, { useMemo } from "react";
55
import { extractTextStyles } from "utils/extractTextStyles";
66

7+
export interface ChipProps extends Omit<BaseChipProps, "label"> {
8+
label: React.ReactNode;
9+
}
10+
711
const Chip = ({ label, variant = "secondary", style, fullWidth, onPress }: ChipProps): JSX.Element => {
812
const [textStyles, rootStyles] = useMemo(() => extractTextStyles({ ...style }), [style]);
913
return (

src/module/common/component/display/Chip/Chip.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ViewStyle, TextStyle } from "react-native";
22

33
export type ChipStyle = ViewStyle & TextStyle;
44

5-
export type ChipVariant = "filled" | "secondary" | "primary";
5+
export type ChipVariant = "filled" | "secondary" | "primary" | "tertiary";
66

77
export interface ChipProps {
88
onPress?: () => unknown;

src/module/common/hook/useAddressValidator.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@ import useSelectedNetwork from "module/settings/hook/useSelectedNetwork";
44

55
export default function useAddressValidator(): (value: string) => boolean {
66
const network = useSelectedNetwork();
7-
87
return new CkbAddressValidator("", () => "", network === "mainnet" ? Environments.Mainnet : Environments.Testnet).validate;
98
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import Queries from "../../../query/queries";
2+
import { UseQueryOptions, UseQueryResult, useQuery } from "react-query";
3+
import { ConnectionService } from "ckb-peersyst-sdk";
4+
import { BitAccountRecordAddress } from "dotbit/lib/fetchers/BitIndexer.type";
5+
6+
export type useGetAddressFromDomainReturn = UseQueryResult<BitAccountRecordAddress[], unknown>;
7+
8+
const useGetAddressFromDomain = (
9+
domain: string | undefined,
10+
{
11+
enabled = true,
12+
...restOptions
13+
}: Omit<UseQueryOptions<BitAccountRecordAddress[], unknown, BitAccountRecordAddress[], (string | undefined)[]>, "cacheTime"> = {},
14+
): useGetAddressFromDomainReturn => {
15+
return useQuery(
16+
[Queries.GET_ADDRESS_FROM_DOMAIN, domain],
17+
async () => {
18+
try {
19+
return await ConnectionService.getAddressFromDomain(domain!);
20+
} catch (error) {
21+
return [];
22+
}
23+
},
24+
{ enabled: !!domain && enabled, cacheTime: 0, ...restOptions },
25+
);
26+
};
27+
28+
export default useGetAddressFromDomain;

src/module/sdk/constants/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const CKB_SYMBOL = "ckb";

0 commit comments

Comments
 (0)