Skip to content

Commit

Permalink
Merge pull request #211 from secretkeylabs/chore/replace-sats-connect…
Browse files Browse the repository at this point in the history
…-with-core

chore/replace-sats-connect-with-core & Support `runes_getBalance`
  • Loading branch information
m-aboelenein committed May 22, 2024
2 parents f9e01c8 + 44d6451 commit a8298a1
Show file tree
Hide file tree
Showing 50 changed files with 374 additions and 190 deletions.
377 changes: 260 additions & 117 deletions package-lock.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@
"@phosphor-icons/react": "^2.0.10",
"@playwright/test": "^1.43.1",
"@react-spring/web": "^9.6.1",
"@sats-connect/core": "0.0.9",
"@scure/btc-signer": "1.2.1",
"@secretkeylabs/xverse-core": "13.7.0",
"@secretkeylabs/xverse-core": "13.7.1",
"@stacks/connect": "7.4.1",
"@stacks/stacks-blockchain-api-types": "6.1.1",
"@stacks/transactions": "6.13.1",
Expand All @@ -38,7 +39,7 @@
"@testing-library/user-event": "^13.5.0",
"alex-sdk": "0.1.26",
"argon2-browser": "^1.18.0",
"axios": "^1.1.3",
"axios": "1.7.0",
"bignumber.js": "^9.1.0",
"bip39": "^3.0.3",
"buffer": "6.0.3",
Expand Down Expand Up @@ -79,7 +80,6 @@
"redux": "^4.0.5",
"redux-persist": "^6.0.0",
"redux-state-sync": "^3.1.4",
"sats-connect": "2.1.0",
"stream-browserify": "^3.0.0",
"string-to-color": "^2.2.2",
"styled-components": "^5.3.5",
Expand Down
2 changes: 1 addition & 1 deletion src/app/hooks/useSignBatchPsbtTx.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { MESSAGE_SOURCE, SatsConnectMethods } from '@common/types/message-types';
import useWalletSelector from '@hooks/useWalletSelector';
import { SignMultiplePsbtPayload, SignMultipleTransactionOptions } from '@sats-connect/core';
import { InputToSign, signPsbt } from '@secretkeylabs/xverse-core';
import { decodeToken } from 'jsontokens';
import { useMemo } from 'react';
import { useLocation } from 'react-router-dom';
import { SignMultiplePsbtPayload, SignMultipleTransactionOptions } from 'sats-connect';
import useSeedVault from './useSeedVault';

