@shieldedtech/moth-tui 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -0
- package/dist/app.d.ts +7 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +474 -0
- package/dist/app.js.map +1 -0
- package/dist/components/BackHint.d.ts +5 -0
- package/dist/components/BackHint.d.ts.map +1 -0
- package/dist/components/BackHint.js +6 -0
- package/dist/components/BackHint.js.map +1 -0
- package/dist/components/BalanceTable.d.ts +9 -0
- package/dist/components/BalanceTable.d.ts.map +1 -0
- package/dist/components/BalanceTable.js +8 -0
- package/dist/components/BalanceTable.js.map +1 -0
- package/dist/components/ConfirmationModal.d.ts +8 -0
- package/dist/components/ConfirmationModal.d.ts.map +1 -0
- package/dist/components/ConfirmationModal.js +33 -0
- package/dist/components/ConfirmationModal.js.map +1 -0
- package/dist/components/HelpFooter.d.ts +16 -0
- package/dist/components/HelpFooter.d.ts.map +1 -0
- package/dist/components/HelpFooter.js +7 -0
- package/dist/components/HelpFooter.js.map +1 -0
- package/dist/components/Loader.d.ts +5 -0
- package/dist/components/Loader.d.ts.map +1 -0
- package/dist/components/Loader.js +7 -0
- package/dist/components/Loader.js.map +1 -0
- package/dist/components/SectionHeader.d.ts +19 -0
- package/dist/components/SectionHeader.d.ts.map +1 -0
- package/dist/components/SectionHeader.js +11 -0
- package/dist/components/SectionHeader.js.map +1 -0
- package/dist/components/Select.d.ts +35 -0
- package/dist/components/Select.d.ts.map +1 -0
- package/dist/components/Select.js +49 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/TxStatus.d.ts +8 -0
- package/dist/components/TxStatus.d.ts.map +1 -0
- package/dist/components/TxStatus.js +22 -0
- package/dist/components/TxStatus.js.map +1 -0
- package/dist/hooks/useBalance.d.ts +19 -0
- package/dist/hooks/useBalance.d.ts.map +1 -0
- package/dist/hooks/useBalance.js +119 -0
- package/dist/hooks/useBalance.js.map +1 -0
- package/dist/hooks/useChainStatus.d.ts +13 -0
- package/dist/hooks/useChainStatus.d.ts.map +1 -0
- package/dist/hooks/useChainStatus.js +97 -0
- package/dist/hooks/useChainStatus.js.map +1 -0
- package/dist/hooks/useDaemonHost.d.ts +30 -0
- package/dist/hooks/useDaemonHost.d.ts.map +1 -0
- package/dist/hooks/useDaemonHost.js +122 -0
- package/dist/hooks/useDaemonHost.js.map +1 -0
- package/dist/hooks/useLogs.d.ts +11 -0
- package/dist/hooks/useLogs.d.ts.map +1 -0
- package/dist/hooks/useLogs.js +44 -0
- package/dist/hooks/useLogs.js.map +1 -0
- package/dist/hooks/useNetwork.d.ts +14 -0
- package/dist/hooks/useNetwork.d.ts.map +1 -0
- package/dist/hooks/useNetwork.js +100 -0
- package/dist/hooks/useNetwork.js.map +1 -0
- package/dist/hooks/useWallet.d.ts +29 -0
- package/dist/hooks/useWallet.d.ts.map +1 -0
- package/dist/hooks/useWallet.js +135 -0
- package/dist/hooks/useWallet.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/navigation/index.d.ts +3 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/index.js +2 -0
- package/dist/navigation/index.js.map +1 -0
- package/dist/navigation/types.d.ts +84 -0
- package/dist/navigation/types.d.ts.map +1 -0
- package/dist/navigation/types.js +3 -0
- package/dist/navigation/types.js.map +1 -0
- package/dist/navigation/useStackNavigator.d.ts +3 -0
- package/dist/navigation/useStackNavigator.d.ts.map +1 -0
- package/dist/navigation/useStackNavigator.js +20 -0
- package/dist/navigation/useStackNavigator.js.map +1 -0
- package/dist/persistent-log.d.ts +5 -0
- package/dist/persistent-log.d.ts.map +1 -0
- package/dist/persistent-log.js +55 -0
- package/dist/persistent-log.js.map +1 -0
- package/dist/screens/contract.d.ts +8 -0
- package/dist/screens/contract.d.ts.map +1 -0
- package/dist/screens/contract.js +104 -0
- package/dist/screens/contract.js.map +1 -0
- package/dist/screens/dashboard/DashboardHub.d.ts +35 -0
- package/dist/screens/dashboard/DashboardHub.d.ts.map +1 -0
- package/dist/screens/dashboard/DashboardHub.js +67 -0
- package/dist/screens/dashboard/DashboardHub.js.map +1 -0
- package/dist/screens/dashboard/StateView.d.ts +24 -0
- package/dist/screens/dashboard/StateView.d.ts.map +1 -0
- package/dist/screens/dashboard/StateView.js +79 -0
- package/dist/screens/dashboard/StateView.js.map +1 -0
- package/dist/screens/dashboard/index.d.ts +3 -0
- package/dist/screens/dashboard/index.d.ts.map +1 -0
- package/dist/screens/dashboard/index.js +3 -0
- package/dist/screens/dashboard/index.js.map +1 -0
- package/dist/screens/deploy.d.ts +8 -0
- package/dist/screens/deploy.d.ts.map +1 -0
- package/dist/screens/deploy.js +125 -0
- package/dist/screens/deploy.js.map +1 -0
- package/dist/screens/dust.d.ts +21 -0
- package/dist/screens/dust.d.ts.map +1 -0
- package/dist/screens/dust.js +289 -0
- package/dist/screens/dust.js.map +1 -0
- package/dist/screens/keys.d.ts +21 -0
- package/dist/screens/keys.d.ts.map +1 -0
- package/dist/screens/keys.js +126 -0
- package/dist/screens/keys.js.map +1 -0
- package/dist/screens/logs.d.ts +10 -0
- package/dist/screens/logs.d.ts.map +1 -0
- package/dist/screens/logs.js +62 -0
- package/dist/screens/logs.js.map +1 -0
- package/dist/screens/mint.d.ts +13 -0
- package/dist/screens/mint.d.ts.map +1 -0
- package/dist/screens/mint.js +151 -0
- package/dist/screens/mint.js.map +1 -0
- package/dist/screens/network.d.ts +12 -0
- package/dist/screens/network.d.ts.map +1 -0
- package/dist/screens/network.js +117 -0
- package/dist/screens/network.js.map +1 -0
- package/dist/screens/onboarding/InitializingScreen.d.ts +10 -0
- package/dist/screens/onboarding/InitializingScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/InitializingScreen.js +7 -0
- package/dist/screens/onboarding/InitializingScreen.js.map +1 -0
- package/dist/screens/onboarding/MnemonicDisplayScreen.d.ts +9 -0
- package/dist/screens/onboarding/MnemonicDisplayScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/MnemonicDisplayScreen.js +23 -0
- package/dist/screens/onboarding/MnemonicDisplayScreen.js.map +1 -0
- package/dist/screens/onboarding/NameScreen.d.ts +9 -0
- package/dist/screens/onboarding/NameScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/NameScreen.js +32 -0
- package/dist/screens/onboarding/NameScreen.js.map +1 -0
- package/dist/screens/onboarding/NetworkSelectScreen.d.ts +9 -0
- package/dist/screens/onboarding/NetworkSelectScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/NetworkSelectScreen.js +20 -0
- package/dist/screens/onboarding/NetworkSelectScreen.js.map +1 -0
- package/dist/screens/onboarding/OnboardingHost.d.ts +15 -0
- package/dist/screens/onboarding/OnboardingHost.d.ts.map +1 -0
- package/dist/screens/onboarding/OnboardingHost.js +42 -0
- package/dist/screens/onboarding/OnboardingHost.js.map +1 -0
- package/dist/screens/onboarding/PassphraseScreen.d.ts +9 -0
- package/dist/screens/onboarding/PassphraseScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/PassphraseScreen.js +46 -0
- package/dist/screens/onboarding/PassphraseScreen.js.map +1 -0
- package/dist/screens/onboarding/SeedEntryScreen.d.ts +9 -0
- package/dist/screens/onboarding/SeedEntryScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/SeedEntryScreen.js +49 -0
- package/dist/screens/onboarding/SeedEntryScreen.js.map +1 -0
- package/dist/screens/onboarding/SeedSourceScreen.d.ts +9 -0
- package/dist/screens/onboarding/SeedSourceScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/SeedSourceScreen.js +22 -0
- package/dist/screens/onboarding/SeedSourceScreen.js.map +1 -0
- package/dist/screens/onboarding/UnlockScreen.d.ts +9 -0
- package/dist/screens/onboarding/UnlockScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/UnlockScreen.js +29 -0
- package/dist/screens/onboarding/UnlockScreen.js.map +1 -0
- package/dist/screens/onboarding/WalletSelectScreen.d.ts +9 -0
- package/dist/screens/onboarding/WalletSelectScreen.d.ts.map +1 -0
- package/dist/screens/onboarding/WalletSelectScreen.js +30 -0
- package/dist/screens/onboarding/WalletSelectScreen.js.map +1 -0
- package/dist/screens/onboarding/index.d.ts +2 -0
- package/dist/screens/onboarding/index.d.ts.map +1 -0
- package/dist/screens/onboarding/index.js +2 -0
- package/dist/screens/onboarding/index.js.map +1 -0
- package/dist/screens/send.d.ts +12 -0
- package/dist/screens/send.d.ts.map +1 -0
- package/dist/screens/send.js +187 -0
- package/dist/screens/send.js.map +1 -0
- package/dist/settings.d.ts +16 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +23 -0
- package/dist/settings.js.map +1 -0
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/balance.d.ts +48 -0
- package/dist/utils/balance.d.ts.map +1 -0
- package/dist/utils/balance.js +61 -0
- package/dist/utils/balance.js.map +1 -0
- package/dist/utils/display.d.ts +3 -0
- package/dist/utils/display.d.ts.map +1 -0
- package/dist/utils/display.js +17 -0
- package/dist/utils/display.js.map +1 -0
- package/dist/utils/sync.d.ts +7 -0
- package/dist/utils/sync.d.ts.map +1 -0
- package/dist/utils/sync.js +11 -0
- package/dist/utils/sync.js.map +1 -0
- package/dist/utils/synced-wallet-stub.d.ts +3 -0
- package/dist/utils/synced-wallet-stub.d.ts.map +1 -0
- package/dist/utils/synced-wallet-stub.js +35 -0
- package/dist/utils/synced-wallet-stub.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/screens/keys.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { LogEntry } from '../types.js';
|
|
3
|
+
interface LogsProps {
|
|
4
|
+
entries: LogEntry[];
|
|
5
|
+
onClear: () => void;
|
|
6
|
+
onBack: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function Logs({ entries, onClear, onBack }: LogsProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/screens/logs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5C,UAAU,SAAS;IACjB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAWD,wBAAgB,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,qBAyD3D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import { getLogPath } from '../persistent-log.js';
|
|
5
|
+
import { SectionHeader } from '../components/SectionHeader.js';
|
|
6
|
+
import { HelpFooter } from '../components/HelpFooter.js';
|
|
7
|
+
const LEVEL_COLORS = {
|
|
8
|
+
info: 'blue',
|
|
9
|
+
warn: 'yellow',
|
|
10
|
+
error: 'red',
|
|
11
|
+
debug: 'gray',
|
|
12
|
+
};
|
|
13
|
+
const PAGE_SIZE = 30;
|
|
14
|
+
export function Logs({ entries, onClear, onBack }) {
|
|
15
|
+
const [offset, setOffset] = useState(Math.max(0, entries.length - PAGE_SIZE));
|
|
16
|
+
useInput((_input, key) => {
|
|
17
|
+
if (key.escape) {
|
|
18
|
+
onBack();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (_input === 'c') {
|
|
22
|
+
onClear();
|
|
23
|
+
setOffset(0);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (key.upArrow || _input === 'k') {
|
|
27
|
+
setOffset(o => Math.max(0, o - 1));
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (key.downArrow || _input === 'j') {
|
|
31
|
+
setOffset(o => Math.min(Math.max(0, entries.length - PAGE_SIZE), o + 1));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (key.pageUp) {
|
|
35
|
+
setOffset(o => Math.max(0, o - PAGE_SIZE));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (key.pageDown) {
|
|
39
|
+
setOffset(o => Math.min(Math.max(0, entries.length - PAGE_SIZE), o + PAGE_SIZE));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (_input === 'g') {
|
|
43
|
+
setOffset(0);
|
|
44
|
+
return;
|
|
45
|
+
} // top
|
|
46
|
+
if (_input === 'G') {
|
|
47
|
+
setOffset(Math.max(0, entries.length - PAGE_SIZE));
|
|
48
|
+
return;
|
|
49
|
+
} // bottom
|
|
50
|
+
});
|
|
51
|
+
const visible = entries.slice(offset, offset + PAGE_SIZE);
|
|
52
|
+
const atTop = offset === 0;
|
|
53
|
+
const atBottom = offset >= entries.length - PAGE_SIZE;
|
|
54
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { children: [_jsx(SectionHeader, { title: "Logs" }), _jsxs(Text, { dimColor: true, children: [" (", entries.length, " total, ", offset + 1, "\u2013", Math.min(offset + PAGE_SIZE, entries.length), ")"] }), _jsxs(Text, { dimColor: true, children: [" ", getLogPath()] })] }), _jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [!atTop && _jsxs(Text, { dimColor: true, children: ["\u2191 more (", offset, " above)"] }), _jsx(Box, { marginTop: atTop ? 1 : 0, flexDirection: "column", children: visible.length === 0 ? (_jsx(Text, { dimColor: true, children: "No log entries." })) : (visible.map((entry, i) => (_jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: [entry.timestamp.slice(11, 19), " "] }), _jsx(Text, { color: LEVEL_COLORS[entry.level], children: entry.level.toUpperCase().padEnd(5) }), _jsxs(Text, { children: [" ", entry.message] })] }, offset + i)))) }), !atBottom && _jsxs(Text, { dimColor: true, children: ["\u2193 more (", entries.length - offset - PAGE_SIZE, " below)"] }), _jsx(HelpFooter, { hints: [
|
|
55
|
+
{ key: '↑/↓', label: 'scroll' },
|
|
56
|
+
{ key: 'PgUp/PgDn', label: 'page' },
|
|
57
|
+
{ key: 'g/G', label: 'top/bottom' },
|
|
58
|
+
{ key: 'c', label: 'clear' },
|
|
59
|
+
{ key: 'ESC', label: 'back' },
|
|
60
|
+
] })] })] }));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/screens/logs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface MintProps {
|
|
3
|
+
onMint: (contractAddress: string, amount: string, shielded: boolean, recipient: string) => Promise<void>;
|
|
4
|
+
onDeployFT?: () => Promise<string>;
|
|
5
|
+
/** Active wallet's own shielded address — the default mint recipient in shielded mode. */
|
|
6
|
+
defaultShieldedRecipient?: string;
|
|
7
|
+
/** Active wallet's own unshielded address — the default mint recipient in unshielded mode. */
|
|
8
|
+
defaultUnshieldedRecipient?: string;
|
|
9
|
+
onBack: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function Mint({ onMint, onDeployFT, defaultShieldedRecipient, defaultUnshieldedRecipient, onBack }: MintProps): React.JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=mint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mint.d.ts","sourceRoot":"","sources":["../../src/screens/mint.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,UAAU,SAAS;IACjB,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,0FAA0F;IAC1F,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,8FAA8F;IAC9F,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAMD,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,SAAS,qBAwMnH"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Mint screen — shielded/unshielded selection, auto-deploy FT contract.
|
|
3
|
+
// Layout inspired by mn-tui. See NOTICE for attribution.
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { Box, Text, useInput } from 'ink';
|
|
6
|
+
import TextInput from 'ink-text-input';
|
|
7
|
+
import { TxStatus } from '../components/TxStatus.js';
|
|
8
|
+
import { SectionHeader } from '../components/SectionHeader.js';
|
|
9
|
+
import { HelpFooter } from '../components/HelpFooter.js';
|
|
10
|
+
const ROWS = ['type', 'recipient', 'contract', 'amount', 'mint'];
|
|
11
|
+
export function Mint({ onMint, onDeployFT, defaultShieldedRecipient, defaultUnshieldedRecipient, onBack }) {
|
|
12
|
+
const [highlighted, setHighlighted] = useState(0);
|
|
13
|
+
const [editField, setEditField] = useState(null);
|
|
14
|
+
const [editValue, setEditValue] = useState('');
|
|
15
|
+
const [mintType, setMintType] = useState('shielded');
|
|
16
|
+
const [contractAddress, setContractAddress] = useState('');
|
|
17
|
+
const [amount, setAmount] = useState('');
|
|
18
|
+
const [recipient, setRecipient] = useState('');
|
|
19
|
+
// When the recipient field is left blank, mint to the active wallet's own
|
|
20
|
+
// address for the selected token type.
|
|
21
|
+
const effectiveRecipient = recipient.trim()
|
|
22
|
+
|| (mintType === 'shielded' ? (defaultShieldedRecipient ?? '') : (defaultUnshieldedRecipient ?? ''));
|
|
23
|
+
const [progress, setProgress] = useState({ status: 'idle', message: '' });
|
|
24
|
+
const [error, setError] = useState('');
|
|
25
|
+
const busy = progress.status === 'building' || progress.status === 'proving' || progress.status === 'submitting';
|
|
26
|
+
useInput((input, key) => {
|
|
27
|
+
if (key.escape) {
|
|
28
|
+
if (editField) {
|
|
29
|
+
setEditField(null);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (busy)
|
|
33
|
+
return;
|
|
34
|
+
onBack();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (editField || busy)
|
|
38
|
+
return;
|
|
39
|
+
if (key.upArrow) {
|
|
40
|
+
setHighlighted(i => (i <= 0 ? ROWS.length - 1 : i - 1));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (key.downArrow) {
|
|
44
|
+
setHighlighted(i => (i >= ROWS.length - 1 ? 0 : i + 1));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (key.return) {
|
|
48
|
+
const row = ROWS[highlighted];
|
|
49
|
+
setError('');
|
|
50
|
+
if (row === 'type') {
|
|
51
|
+
setMintType(t => t === 'shielded' ? 'unshielded' : 'shielded');
|
|
52
|
+
}
|
|
53
|
+
else if (row === 'recipient') {
|
|
54
|
+
setEditValue(recipient);
|
|
55
|
+
setEditField('recipient');
|
|
56
|
+
}
|
|
57
|
+
else if (row === 'contract') {
|
|
58
|
+
setEditValue(contractAddress);
|
|
59
|
+
setEditField('contract');
|
|
60
|
+
}
|
|
61
|
+
else if (row === 'amount') {
|
|
62
|
+
setEditValue(amount);
|
|
63
|
+
setEditField('amount');
|
|
64
|
+
}
|
|
65
|
+
else if (row === 'mint') {
|
|
66
|
+
doMint();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const saveEdit = () => {
|
|
71
|
+
if (editField === 'contract')
|
|
72
|
+
setContractAddress(editValue.trim());
|
|
73
|
+
else if (editField === 'amount')
|
|
74
|
+
setAmount(editValue.trim());
|
|
75
|
+
else if (editField === 'recipient')
|
|
76
|
+
setRecipient(editValue.trim());
|
|
77
|
+
setEditField(null);
|
|
78
|
+
};
|
|
79
|
+
const doMint = async () => {
|
|
80
|
+
if (!amount) {
|
|
81
|
+
setError('Amount is required');
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const finalRecipient = effectiveRecipient;
|
|
85
|
+
if (!finalRecipient) {
|
|
86
|
+
setError('Recipient is required');
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
let addr = contractAddress;
|
|
90
|
+
if (!addr) {
|
|
91
|
+
if (!onDeployFT) {
|
|
92
|
+
setError('Contract address is required');
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
setProgress({ status: 'building', message: 'Deploying fungible token contract...' });
|
|
96
|
+
try {
|
|
97
|
+
addr = await onDeployFT();
|
|
98
|
+
setContractAddress(addr);
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
setProgress({ status: 'error', message: String(err) });
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
setProgress({ status: 'proving', message: `Minting ${amount} tokens (${mintType})...` });
|
|
106
|
+
try {
|
|
107
|
+
await onMint(addr, amount, mintType === 'shielded', finalRecipient);
|
|
108
|
+
setProgress({ status: 'done', message: 'Minting complete' });
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
setProgress({ status: 'error', message: String(err) });
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const hints = () => {
|
|
115
|
+
if (editField) {
|
|
116
|
+
return [
|
|
117
|
+
{ key: 'Enter', label: 'save' },
|
|
118
|
+
{ key: 'ESC', label: 'cancel' },
|
|
119
|
+
];
|
|
120
|
+
}
|
|
121
|
+
if (busy)
|
|
122
|
+
return [];
|
|
123
|
+
const out = [{ key: '↑/↓', label: 'select' }];
|
|
124
|
+
const row = ROWS[highlighted];
|
|
125
|
+
if (row === 'type')
|
|
126
|
+
out.push({ key: 'Enter', label: 'toggle' });
|
|
127
|
+
else if (row === 'recipient' || row === 'contract' || row === 'amount')
|
|
128
|
+
out.push({ key: 'Enter', label: 'edit' });
|
|
129
|
+
else if (row === 'mint')
|
|
130
|
+
out.push({ key: 'Enter', label: 'mint' });
|
|
131
|
+
out.push({ key: 'ESC', label: 'back' });
|
|
132
|
+
return out;
|
|
133
|
+
};
|
|
134
|
+
const labelWidth = 10;
|
|
135
|
+
const renderRow = (row, content) => {
|
|
136
|
+
const idx = ROWS.indexOf(row);
|
|
137
|
+
const isHi = idx === highlighted;
|
|
138
|
+
const label = row === 'mint' ? '' : row.charAt(0).toUpperCase() + row.slice(1);
|
|
139
|
+
return (_jsxs(Box, { children: [_jsxs(Text, { color: isHi ? 'cyan' : undefined, bold: isHi, children: [isHi ? '› ' : ' ', label.padEnd(labelWidth)] }), content] }));
|
|
140
|
+
};
|
|
141
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(SectionHeader, { title: "Mint Tokens" }), _jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsxs(Box, { flexDirection: "column", children: [renderRow('type', _jsxs(Box, { children: [_jsx(Text, { color: mintType === 'shielded' ? 'cyan' : undefined, bold: mintType === 'shielded', children: "Shielded" }), _jsx(Text, { dimColor: true, children: " \u00B7 " }), _jsx(Text, { color: mintType === 'unshielded' ? 'cyan' : undefined, bold: mintType === 'unshielded', children: "Unshielded" })] })), editField === 'recipient' ? (_jsxs(Box, { children: [_jsxs(Text, { bold: true, color: "cyan", children: ['› ', 'Recipient'.padEnd(labelWidth)] }), _jsx(TextInput, { value: editValue, onChange: setEditValue, onSubmit: saveEdit, placeholder: mintType === 'shielded' ? 'mn_shield-addr… (blank = your wallet)' : 'mn_addr… (blank = your wallet)' })] })) : (renderRow('recipient', recipient
|
|
142
|
+
? _jsx(Text, { dimColor: true, children: recipient })
|
|
143
|
+
: (effectiveRecipient
|
|
144
|
+
? _jsxs(Text, { dimColor: true, children: [effectiveRecipient, " ", _jsx(Text, { italic: true, children: "(self)" })] })
|
|
145
|
+
: _jsx(Text, { dimColor: true, italic: true, children: "(required)" })))), editField === 'contract' ? (_jsxs(Box, { children: [_jsxs(Text, { bold: true, color: "cyan", children: ['› ', 'Contract'.padEnd(labelWidth)] }), _jsx(TextInput, { value: editValue, onChange: setEditValue, onSubmit: saveEdit, placeholder: "0x... or leave blank to auto-deploy" })] })) : (renderRow('contract', contractAddress
|
|
146
|
+
? _jsx(Text, { dimColor: true, children: contractAddress })
|
|
147
|
+
: _jsx(Text, { dimColor: true, italic: true, children: onDeployFT ? '(auto-deploy on mint)' : '(required)' }))), editField === 'amount' ? (_jsxs(Box, { children: [_jsxs(Text, { bold: true, color: "cyan", children: ['› ', 'Amount'.padEnd(labelWidth)] }), _jsx(TextInput, { value: editValue, onChange: setEditValue, onSubmit: saveEdit, placeholder: "1000" })] })) : (renderRow('amount', amount
|
|
148
|
+
? _jsx(Text, { children: amount })
|
|
149
|
+
: _jsx(Text, { dimColor: true, italic: true, children: "(required)" }))), renderRow('mint', _jsx(Text, { color: highlighted === ROWS.indexOf('mint') ? 'cyan' : 'green', bold: true, children: "[ Mint ]" }))] }), progress.status !== 'idle' && (_jsx(Box, { marginTop: 1, children: _jsx(TxStatus, { progress: progress }) })), error && _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "red", children: error }) }), _jsx(HelpFooter, { hints: hints() })] })] }));
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=mint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mint.js","sourceRoot":"","sources":["../../src/screens/mint.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { NetworkState } from '../types.js';
|
|
3
|
+
import type { NetworkOverrides } from '../settings.js';
|
|
4
|
+
interface NetworkProps {
|
|
5
|
+
network: NetworkState;
|
|
6
|
+
onSwitch: (networkId: string) => void;
|
|
7
|
+
onSaveOverrides: (networkId: string, overrides: NetworkOverrides) => void;
|
|
8
|
+
onBack: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function Network({ network, onSwitch, onSaveOverrides, onBack }: NetworkProps): React.JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/screens/network.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,UAAU,YAAY;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1E,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAeD,wBAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,YAAY,qBA+JnF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import TextInput from 'ink-text-input';
|
|
5
|
+
import { DEFAULT_NETWORKS, serverProver } from '@shieldedtech/moth-wallet';
|
|
6
|
+
import { SectionHeader } from '../components/SectionHeader.js';
|
|
7
|
+
import { HelpFooter } from '../components/HelpFooter.js';
|
|
8
|
+
const NETWORKS = Object.keys(DEFAULT_NETWORKS);
|
|
9
|
+
const ENDPOINT_ROWS = [
|
|
10
|
+
{ field: 'nodeUrl', label: 'Node' },
|
|
11
|
+
{ field: 'indexerUrl', label: 'Indexer' },
|
|
12
|
+
];
|
|
13
|
+
export function Network({ network, onSwitch, onSaveOverrides, onBack }) {
|
|
14
|
+
const networkCount = NETWORKS.length;
|
|
15
|
+
const settingRows = [
|
|
16
|
+
...ENDPOINT_ROWS.map((row) => ({ kind: 'url', ...row })),
|
|
17
|
+
{ kind: 'prover', label: 'Proving' },
|
|
18
|
+
...(network.proverType === 'server'
|
|
19
|
+
? [{ kind: 'url', field: 'proofServerUrl', label: 'Proof URL' }]
|
|
20
|
+
: []),
|
|
21
|
+
];
|
|
22
|
+
const itemCount = networkCount + settingRows.length;
|
|
23
|
+
const [highlighted, setHighlighted] = useState(() => {
|
|
24
|
+
const active = NETWORKS.indexOf(network.id);
|
|
25
|
+
return active >= 0 ? active : 0;
|
|
26
|
+
});
|
|
27
|
+
const [editField, setEditField] = useState(null);
|
|
28
|
+
const [editValue, setEditValue] = useState('');
|
|
29
|
+
const [message, setMessage] = useState('');
|
|
30
|
+
const isNetworkRow = highlighted < networkCount;
|
|
31
|
+
const settingRow = isNetworkRow ? null : settingRows[highlighted - networkCount] ?? null;
|
|
32
|
+
useInput((input, key) => {
|
|
33
|
+
if (key.escape) {
|
|
34
|
+
if (editField) {
|
|
35
|
+
setEditField(null);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
onBack();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (editField)
|
|
42
|
+
return; // text input handles its own keys
|
|
43
|
+
if (key.upArrow) {
|
|
44
|
+
setHighlighted(i => (i <= 0 ? itemCount - 1 : i - 1));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (key.downArrow) {
|
|
48
|
+
setHighlighted(i => (i >= itemCount - 1 ? 0 : i + 1));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (key.return) {
|
|
52
|
+
if (isNetworkRow) {
|
|
53
|
+
const target = NETWORKS[highlighted];
|
|
54
|
+
if (target !== network.id) {
|
|
55
|
+
onSwitch(target);
|
|
56
|
+
setMessage(`Switched to ${target}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else if (settingRow?.kind === 'prover') {
|
|
60
|
+
const proverType = network.proverType === 'server' ? 'wasm' : 'server';
|
|
61
|
+
onSaveOverrides(network.id, { prover: proverType === 'wasm' ? { type: 'wasm' } : serverProver(network.proofServerUrl) });
|
|
62
|
+
setMessage(`Proving set to ${proverType === 'wasm' ? 'local WASM' : 'proof server'}`);
|
|
63
|
+
}
|
|
64
|
+
else if (settingRow?.kind === 'url') {
|
|
65
|
+
setEditValue(network[settingRow.field]);
|
|
66
|
+
setEditField(settingRow.field);
|
|
67
|
+
setMessage('');
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
const saveEdit = () => {
|
|
73
|
+
if (!editField)
|
|
74
|
+
return;
|
|
75
|
+
const overrides = editField === 'proofServerUrl'
|
|
76
|
+
? { prover: serverProver(editValue) }
|
|
77
|
+
: { [editField]: editValue };
|
|
78
|
+
onSaveOverrides(network.id, overrides);
|
|
79
|
+
setMessage(`Saved ${editField}`);
|
|
80
|
+
setEditField(null);
|
|
81
|
+
};
|
|
82
|
+
const hints = () => {
|
|
83
|
+
if (editField) {
|
|
84
|
+
return [
|
|
85
|
+
{ key: 'Enter', label: 'save' },
|
|
86
|
+
{ key: 'ESC', label: 'cancel' },
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
const out = [{ key: '↑/↓', label: 'select' }];
|
|
90
|
+
if (isNetworkRow) {
|
|
91
|
+
const target = NETWORKS[highlighted];
|
|
92
|
+
if (target !== network.id)
|
|
93
|
+
out.push({ key: 'Enter', label: 'switch' });
|
|
94
|
+
}
|
|
95
|
+
else if (settingRow?.kind === 'prover') {
|
|
96
|
+
out.push({ key: 'Enter', label: 'toggle' });
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
out.push({ key: 'Enter', label: 'edit' });
|
|
100
|
+
}
|
|
101
|
+
out.push({ key: 'ESC', label: 'back' });
|
|
102
|
+
return out;
|
|
103
|
+
};
|
|
104
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(SectionHeader, { title: "Network Configuration" }), _jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsxs(Box, { children: [_jsx(Text, { children: "Status: " }), _jsx(Text, { color: network.connected ? 'green' : 'red', children: network.connected ? `Connected (block ${network.blockHeight})` : 'Disconnected' })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Networks" }), NETWORKS.map((id, i) => {
|
|
105
|
+
const isHi = i === highlighted;
|
|
106
|
+
const isActive = id === network.id;
|
|
107
|
+
return (_jsx(Box, { children: _jsxs(Text, { color: isHi ? 'cyan' : (isActive ? 'cyan' : undefined), bold: isHi, children: [isHi ? '› ' : ' ', id, isActive ? ' ← active' : ''] }) }, id));
|
|
108
|
+
})] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { bold: true, children: ["Endpoints (", network.id, ")"] }), settingRows.map((row, i) => {
|
|
109
|
+
const idx = networkCount + i;
|
|
110
|
+
const isHi = idx === highlighted;
|
|
111
|
+
const editing = row.kind === 'url' && editField === row.field;
|
|
112
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: isHi ? 'cyan' : undefined, bold: isHi, children: [isHi ? '› ' : ' ', row.label.padEnd(9)] }), !editing && (_jsx(Text, { dimColor: true, children: row.kind === 'prover'
|
|
113
|
+
? (network.proverType === 'wasm' ? 'WASM (local)' : 'Proof server')
|
|
114
|
+
: network[row.field] }))] }), editing && row.kind === 'url' && (_jsx(Box, { paddingLeft: 11, children: _jsx(TextInput, { value: editValue, onChange: setEditValue, onSubmit: saveEdit, placeholder: "https://..." }) }))] }, row.kind === 'url' ? row.field : row.kind));
|
|
115
|
+
})] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "The selected proving method is used for wallet and dApp transactions." }), _jsx(Text, { dimColor: true, children: "WASM runs locally and is recommended for simple transactions, such as token transfers." }), _jsx(Text, { dimColor: true, children: "Complex transactions, such as contract calls, require a proof server." })] }), message && _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "green", children: message }) }), _jsx(HelpFooter, { hints: hints() })] })] }));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/screens/network.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Navigator, Route } from '../../navigation/index.js';
|
|
3
|
+
interface Props {
|
|
4
|
+
route: Route<'onboarding-initializing'>;
|
|
5
|
+
nav: Navigator;
|
|
6
|
+
error?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function OnboardingInitializingScreen({ error }: Props): React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=InitializingScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitializingScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/onboarding/InitializingScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElE,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxC,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,qBAW5D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { Loader } from '../../components/Loader.js';
|
|
4
|
+
export function OnboardingInitializingScreen({ error }) {
|
|
5
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Loader, { text: "Creating wallet\u2026" }), error && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["\u2717 ", error] }) }))] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=InitializingScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitializingScreen.js","sourceRoot":"","sources":["../../../src/screens/onboarding/InitializingScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AASpD,MAAM,UAAU,4BAA4B,CAAC,EAAE,KAAK,EAAS;IAC3D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACpC,KAAC,MAAM,IAAC,IAAI,EAAC,uBAAkB,GAAG,EACjC,KAAK,IAAI,CACR,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAI,KAAK,IAAQ,GAC9B,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Navigator, Route } from '../../navigation/index.js';
|
|
3
|
+
interface Props {
|
|
4
|
+
route: Route<'onboarding-mnemonic-display'>;
|
|
5
|
+
nav: Navigator;
|
|
6
|
+
}
|
|
7
|
+
export declare function MnemonicDisplayScreen({ route, nav }: Props): React.JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=MnemonicDisplayScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MnemonicDisplayScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/onboarding/MnemonicDisplayScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElE,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC5C,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,qBAmD1D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
export function MnemonicDisplayScreen({ route, nav }) {
|
|
5
|
+
const { partial } = route.params;
|
|
6
|
+
const mnemonic = partial.generatedMnemonic ?? '';
|
|
7
|
+
const words = mnemonic.split(/\s+/).filter(Boolean);
|
|
8
|
+
const [confirmed, setConfirmed] = useState(false);
|
|
9
|
+
useInput((input, key) => {
|
|
10
|
+
if (!confirmed && (input === 'y' || input === 'Y')) {
|
|
11
|
+
setConfirmed(true);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (confirmed && key.return) {
|
|
15
|
+
nav.reset('dashboard', undefined);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Text, { bold: true, color: "yellow", children: "\u26A0 Recovery mnemonic \u2014 write this down NOW" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "This is the only time these words will be shown. Anyone with this mnemonic can spend your funds. Store it offline, never digitally." }) }), _jsx(Box, { marginTop: 1, flexDirection: "column", borderStyle: "single", borderColor: "yellow", paddingX: 1, paddingY: 0, children: [0, 1, 2, 3].map((row) => (_jsx(Box, { children: words.slice(row * 6, row * 6 + 6).map((w, i) => {
|
|
19
|
+
const idx = row * 6 + i + 1;
|
|
20
|
+
return (_jsxs(Box, { width: 14, children: [_jsxs(Text, { dimColor: true, children: [String(idx).padStart(2, ' '), "."] }), _jsxs(Text, { children: [" ", w] })] }, idx));
|
|
21
|
+
}) }, row))) }), _jsx(Box, { marginTop: 1, children: !confirmed ? (_jsxs(Text, { children: ["Have you written these 24 words down? Press ", _jsx(Text, { color: "cyan", children: "Y" }), " to confirm."] })) : (_jsxs(Text, { children: ["Press ", _jsx(Text, { color: "cyan", children: "Enter" }), " to continue to the dashboard."] })) })] }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=MnemonicDisplayScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MnemonicDisplayScreen.js","sourceRoot":"","sources":["../../../src/screens/onboarding/MnemonicDisplayScreen.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAQ1C,MAAM,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAS;IACzD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YACnD,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACpC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,QAAQ,oEAAiD,EAC1E,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,QAAQ,0JAGP,GACH,EAEN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YACzG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACzB,KAAC,GAAG,cACD,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC9C,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC5B,OAAO,CACL,MAAC,GAAG,IAAW,KAAK,EAAE,EAAE,aACtB,MAAC,IAAI,IAAC,QAAQ,mBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,EACrD,MAAC,IAAI,oBAAG,CAAC,IAAQ,KAFT,GAAG,CAGP,CACP,CAAC;oBACJ,CAAC,CAAC,IATM,GAAG,CAUP,CACP,CAAC,GACE,EAEN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACd,CAAC,SAAS,CAAC,CAAC,CAAC,CACZ,MAAC,IAAI,+DAA6C,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,oBAAmB,CACjG,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,yBAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,sBAAa,sCAAqC,CACjF,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Navigator, Route } from '../../navigation/index.js';
|
|
3
|
+
interface Props {
|
|
4
|
+
route: Route<'onboarding-name'>;
|
|
5
|
+
nav: Navigator;
|
|
6
|
+
}
|
|
7
|
+
export declare function NameScreen({ route, nav }: Props): React.JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=NameScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NameScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/onboarding/NameScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElE,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,qBAqC/C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text } from 'ink';
|
|
4
|
+
import TextInput from 'ink-text-input';
|
|
5
|
+
import { BackHint } from '../../components/BackHint.js';
|
|
6
|
+
import { SectionHeader } from '../../components/SectionHeader.js';
|
|
7
|
+
export function NameScreen({ route, nav }) {
|
|
8
|
+
const { onComplete, partial } = route.params;
|
|
9
|
+
const [value, setValue] = useState(partial.name ?? '');
|
|
10
|
+
const [error, setError] = useState('');
|
|
11
|
+
const handleSubmit = (input) => {
|
|
12
|
+
const trimmed = input.trim();
|
|
13
|
+
if (!trimmed) {
|
|
14
|
+
setError('Name cannot be empty.');
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
18
|
+
setError('Name may only contain letters, digits, hyphen, underscore.');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const next = { ...partial, name: trimmed };
|
|
22
|
+
// Random source skips the seed-entry step.
|
|
23
|
+
if (partial.source === 'random') {
|
|
24
|
+
nav.push('onboarding-passphrase', { onComplete, partial: next });
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
nav.push('onboarding-seed', { onComplete, partial: next });
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(SectionHeader, { title: "Wallet name", hint: "Step 3 of 4 \u2014 Local label for this wallet" }), _jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsxs(Box, { children: [_jsx(Text, { children: "\u203A " }), _jsx(TextInput, { value: value, onChange: (v) => { setValue(v); setError(''); }, onSubmit: handleSubmit, placeholder: "my-wallet" })] }), error && _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["\u2717 ", error] }) }), _jsx(BackHint, {})] })] }));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=NameScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NameScreen.js","sourceRoot":"","sources":["../../../src/screens/onboarding/NameScreen.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAQlE,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAS;IAC9C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,4DAA4D,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3C,2CAA2C;QAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACpC,KAAC,aAAa,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,gDAA2C,GAAG,EACtF,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aACxC,MAAC,GAAG,eACF,KAAC,IAAI,0BAAU,EACf,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAC,WAAW,GAAG,IACxH,EACL,KAAK,IAAI,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YAAE,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAI,KAAK,IAAQ,GAAM,EACrE,KAAC,QAAQ,KAAG,IACR,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Navigator, Route } from '../../navigation/index.js';
|
|
3
|
+
interface Props {
|
|
4
|
+
route: Route<'onboarding-network'>;
|
|
5
|
+
nav: Navigator;
|
|
6
|
+
}
|
|
7
|
+
export declare function NetworkSelectScreen({ route, nav }: Props): React.JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=NetworkSelectScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkSelectScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/onboarding/NetworkSelectScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAKlE,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACnC,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,qBAqBxD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { DEFAULT_NETWORKS } from '@shieldedtech/moth-wallet';
|
|
4
|
+
import { BackHint } from '../../components/BackHint.js';
|
|
5
|
+
import { SectionHeader } from '../../components/SectionHeader.js';
|
|
6
|
+
import { Select } from '../../components/Select.js';
|
|
7
|
+
const NETWORKS = Object.keys(DEFAULT_NETWORKS);
|
|
8
|
+
const ITEMS = NETWORKS.map((id) => ({ label: id, value: id }));
|
|
9
|
+
export function NetworkSelectScreen({ route, nav }) {
|
|
10
|
+
const { onComplete, partial } = route.params;
|
|
11
|
+
const initialIndex = partial.network ? Math.max(0, NETWORKS.indexOf(partial.network)) : 0;
|
|
12
|
+
const handleSelect = (network) => {
|
|
13
|
+
nav.push('onboarding-source', {
|
|
14
|
+
onComplete,
|
|
15
|
+
partial: { ...partial, network },
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(SectionHeader, { title: "Welcome to Moth Wallet", hint: "Step 1 of 4 \u2014 Select network" }), _jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsx(Select, { items: ITEMS, onSelect: handleSelect, initialIndex: initialIndex }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "\u2191/\u2193 to move, Enter to select" }) }), _jsx(BackHint, { label: "cancel onboarding" })] })] }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=NetworkSelectScreen.js.map
|