@sodax/wallet-sdk-react 1.3.1-beta-rc3 → 1.3.1-beta
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/dist/index.cjs +12 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.mjs +12 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/xchains/bitcoin/XverseXConnector.ts +19 -3
- package/src/xchains/bitcoin/index.ts +1 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { ChainId, ChainType, XToken, IBitcoinWalletProvider, IEvmWalletProvider, ISuiWalletProvider, IIconWalletProvider, IInjectiveWalletProvider, IStellarWalletProvider, ISolanaWalletProvider, INearWalletProvider, RpcConfig } from '@sodax/types';
|
|
1
|
+
import { ChainId, ChainType, XToken, IBitcoinWalletProvider, BtcWalletAddressType, IEvmWalletProvider, ISuiWalletProvider, IIconWalletProvider, IInjectiveWalletProvider, IStellarWalletProvider, ISolanaWalletProvider, INearWalletProvider, RpcConfig } from '@sodax/types';
|
|
2
|
+
export { BtcWalletAddressType } from '@sodax/types';
|
|
3
|
+
import { AddressPurpose } from 'sats-connect';
|
|
2
4
|
import { Config, Connector } from 'wagmi';
|
|
3
5
|
import { IconService } from 'icon-sdk-js';
|
|
4
6
|
import { IndexerGrpcAccountPortfolioApi, ChainGrpcWasmApi } from '@injectivelabs/sdk-ts';
|
|
@@ -186,7 +188,11 @@ declare class UnisatXConnector extends BitcoinXConnector {
|
|
|
186
188
|
|
|
187
189
|
declare class XverseXConnector extends BitcoinXConnector {
|
|
188
190
|
private walletProvider;
|
|
191
|
+
/** Address purpose used when connecting. Taproot (Ordinals) by default to match Radfi. */
|
|
192
|
+
addressPurpose: AddressPurpose;
|
|
189
193
|
constructor();
|
|
194
|
+
/** Set address purpose and persist to localStorage. */
|
|
195
|
+
setAddressPurpose(type: BtcWalletAddressType): void;
|
|
190
196
|
static isAvailable(): boolean;
|
|
191
197
|
get icon(): string;
|
|
192
198
|
connect(): Promise<XAccount | undefined>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { ChainId, ChainType, XToken, IBitcoinWalletProvider, IEvmWalletProvider, ISuiWalletProvider, IIconWalletProvider, IInjectiveWalletProvider, IStellarWalletProvider, ISolanaWalletProvider, INearWalletProvider, RpcConfig } from '@sodax/types';
|
|
1
|
+
import { ChainId, ChainType, XToken, IBitcoinWalletProvider, BtcWalletAddressType, IEvmWalletProvider, ISuiWalletProvider, IIconWalletProvider, IInjectiveWalletProvider, IStellarWalletProvider, ISolanaWalletProvider, INearWalletProvider, RpcConfig } from '@sodax/types';
|
|
2
|
+
export { BtcWalletAddressType } from '@sodax/types';
|
|
3
|
+
import { AddressPurpose } from 'sats-connect';
|
|
2
4
|
import { Config, Connector } from 'wagmi';
|
|
3
5
|
import { IconService } from 'icon-sdk-js';
|
|
4
6
|
import { IndexerGrpcAccountPortfolioApi, ChainGrpcWasmApi } from '@injectivelabs/sdk-ts';
|
|
@@ -186,7 +188,11 @@ declare class UnisatXConnector extends BitcoinXConnector {
|
|
|
186
188
|
|
|
187
189
|
declare class XverseXConnector extends BitcoinXConnector {
|
|
188
190
|
private walletProvider;
|
|
191
|
+
/** Address purpose used when connecting. Taproot (Ordinals) by default to match Radfi. */
|
|
192
|
+
addressPurpose: AddressPurpose;
|
|
189
193
|
constructor();
|
|
194
|
+
/** Set address purpose and persist to localStorage. */
|
|
195
|
+
setAddressPurpose(type: BtcWalletAddressType): void;
|
|
190
196
|
static isAvailable(): boolean;
|
|
191
197
|
get icon(): string;
|
|
192
198
|
connect(): Promise<XAccount | undefined>;
|
package/dist/index.mjs
CHANGED
|
@@ -388,9 +388,19 @@ var XverseWalletProvider = class {
|
|
|
388
388
|
return response.result.txid;
|
|
389
389
|
}
|
|
390
390
|
};
|
|
391
|
+
var XVERSE_ADDRESS_TYPE_KEY = "xverse-address-type";
|
|
391
392
|
var XverseXConnector = class _XverseXConnector extends BitcoinXConnector {
|
|
392
393
|
constructor() {
|
|
393
394
|
super("Xverse", "xverse");
|
|
395
|
+
const saved = typeof window !== "undefined" ? localStorage.getItem(XVERSE_ADDRESS_TYPE_KEY) : null;
|
|
396
|
+
this.addressPurpose = saved === "segwit" ? AddressPurpose.Payment : AddressPurpose.Ordinals;
|
|
397
|
+
}
|
|
398
|
+
/** Set address purpose and persist to localStorage. */
|
|
399
|
+
setAddressPurpose(type) {
|
|
400
|
+
this.addressPurpose = type === "taproot" ? AddressPurpose.Ordinals : AddressPurpose.Payment;
|
|
401
|
+
if (typeof window !== "undefined") {
|
|
402
|
+
localStorage.setItem(XVERSE_ADDRESS_TYPE_KEY, type);
|
|
403
|
+
}
|
|
394
404
|
}
|
|
395
405
|
static isAvailable() {
|
|
396
406
|
return typeof window !== "undefined" && !!window.BitcoinProvider;
|
|
@@ -404,14 +414,14 @@ var XverseXConnector = class _XverseXConnector extends BitcoinXConnector {
|
|
|
404
414
|
}
|
|
405
415
|
const { request: request2 } = await import('sats-connect');
|
|
406
416
|
const response = await request2("getAccounts", {
|
|
407
|
-
purposes: [
|
|
417
|
+
purposes: [this.addressPurpose],
|
|
408
418
|
message: "Connect to Sodax"
|
|
409
419
|
});
|
|
410
420
|
if (response.status === "error") {
|
|
411
421
|
throw new Error(response.error?.message || "Xverse connection failed");
|
|
412
422
|
}
|
|
413
423
|
const accounts = response.result;
|
|
414
|
-
const paymentAccount = accounts.find((a) => a.purpose ===
|
|
424
|
+
const paymentAccount = accounts.find((a) => a.purpose === this.addressPurpose) || accounts[0];
|
|
415
425
|
if (!paymentAccount) return void 0;
|
|
416
426
|
this.walletProvider = new XverseWalletProvider(
|
|
417
427
|
paymentAccount.address,
|