const useSignBatchPsbtTx = () => {
Expand Down
2 changes: 1 addition & 1 deletion src/app/hooks/useStxAccountRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import {
sendUserRejectionMessage,
} from '@common/utils/rpc/stx/rpcResponseMessages';
import useWalletSelector from '@hooks/useWalletSelector';
import { GetAddressOptions } from '@sats-connect/core';
import { bip32, bip39, bs58 } from '@secretkeylabs/xverse-core';
import { GAIA_HUB_URL } from '@secretkeylabs/xverse-core/constant';
import { decodeToken } from 'jsontokens';
import { useCallback, useMemo } from 'react';
import { useLocation } from 'react-router-dom';
import { GetAddressOptions } from 'sats-connect';
import useSeedVault from './useSeedVault';

const useStxAccountRequest = () => {
Expand Down
2 changes: 1 addition & 1 deletion src/app/hooks/useStxAddressRequest.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { MESSAGE_SOURCE } from '@common/types/message-types';
import { sendGetAddressesSuccessResponseMessage } from '@common/utils/rpc/stx/rpcResponseMessages';
import useWalletSelector from '@hooks/useWalletSelector';
import { GetAddressOptions } from '@sats-connect/core';
import { decodeToken } from 'jsontokens';
import { useCallback, useMemo } from 'react';
import { useLocation } from 'react-router-dom';
import { GetAddressOptions } from 'sats-connect';

const useStxAddressRequest = () => {
// Params
Expand Down
1 change: 0 additions & 1 deletion src/app/hooks/useWalletReducer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import {
createWalletAccount,
decryptSeedPhraseCBC,
getBnsName,
newWallet,
restoreWalletWithAccounts,
walletFromSeedPhrase,
} from '@secretkeylabs/xverse-core';
Expand Down
10 changes: 5 additions & 5 deletions src/app/screens/btcSendScreen/useSendBtcRequest.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import {
BitcoinNetworkType,
SendBtcTransactionOptions,
SendBtcTransactionPayload,
} from '@sats-connect/core';
import { Recipient, SettingsNetwork, signBtcTransaction } from '@secretkeylabs/xverse-core';
import { useQuery } from '@tanstack/react-query';
import BigNumber from 'bignumber.js';
import { decodeToken } from 'jsontokens';
import { useMemo, useState } from 'react';
import { useLocation } from 'react-router-dom';
import {
BitcoinNetworkType,
SendBtcTransactionOptions,
SendBtcTransactionPayload,
} from 'sats-connect';
import useBtcClient from '../../hooks/useBtcClient';
import useSeedVault from '../../hooks/useSeedVault';
import useWalletSelector from '../../hooks/useWalletSelector';
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/confirmBtcTransaction/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import useBtcClient from '@hooks/useBtcClient';
import useOrdinalsByAddress from '@hooks/useOrdinalsByAddress';
import { useResetUserFlow } from '@hooks/useResetUserFlow';
import useWalletSelector from '@hooks/useWalletSelector';
import { Return, RpcErrorCode } from '@sats-connect/core';
import {
AnalyticsEvents,
BtcTransactionBroadcastResponse,
Expand All @@ -22,7 +23,6 @@ import BigNumber from 'bignumber.js';
import { useCallback, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useLocation, useNavigate } from 'react-router-dom';
import { Return, RpcErrorCode } from 'sats-connect';
import SendLayout from '../../layouts/sendLayout';

function ConfirmBtcTransaction() {
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/confirmStxTransaction/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import useStxWalletData from '@hooks/queries/useStxWalletData';
import useNetworkSelector from '@hooks/useNetwork';
import useOnOriginTabClose from '@hooks/useOnTabClosed';
import useWalletSelector from '@hooks/useWalletSelector';
import { StxRequests } from '@sats-connect/core';
import {
AnalyticsEvents,
StacksTransaction,
Expand All @@ -41,7 +42,6 @@ import BigNumber from 'bignumber.js';
import { useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useLocation, useNavigate } from 'react-router-dom';
import { StxRequests } from 'sats-connect';
import styled from 'styled-components';

const AlertContainer = styled.div((props) => ({
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/connect/addressPurposeBox.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { AddressPurpose } from '@sats-connect/core';
import { getTruncatedAddress } from '@utils/helper';
import { AddressPurpose } from 'sats-connect';
import styled from 'styled-components';

const AddressBox = styled.div((props) => ({
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/connect/authenticationRequest/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import useSeedVault from '@hooks/useSeedVault';
import useWalletSelector from '@hooks/useWalletSelector';
import Transport from '@ledgerhq/hw-transport-webusb';
import { animated, useSpring } from '@react-spring/web';
import { AddressPurpose } from '@sats-connect/core';
import SelectAccount from '@screens/connect/selectAccount';
import {
AnalyticsEvents,
Expand All @@ -27,7 +28,6 @@ import { decodeToken } from 'jsontokens';
import { useCallback, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useLocation, useNavigate } from 'react-router-dom';
import { AddressPurpose } from 'sats-connect';
import styled from 'styled-components';
import validUrl from 'valid-url';
import AddressPurposeBox from '../addressPurposeBox';
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/connect/btcSelectAddressScreen/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import stxIcon from '@assets/img/dashboard/stx_icon.svg';
import OrdinalsIcon from '@assets/img/nftDashboard/white_ordinals_icon.svg';
import useWalletSelector from '@hooks/useWalletSelector';
import { animated, useTransition } from '@react-spring/web';
import { AddressPurpose } from '@sats-connect/core';
import SelectAccount from '@screens/connect/selectAccount';
import { AnalyticsEvents, getAppIconFromWebManifest } from '@secretkeylabs/xverse-core';
import Button from '@ui-library/button';
Expand All @@ -12,7 +13,6 @@ import { trackMixPanel } from '@utils/mixpanel';
import { useCallback, useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useNavigate } from 'react-router-dom';
import { AddressPurpose } from 'sats-connect';
import AddressPurposeBox from '../addressPurposeBox';
import PermissionsList from '../permissionsList';
import {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
import { MESSAGE_SOURCE, SatsConnectMethods } from '@common/types/message-types';
import { makeRPCError, makeRpcSuccessResponse, sendRpcResponse } from '@common/utils/rpc/helpers';
import useWalletSelector from '@hooks/useWalletSelector';
import { SettingsNetwork } from '@secretkeylabs/xverse-core';
import { decodeToken } from 'jsontokens';
import { useMemo } from 'react';
import { useLocation } from 'react-router-dom';
import {
Address,
AddressPurpose,
Expand All @@ -15,7 +11,11 @@ import {
GetAddressResponse,
Return,
RpcErrorCode,
} from 'sats-connect';
} from '@sats-connect/core';
import { SettingsNetwork } from '@secretkeylabs/xverse-core';
import { decodeToken } from 'jsontokens';
import { useMemo } from 'react';
import { useLocation } from 'react-router-dom';

const useAddressRequestParams = (network: SettingsNetwork) => {
const { search } = useLocation();
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/connect/stxSelectAccountScreen/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import ActionButton from '@components/button';
import useStxAccountRequest from '@hooks/useStxAccountRequest';
import useWalletSelector from '@hooks/useWalletSelector';
import { animated, useTransition } from '@react-spring/web';
import { AddressPurpose } from '@sats-connect/core';
import SelectAccount from '@screens/connect/selectAccount';
import { getAppIconFromWebManifest } from '@secretkeylabs/xverse-core';
import { StickyHorizontalSplitButtonContainer } from '@ui-library/common.styled';
import Spinner from '@ui-library/spinner';
import { useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useNavigate } from 'react-router-dom';
import { AddressPurpose } from 'sats-connect';
import AddressPurposeBox from '../addressPurposeBox';
import {
AddressBoxContainer,
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/connect/stxSelectAddressScreen/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import ActionButton from '@components/button';
import useStxAddressRequest from '@hooks/useStxAddressRequest';
import useWalletSelector from '@hooks/useWalletSelector';
import { animated, useTransition } from '@react-spring/web';
import { AddressPurpose } from '@sats-connect/core';
import SelectAccount from '@screens/connect/selectAccount';
import { getAppIconFromWebManifest } from '@secretkeylabs/xverse-core';
import { StickyHorizontalSplitButtonContainer } from '@ui-library/common.styled';
import Spinner from '@ui-library/spinner';
import { useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useNavigate } from 'react-router-dom';
import { AddressPurpose } from 'sats-connect';
import AddressPurposeBox from '../addressPurposeBox';
import {
AddressBoxContainer,
Expand Down
6 changes: 3 additions & 3 deletions src/app/screens/createInscription/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ import { NumericFormat } from 'react-number-format';
import { useLocation } from 'react-router-dom';
import styled from 'styled-components';

import { CreateInscriptionPayload, CreateRepeatInscriptionsPayload } from '@sats-connect/core';
import {
AnalyticsEvents,
BtcFeeResponse,
InscriptionErrorCode,
UTXO,
currencySymbolMap,
fetchBtcFeeRate,
getNonOrdinalUtxo,
InscriptionErrorCode,
useInscriptionExecute,
useInscriptionFees,
UTXO,
} from '@secretkeylabs/xverse-core';
import { CreateInscriptionPayload, CreateRepeatInscriptionsPayload } from 'sats-connect';

import SettingIcon from '@assets/img/dashboard/faders_horizontal.svg';
import OrdinalsIcon from '@assets/img/nftDashboard/white_ordinals_icon.svg';
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/signBatchPsbtRequest/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import useTrackMixPanelPageViewed from '@hooks/useTrackMixPanelPageViewed';
import useTransactionContext from '@hooks/useTransactionContext';
import useWalletSelector from '@hooks/useWalletSelector';
import { ArrowLeft, ArrowRight } from '@phosphor-icons/react';
import { SignMultiplePsbtPayload } from '@sats-connect/core';
import {
AnalyticsEvents,
RuneSummary,
Expand All @@ -35,7 +36,6 @@ import BigNumber from 'bignumber.js';
import { useCallback, useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useLocation, useNavigate } from 'react-router-dom';
import { SignMultiplePsbtPayload } from 'sats-connect';
import styled from 'styled-components';

const OuterContainer = styled.div`
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/signMessageRequest/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import LedgerConnectionView from '@components/ledger/connectLedgerView';
import RequestError from '@components/requests/requestError';
import useWalletSelector from '@hooks/useWalletSelector';
import Transport from '@ledgerhq/hw-transport-webusb';
import { Return, RpcErrorCode } from '@sats-connect/core';
import CollapsableContainer from '@screens/signatureRequest/collapsableContainer';
import SignatureRequestMessage from '@screens/signatureRequest/signatureRequestMessage';
import { finalizeMessageSignature } from '@screens/signatureRequest/utils';
Expand All @@ -20,7 +21,6 @@ import { getTruncatedAddress, isHardwareAccount } from '@utils/helper';
import { handleBip322LedgerMessageSigning } from '@utils/ledger';
import { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Return, RpcErrorCode } from 'sats-connect';
import styled from 'styled-components';
import { useSignMessageRequest, useSignMessageValidation } from './useSignMessageRequest';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import useSeedVault from '@hooks/useSeedVault';
import useWalletReducer from '@hooks/useWalletReducer';
import useWalletSelector from '@hooks/useWalletSelector';
import { BitcoinNetworkType, SignMessageOptions, SignMessagePayload } from '@sats-connect/core';
import { SettingsNetwork, signBip322Message } from '@secretkeylabs/xverse-core';
import { isHardwareAccount } from '@utils/helper';
import { decodeToken } from 'jsontokens';
import { useCallback, useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useLocation } from 'react-router-dom';
import { BitcoinNetworkType, SignMessageOptions, SignMessagePayload } from 'sats-connect';

const useSignMessageRequestParams = (network: SettingsNetwork) => {
const { search } = useLocation();
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/signPsbtRequest/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import useHasFeature from '@hooks/useHasFeature';
import useTrackMixPanelPageViewed from '@hooks/useTrackMixPanelPageViewed';
import useTransactionContext from '@hooks/useTransactionContext';
import useWalletSelector from '@hooks/useWalletSelector';
import { RpcErrorCode } from '@sats-connect/core';
import {
AnalyticsEvents,
RuneSummary,
Expand All @@ -16,7 +17,6 @@ import { trackMixPanel } from '@utils/mixpanel';
import { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useNavigate } from 'react-router-dom';
import { RpcErrorCode } from 'sats-connect';
import useSignPsbt from './useSignPsbt';
import useSignPsbtValidationGate from './useSignPsbtValidationGate';

Expand Down
14 changes: 7 additions & 7 deletions src/app/screens/signPsbtRequest/useSignPsbt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@ import { MESSAGE_SOURCE, SatsConnectMethods } from '@common/types/message-types'
import { makeRPCError, makeRpcSuccessResponse, sendRpcResponse } from '@common/utils/rpc/helpers';
import useTransactionContext from '@hooks/useTransactionContext';
import useWalletSelector from '@hooks/useWalletSelector';
import {
BitcoinNetworkType,
Return,
RpcErrorCode,
SignTransactionOptions,
SignTransactionPayload,
} from '@sats-connect/core';
import {
InputToSign,
SettingsNetwork,
Expand All @@ -12,13 +19,6 @@ import {
import { decodeToken } from 'jsontokens';
import { useEffect, useMemo, useState } from 'react';
import { useLocation } from 'react-router-dom';
import {
BitcoinNetworkType,
Return,
RpcErrorCode,
SignTransactionOptions,
SignTransactionPayload,
} from 'sats-connect';
import useBtcClient from '../../hooks/useBtcClient';
import useSeedVault from '../../hooks/useSeedVault';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import useWalletSelector from '@hooks/useWalletSelector';
import { SignTransactionPayload } from '@sats-connect/core';
import { btcTransaction } from '@secretkeylabs/xverse-core';
import { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { SignTransactionPayload } from 'sats-connect';

type Props = {
payload: SignTransactionPayload | undefined;
Expand Down
2 changes: 1 addition & 1 deletion src/app/screens/signatureRequest/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ import useTrackMixPanelPageViewed from '@hooks/useTrackMixPanelPageViewed';
import useWalletReducer from '@hooks/useWalletReducer';
import useWalletSelector from '@hooks/useWalletSelector';
import Transport from '@ledgerhq/hw-transport-webusb';
import { Return } from '@sats-connect/core';
import { buf2hex, hashMessage, signStxMessage } from '@secretkeylabs/xverse-core';
import { SignaturePayload, StructuredDataSignaturePayload } from '@stacks/connect';
import { getNetworkType, getTruncatedAddress, isHardwareAccount } from '@utils/helper';
import { signatureVrsToRsv } from '@utils/ledger';
import { useCallback, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useNavigate } from 'react-router-dom';
import { Return } from 'sats-connect';
import CollapsableContainer from './collapsableContainer';
import {
ActionDisclaimer,
Expand Down
2 changes: 1 addition & 1 deletion src/app/utils/constants.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* eslint-disable prefer-destructuring */
import { Provider } from '@sats-connect/core';
import type { NetworkType } from '@secretkeylabs/xverse-core';
import { Provider } from 'sats-connect';

export const GAMMA_URL = 'https://gamma.io/';
export const TERMS_LINK = 'https://xverse.app/terms';
Expand Down
2 changes: 1 addition & 1 deletion src/background/background.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
} from '@common/utils/legacy-external-message-handler';
import internalBackgroundMessageHandler from '@common/utils/messageHandlers';
import handleRPCRequest from '@common/utils/rpc';
import { Requests } from 'sats-connect';
import { Requests } from '@sats-connect/core';

// Listen for connection to the content-script - port for two-way communication
chrome.runtime.onConnect.addListener((port) => {
Expand Down
2 changes: 1 addition & 1 deletion src/common/types/inpage-types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { RpcBase } from 'sats-connect';
import { RpcBase } from '@sats-connect/core';

/**
* Inpage Script (Stacks Provider / BitcoinProvider) <-> Content Script
Expand Down
4 changes: 2 additions & 2 deletions src/common/types/message-types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { FinishedTxPayload, SignatureData, SponsoredFinishedTxPayload } from '@stacks/connect';
import {
CreateInscriptionResponse,
CreateRepeatInscriptionsResponse,
Expand All @@ -8,7 +7,8 @@ import {
SignTransactionResponse,
type Params,
type Requests,
} from 'sats-connect';
} from '@sats-connect/core';
import { FinishedTxPayload, SignatureData, SponsoredFinishedTxPayload } from '@stacks/connect';

export const MESSAGE_SOURCE = 'xverse-wallet';

Expand Down
Loading

0 comments on commit a8298a1

Please sign in to comment.