From d66e3104fd476b0ca606cdfb2272f6839965aca7 Mon Sep 17 00:00:00 2001 From: Alex Freska Date: Wed, 20 Mar 2024 12:31:25 -0400 Subject: [PATCH] feat: walletd api changes and app updates --- .changeset/cool-buses-exercise.md | 5 + .changeset/fair-rats-return.md | 5 + .changeset/neat-pumpkins-cheat.md | 5 + apps/walletd/components/Node/index.tsx | 3 +- .../components/Wallet/WalletActionsMenu.tsx | 6 +- .../components/Wallet/WalletNavMenu.tsx | 4 +- .../WalletAddresses/AddressContextMenu.tsx | 10 +- .../WalletAddresses/AddressesActionsMenu.tsx | 6 +- apps/walletd/components/WalletContextMenu.tsx | 10 +- apps/walletd/contexts/addresses/columns.tsx | 6 +- apps/walletd/contexts/addresses/dataset.tsx | 67 ++++++ apps/walletd/contexts/addresses/index.tsx | 44 +--- apps/walletd/contexts/addresses/types.ts | 10 +- apps/walletd/contexts/events/columns.tsx | 6 +- apps/walletd/contexts/events/index.tsx | 47 ++-- apps/walletd/contexts/wallets/columns.tsx | 11 +- apps/walletd/contexts/wallets/index.tsx | 39 ++-- apps/walletd/contexts/wallets/types.ts | 26 ++- .../dialogs/AddressUpdateDialog/index.tsx | 10 +- apps/walletd/dialogs/FieldMnemonic.tsx | 2 +- .../dialogs/WalletAddLedgerDialog/index.tsx | 35 +-- .../dialogs/WalletAddNewDialog/index.tsx | 22 +- .../dialogs/WalletAddRecoverDialog/index.tsx | 22 +- .../dialogs/WalletAddWatchDialog/index.tsx | 20 +- .../dialogs/WalletAddressesAddDialog.tsx | 87 ++++++-- .../index.tsx | 19 +- .../index.tsx | 12 +- .../WalletSendLedgerDialog/useSign.tsx | 19 +- .../WalletSendSeedDialog/useSendForm.tsx | 2 +- .../useSignAndBroadcast.tsx | 35 +-- apps/walletd/dialogs/WalletUnlockDialog.tsx | 2 +- .../dialogs/WalletUpdateDialog/index.tsx | 38 ++-- .../dialogs/_sharedWalletSend/useFund.tsx | 15 +- apps/walletd/hooks/useWalletAddresses.tsx | 49 +---- apps/walletd/hooks/useWalletCachedSeed.tsx | 8 +- apps/walletd/lib/sign.ts | 12 +- apps/walletd/lib/signLedger.spec.ts | 7 +- apps/walletd/lib/signLedger.ts | 2 +- apps/walletd/lib/signSeed.spec.ts | 7 +- apps/walletd/lib/signSeed.ts | 5 +- apps/walletd/lib/testMocks.ts | 27 ++- libs/react-walletd/src/api.ts | 134 ++++++++---- libs/react-walletd/src/siaTypes.ts | 113 +++++++--- libs/types/src/core.ts | 197 +++++++++++++++++ libs/types/src/index.ts | 207 +----------------- libs/types/src/v2.ts | 97 ++++++++ 46 files changed, 912 insertions(+), 603 deletions(-) create mode 100644 .changeset/cool-buses-exercise.md create mode 100644 .changeset/fair-rats-return.md create mode 100644 .changeset/neat-pumpkins-cheat.md create mode 100644 apps/walletd/contexts/addresses/dataset.tsx create mode 100644 libs/types/src/core.ts create mode 100644 libs/types/src/v2.ts diff --git a/.changeset/cool-buses-exercise.md b/.changeset/cool-buses-exercise.md new file mode 100644 index 000000000..eb7c1fd4a --- /dev/null +++ b/.changeset/cool-buses-exercise.md @@ -0,0 +1,5 @@ +--- +'@siafoundation/types': minor +--- + +The library now includes v2 types. diff --git a/.changeset/fair-rats-return.md b/.changeset/fair-rats-return.md new file mode 100644 index 000000000..217f433ed --- /dev/null +++ b/.changeset/fair-rats-return.md @@ -0,0 +1,5 @@ +--- +'walletd': minor +--- + +The UI now uses the new daemon endpoints and changes. Closes https://github.com/SiaFoundation/walletd/issues/73 diff --git a/.changeset/neat-pumpkins-cheat.md b/.changeset/neat-pumpkins-cheat.md new file mode 100644 index 000000000..583a5cbad --- /dev/null +++ b/.changeset/neat-pumpkins-cheat.md @@ -0,0 +1,5 @@ +--- +'@siafoundation/react-walletd': minor +--- + +The React hooks have been updated for the daemon endpoint changes. Closes https://github.com/SiaFoundation/walletd/issues/73 diff --git a/apps/walletd/components/Node/index.tsx b/apps/walletd/components/Node/index.tsx index d59d09703..b57f2392c 100644 --- a/apps/walletd/components/Node/index.tsx +++ b/apps/walletd/components/Node/index.tsx @@ -28,7 +28,8 @@ export function Node() { const { openDialog } = useDialog() const transactionCount = txPool.data - ? txPool.data.transactions.length + txPool.data.v2Transactions.length + ? (txPool.data.transactions?.length || 0) + + (txPool.data.v2Transactions?.length || 0) : 0 return ( diff --git a/apps/walletd/components/Wallet/WalletActionsMenu.tsx b/apps/walletd/components/Wallet/WalletActionsMenu.tsx index 990e4becc..3181575b1 100644 --- a/apps/walletd/components/Wallet/WalletActionsMenu.tsx +++ b/apps/walletd/components/Wallet/WalletActionsMenu.tsx @@ -30,16 +30,16 @@ export function WalletActionsMenu() { isSynced={status.isSynced} /> - {wallet?.type !== 'watch' && ( + {wallet?.metadata.type !== 'watch' && ( ) diff --git a/apps/walletd/components/WalletAddresses/AddressContextMenu.tsx b/apps/walletd/components/WalletAddresses/AddressContextMenu.tsx index 05f98a166..ae6715515 100644 --- a/apps/walletd/components/WalletAddresses/AddressContextMenu.tsx +++ b/apps/walletd/components/WalletAddresses/AddressContextMenu.tsx @@ -18,7 +18,7 @@ type Props = { } & Omit, 'children'> export function AddressContextMenu({ - address: { walletId, id, index }, + address: { walletId, id, metadata }, ...props }: Props) { const { openDialog } = useDialog() @@ -31,8 +31,8 @@ export function AddressContextMenu({ onSelect={() => openDialog('confirm', { title: - index !== undefined - ? `Remove address ${index}` + metadata.index !== undefined + ? `Remove address ${metadata.index}` : 'Remove address', action: 'Remove', variant: 'red', @@ -57,8 +57,8 @@ export function AddressContextMenu({ triggerErrorToast(`Failed to delete address: ${response.error}`) } else { triggerSuccessToast( - index !== undefined - ? `Address ${index} removed.` + metadata.index !== undefined + ? `Address ${metadata.index} removed.` : 'Address removed.' ) } diff --git a/apps/walletd/components/WalletAddresses/AddressesActionsMenu.tsx b/apps/walletd/components/WalletAddresses/AddressesActionsMenu.tsx index e13f5ded5..73edb4743 100644 --- a/apps/walletd/components/WalletAddresses/AddressesActionsMenu.tsx +++ b/apps/walletd/components/WalletAddresses/AddressesActionsMenu.tsx @@ -15,15 +15,15 @@ export function AddressesActionsMenu() {