From c9e23fa3270cda59c99c0ac41dde4c044d83bb38 Mon Sep 17 00:00:00 2001 From: veralygit <57183851+veralygit@users.noreply.github.com> Date: Wed, 30 Oct 2024 17:52:12 +0800 Subject: [PATCH] feat(fractal): add fractal support (#376) * feat(fractal): add fractal support * chore: version bump ordit-sdk --- packages/ord-connect/package.json | 2 +- packages/ord-connect/src/hooks/useBalance.ts | 10 ++++++++-- packages/ord-connect/src/hooks/useSend.ts | 5 +++-- packages/ord-connect/src/hooks/useSendV2.tsx | 5 +++-- pnpm-lock.yaml | 10 +++++----- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/packages/ord-connect/package.json b/packages/ord-connect/package.json index 153c312a..bd9a8e9f 100644 --- a/packages/ord-connect/package.json +++ b/packages/ord-connect/package.json @@ -60,7 +60,7 @@ ] }, "peerDependencies": { - "@ordzaar/ordit-sdk": "^2.2.1", + "@ordzaar/ordit-sdk": "^3.0.0", "react": "^18.3.1", "react-dom": "^18.3.1" } diff --git a/packages/ord-connect/src/hooks/useBalance.ts b/packages/ord-connect/src/hooks/useBalance.ts index 452e8ce6..76d07e61 100644 --- a/packages/ord-connect/src/hooks/useBalance.ts +++ b/packages/ord-connect/src/hooks/useBalance.ts @@ -10,7 +10,7 @@ import { import { useOrdConnect } from "../providers/OrdConnectProvider"; export function useBalance() { - const { network, publicKey, format } = useOrdConnect(); + const { network, publicKey, format, chain } = useOrdConnect(); const [error, setError] = useState<string | null>(null); const [loading, setLoading] = useState<boolean>(false); @@ -21,6 +21,7 @@ export function useBalance() { if (!format || !format.payments || !publicKey || !publicKey.payments) { throw new Error("No wallet is connected"); } + const { address } = getAddressesFromPublicKey( publicKey.payments, network, @@ -28,11 +29,16 @@ export function useBalance() { AddressType, "p2wsh" >, + chain, )[0]; - const datasource = new JsonRpcDatasource({ network }); + const datasource = new JsonRpcDatasource({ + chain, + network, + }); const totalBalance = await datasource.getBalance({ address }); + const totalAmountInSats = Number( new BigNumber(totalBalance) .multipliedBy(100_000_000) diff --git a/packages/ord-connect/src/hooks/useSend.ts b/packages/ord-connect/src/hooks/useSend.ts index 3a825c1d..d6f777de 100644 --- a/packages/ord-connect/src/hooks/useSend.ts +++ b/packages/ord-connect/src/hooks/useSend.ts @@ -12,7 +12,7 @@ type SendFunction = ( ) => Promise<string | null>; export function useSend() { - const { wallet, network, address, publicKey } = useOrdConnect(); + const { wallet, network, address, publicKey, chain } = useOrdConnect(); const [error, setError] = useState<string | null>(null); const [loading, setLoading] = useState<boolean>(false); @@ -35,6 +35,7 @@ export function useSend() { address: address.payments, feeRate, network, + chain, publicKey: publicKey.payments, outputs: [ { @@ -53,7 +54,7 @@ export function useSend() { }); if (relay) { - const datasource = new JsonRpcDatasource({ network }); + const datasource = new JsonRpcDatasource({ network, chain }); const txId = await datasource.relay({ hex: signedPsbt.hex }); setLoading(false); return txId; diff --git a/packages/ord-connect/src/hooks/useSendV2.tsx b/packages/ord-connect/src/hooks/useSendV2.tsx index aaaecf5b..7adfa8c1 100644 --- a/packages/ord-connect/src/hooks/useSendV2.tsx +++ b/packages/ord-connect/src/hooks/useSendV2.tsx @@ -21,7 +21,7 @@ type SendResponse = { }; export function useSendV2() { - const { wallet, network, address, publicKey } = useOrdConnect(); + const { wallet, network, address, publicKey, chain } = useOrdConnect(); const [isLoading, setIsLoading] = useState<boolean>(false); const send: SendFunction = useCallback( @@ -49,6 +49,7 @@ export function useSendV2() { address: address.payments, feeRate, network, + chain, publicKey: publicKey.payments, outputs: [ { @@ -70,7 +71,7 @@ export function useSendV2() { }); if (relay) { - const datasource = new JsonRpcDatasource({ network }); + const datasource = new JsonRpcDatasource({ network, chain }); const txId = await datasource.relay({ hex: signedPsbt.hex }); setIsLoading(false); return { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc0de2fe..afd08d8e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: ^2.1.10 version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@ordzaar/ordit-sdk': - specifier: ^2.2.1 - version: 2.2.1(typescript@5.6.3)(valibot@0.33.2) + specifier: ^3.0.0 + version: 3.0.0(typescript@5.6.3)(valibot@0.33.2) bignumber.js: specifier: ^9.1.2 version: 9.1.2 @@ -426,8 +426,8 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@ordzaar/ordit-sdk@2.2.1': - resolution: {integrity: sha512-iAvx0pcrstrLeuxx0owKvvY+JwfWAX3jQK5WuW+XmUn4SFjcgGxZrGpVZWyfU6tGccpqOZSliUkk5WOT2eaVVw==} + '@ordzaar/ordit-sdk@3.0.0': + resolution: {integrity: sha512-jCmD7OOOEZ4s8fdN77h+MKPuMkjta5ifGypzxQtFPuNCvAfywSRIzW9X63+AuPGjkFTLovwlMMEuk1v4bAJE2A==} '@ordzaar/standard-prettier@2.1.2': resolution: {integrity: sha512-SkFST4KuvHnIfi5nsGqLCYodAm0Wv7U+6T1vQDwjuwDoL0k0sGcelve3/ZluFN9Z6NMUlw86sIenjzxZWPlu1Q==} @@ -3196,7 +3196,7 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@ordzaar/ordit-sdk@2.2.1(typescript@5.6.3)(valibot@0.33.2)': + '@ordzaar/ordit-sdk@3.0.0(typescript@5.6.3)(valibot@0.33.2)': dependencies: '@bitcoinerlab/secp256k1': 1.1.1 '@wallet-standard/core': 1.0.3