@0xsquid/react-hooks 6.4.7-beta.3 → 6.4.7-keplr-btc-beta.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/dist/core/connectors/bitcoin/errors/index.d.ts +1 -2
- package/dist/core/connectors/bitcoin/errors/index.js +1 -1
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
- package/dist/core/connectors/bitcoin/wallets/index.d.ts +1 -0
- package/dist/core/connectors/bitcoin/wallets/index.js +1 -0
- package/dist/core/connectors/bitcoin/wallets/index.js.map +1 -1
- package/dist/core/connectors/bitcoin/wallets/keplr.d.ts +11 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js +28 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js.map +1 -0
- package/dist/core/constants.d.ts +4 -7
- package/dist/core/constants.js +4 -21
- package/dist/core/constants.js.map +1 -1
- package/dist/core/externalLinks.d.ts +1 -1
- package/dist/core/externalLinks.js +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/providers/CosmosProvider.d.ts +1 -1
- package/dist/core/providers/CosmosProvider.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +4 -4
- package/dist/core/types/error.d.ts +1 -0
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/transaction.d.ts +1 -0
- package/dist/core/types/wallet.d.ts +2 -19
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/wallets.d.ts +1 -2
- package/dist/core/wallets.js +12 -2
- package/dist/core/wallets.js.map +1 -1
- package/dist/hooks/chains/useSquidChains.d.ts +0 -1
- package/dist/hooks/chains/useSquidChains.js +4 -23
- package/dist/hooks/chains/useSquidChains.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.js +20 -15
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/solana/useSolana.js +2 -8
- package/dist/hooks/solana/useSolana.js.map +1 -1
- package/dist/hooks/store/useWalletStore.d.ts +5 -5
- package/dist/hooks/store/useWalletStore.js +20 -13
- package/dist/hooks/store/useWalletStore.js.map +1 -1
- package/dist/hooks/swap/useSwap.js +3 -3
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +1 -12
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +5 -4
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +17 -30
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +246 -18
- package/dist/hooks/tokens/useBalance.js +25 -66
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
- package/dist/hooks/tokens/useMultiChainBalance.js +35 -38
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +18 -16
- package/dist/hooks/tokens/useNativeBalance.js +56 -121
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +4 -6
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +11 -2
- package/dist/hooks/tokens/useSquidTokens.js +16 -8
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.js +1 -1
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +2 -0
- package/dist/hooks/transaction/useExecuteTransaction.js +39 -81
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +2 -1
- package/dist/hooks/transaction/useGetRoute.js +2 -2
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
- package/dist/hooks/user/useUserParams.js +1 -1
- package/dist/hooks/user/useUserParams.js.map +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +3 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +25 -32
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +2 -2
- package/dist/hooks/wallet/useSigner.js +7 -33
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +6 -24
- package/dist/hooks/wallet/useWallet.js +11 -25
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/hooks/wallet/useWallets.js +1 -26
- package/dist/hooks/wallet/useWallets.js.map +1 -1
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.js +8 -10
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/rpcService.d.ts +4 -8
- package/dist/services/external/rpcService.js +14 -38
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +2 -2
- package/dist/services/internal/assetsService.js +5 -10
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/bitcoinService.d.ts +5 -3
- package/dist/services/internal/bitcoinService.js +9 -1
- package/dist/services/internal/bitcoinService.js.map +1 -1
- package/dist/services/internal/configService.js +2 -7
- package/dist/services/internal/configService.js.map +1 -1
- package/dist/services/internal/cosmosService.d.ts +14 -4
- package/dist/services/internal/cosmosService.js +1 -1
- package/dist/services/internal/cosmosService.js.map +1 -1
- package/dist/services/internal/errorService.d.ts +0 -15
- package/dist/services/internal/errorService.js +4 -34
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/evmService.d.ts +6 -3
- package/dist/services/internal/evmService.js.map +1 -1
- package/dist/services/internal/solanaService.d.ts +6 -3
- package/dist/services/internal/solanaService.js.map +1 -1
- package/dist/services/internal/transactionService.d.ts +1 -0
- package/dist/services/internal/walletService.d.ts +15 -21
- package/dist/services/internal/walletService.js +28 -38
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/tests/swapConfig.test.js +7 -72
- package/dist/tests/swapConfig.test.js.map +1 -1
- package/package.json +8 -12
- package/dist/core/providers/SuiProvider.d.ts +0 -19
- package/dist/core/providers/SuiProvider.js +0 -15
- package/dist/core/providers/SuiProvider.js.map +0 -1
- package/dist/core/types/rpc.d.ts +0 -10
- package/dist/core/types/rpc.js +0 -2
- package/dist/core/types/rpc.js.map +0 -1
- package/dist/core/types/sui.d.ts +0 -14
- package/dist/core/types/sui.js +0 -2
- package/dist/core/types/sui.js.map +0 -1
- package/dist/hooks/sui/useSui.d.ts +0 -2
- package/dist/hooks/sui/useSui.js +0 -28
- package/dist/hooks/sui/useSui.js.map +0 -1
- package/dist/hooks/sui/useSuiClient.d.ts +0 -9
- package/dist/hooks/sui/useSuiClient.js +0 -16
- package/dist/hooks/sui/useSuiClient.js.map +0 -1
- package/dist/hooks/sui/useSuiWallets.d.ts +0 -7
- package/dist/hooks/sui/useSuiWallets.js +0 -36
- package/dist/hooks/sui/useSuiWallets.js.map +0 -1
- package/dist/services/external/suiRpcClient.d.ts +0 -32
- package/dist/services/external/suiRpcClient.js +0 -80
- package/dist/services/external/suiRpcClient.js.map +0 -1
- package/dist/services/internal/suiService.d.ts +0 -14
- package/dist/services/internal/suiService.js +0 -107
- package/dist/services/internal/suiService.js.map +0 -1
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { getWallets as getWalletsApi, } from "@mysten/wallet-standard";
|
|
2
|
-
import { StashedWallet } from "@mysten/zksend";
|
|
3
|
-
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
-
import { filterSuiWallets } from "../../services/internal/suiService";
|
|
5
|
-
/**
|
|
6
|
-
* Returns the list of registered Sui wallets
|
|
7
|
-
*/
|
|
8
|
-
export function useSuiWallets() {
|
|
9
|
-
const isInitializedRef = useRef(false);
|
|
10
|
-
const [wallets, setWallets] = useState([]);
|
|
11
|
-
const setRegisteredWallets = useCallback((standardWallets) => {
|
|
12
|
-
setWallets(filterSuiWallets(standardWallets));
|
|
13
|
-
}, []);
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
const walletsApi = getWalletsApi();
|
|
16
|
-
const removeOnRegisterListener = walletsApi.on("register", (wallet) => {
|
|
17
|
-
setRegisteredWallets([wallet]);
|
|
18
|
-
});
|
|
19
|
-
if (!isInitializedRef.current) {
|
|
20
|
-
const stashedWallet = new StashedWallet({
|
|
21
|
-
name: "Squid",
|
|
22
|
-
network: "mainnet",
|
|
23
|
-
});
|
|
24
|
-
walletsApi.register(stashedWallet);
|
|
25
|
-
setRegisteredWallets(walletsApi.get());
|
|
26
|
-
isInitializedRef.current = true;
|
|
27
|
-
}
|
|
28
|
-
return () => {
|
|
29
|
-
removeOnRegisterListener();
|
|
30
|
-
};
|
|
31
|
-
}, [setRegisteredWallets]);
|
|
32
|
-
return {
|
|
33
|
-
wallets,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=useSuiWallets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSuiWallets.js","sourceRoot":"","sources":["../../../src/hooks/sui/useSuiWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,aAAa,GAE5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,aAAa;IAG3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAExD,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,eAA0C,EAAE,EAAE;QAC7C,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC,EACD,EAAE,CACH,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,MAAM,wBAAwB,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACpE,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC7B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;gBACtC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnC,oBAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;YACvC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;SACjC;QAED,OAAO,GAAG,EAAE;YACV,wBAAwB,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { SuiCoinBalance } from "../../core/types/sui";
|
|
2
|
-
export declare class SuiRpcClient {
|
|
3
|
-
/**
|
|
4
|
-
* Native Sui coin object type in long format.
|
|
5
|
-
* This is the format used by the Squid UI and API
|
|
6
|
-
*/
|
|
7
|
-
private suiNativeCoinObjectTypeLong;
|
|
8
|
-
/**
|
|
9
|
-
* Native Sui coin object type in short format.
|
|
10
|
-
* This is the format used by RPC providers
|
|
11
|
-
*/
|
|
12
|
-
private suiNativeCoinObjectTypeShort;
|
|
13
|
-
private rpcUrl;
|
|
14
|
-
constructor(rpcUrl: string);
|
|
15
|
-
/**
|
|
16
|
-
* Fetches the balance of a single Sui token for a given address.
|
|
17
|
-
*/
|
|
18
|
-
getBalance(userAddress: string, tokenAddress: string): Promise<SuiCoinBalance>;
|
|
19
|
-
/**
|
|
20
|
-
* Fetches all Sui coin balances for a given address.
|
|
21
|
-
*/
|
|
22
|
-
getAllBalances(userAddress: string): Promise<SuiCoinBalance[]>;
|
|
23
|
-
private call;
|
|
24
|
-
/**
|
|
25
|
-
* Parse native coin object type from the long format to the short format.
|
|
26
|
-
*/
|
|
27
|
-
private toShortCoinObjectType;
|
|
28
|
-
/**
|
|
29
|
-
* Parse native coin object type from the short format to the long format.
|
|
30
|
-
*/
|
|
31
|
-
private toLongCoinObjectType;
|
|
32
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
export class SuiRpcClient {
|
|
2
|
-
/**
|
|
3
|
-
* Native Sui coin object type in long format.
|
|
4
|
-
* This is the format used by the Squid UI and API
|
|
5
|
-
*/
|
|
6
|
-
suiNativeCoinObjectTypeLong = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
|
|
7
|
-
/**
|
|
8
|
-
* Native Sui coin object type in short format.
|
|
9
|
-
* This is the format used by RPC providers
|
|
10
|
-
*/
|
|
11
|
-
suiNativeCoinObjectTypeShort = "0x2::sui::SUI";
|
|
12
|
-
rpcUrl;
|
|
13
|
-
constructor(rpcUrl) {
|
|
14
|
-
this.rpcUrl = rpcUrl;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Fetches the balance of a single Sui token for a given address.
|
|
18
|
-
*/
|
|
19
|
-
async getBalance(userAddress, tokenAddress) {
|
|
20
|
-
const response = await this.call("suix_getBalance", [
|
|
21
|
-
userAddress,
|
|
22
|
-
this.toShortCoinObjectType(tokenAddress),
|
|
23
|
-
]);
|
|
24
|
-
return {
|
|
25
|
-
...response,
|
|
26
|
-
coinType: this.toLongCoinObjectType(response.coinType),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Fetches all Sui coin balances for a given address.
|
|
31
|
-
*/
|
|
32
|
-
async getAllBalances(userAddress) {
|
|
33
|
-
const response = await this.call("suix_getAllBalances", [
|
|
34
|
-
userAddress,
|
|
35
|
-
]);
|
|
36
|
-
return response.map((balance) => ({
|
|
37
|
-
...balance,
|
|
38
|
-
coinType: this.toLongCoinObjectType(balance.coinType),
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
async call(method, params) {
|
|
42
|
-
const response = await fetch(this.rpcUrl, {
|
|
43
|
-
method: "POST",
|
|
44
|
-
headers: {
|
|
45
|
-
"Content-Type": "application/json",
|
|
46
|
-
},
|
|
47
|
-
body: JSON.stringify({
|
|
48
|
-
jsonrpc: "2.0",
|
|
49
|
-
id: 1,
|
|
50
|
-
method,
|
|
51
|
-
params,
|
|
52
|
-
}),
|
|
53
|
-
});
|
|
54
|
-
const data = await response.json();
|
|
55
|
-
if (data.error) {
|
|
56
|
-
throw new Error(`RPC Error (${method}): ${data.error.message}`);
|
|
57
|
-
}
|
|
58
|
-
if (!data.result) {
|
|
59
|
-
throw new Error(`Invalid response from RPC (${method})`);
|
|
60
|
-
}
|
|
61
|
-
return data.result;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Parse native coin object type from the long format to the short format.
|
|
65
|
-
*/
|
|
66
|
-
toShortCoinObjectType(coinObjectType) {
|
|
67
|
-
return coinObjectType === this.suiNativeCoinObjectTypeLong
|
|
68
|
-
? this.suiNativeCoinObjectTypeShort
|
|
69
|
-
: coinObjectType;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Parse native coin object type from the short format to the long format.
|
|
73
|
-
*/
|
|
74
|
-
toLongCoinObjectType(coinObjectType) {
|
|
75
|
-
return coinObjectType === this.suiNativeCoinObjectTypeShort
|
|
76
|
-
? this.suiNativeCoinObjectTypeLong
|
|
77
|
-
: coinObjectType;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=suiRpcClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"suiRpcClient.js","sourceRoot":"","sources":["../../../src/services/external/suiRpcClient.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACvB;;;OAGG;IACK,2BAA2B,GACjC,8EAA8E,CAAC;IAEjF;;;OAGG;IACK,4BAA4B,GAAG,eAAe,CAAC;IAE/C,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAiB,iBAAiB,EAAE;YAClE,WAAW;YACX,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;SACzC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,QAAQ;YACX,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAmB,qBAAqB,EAAE;YACxE,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,OAAO;YACV,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC;SACtD,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,IAAI,CAAI,MAAc,EAAE,MAAa;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,CAAC;gBACL,MAAM;gBACN,MAAM;aACP,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,IAAI,GAAuB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEvD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,GAAG,CAAC,CAAC;SAC1D;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,cAAsB;QAClD,OAAO,cAAc,KAAK,IAAI,CAAC,2BAA2B;YACxD,CAAC,CAAC,IAAI,CAAC,4BAA4B;YACnC,CAAC,CAAC,cAAc,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,cAAsB;QACjD,OAAO,cAAc,KAAK,IAAI,CAAC,4BAA4B;YACzD,CAAC,CAAC,IAAI,CAAC,2BAA2B;YAClC,CAAC,CAAC,cAAc,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SuiChain, type Wallet as StandardWallet } from "@mysten/wallet-standard";
|
|
2
|
-
import { ConnectorID, SuiWallet } from "../../core/types/wallet";
|
|
3
|
-
export declare function filterSuiWallets(standardWallets: readonly StandardWallet[]): SuiWallet[];
|
|
4
|
-
export declare function isSuiAddressValid(address: string): boolean;
|
|
5
|
-
type SuiWalletOverride = {
|
|
6
|
-
icon: string;
|
|
7
|
-
connectorId?: ConnectorID;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Override Sui standard wallet properties
|
|
11
|
-
*/
|
|
12
|
-
export declare const suiStdWalletOverrides: Partial<Record<string, SuiWalletOverride>>;
|
|
13
|
-
export declare function getSuiChain(chainId: string): SuiChain | null;
|
|
14
|
-
export {};
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
-
import { isSuiChain, SUI_MAINNET_CHAIN, SUI_TESTNET_CHAIN, } from "@mysten/wallet-standard";
|
|
3
|
-
import { CHAIN_IDS } from "../../core/constants";
|
|
4
|
-
import { walletIconBaseUrl } from "../../core/wallets";
|
|
5
|
-
const STANDARD_FEATURES = [
|
|
6
|
-
"standard:connect",
|
|
7
|
-
"standard:events",
|
|
8
|
-
];
|
|
9
|
-
const SUI_FEATURES = ["sui:signTransaction"];
|
|
10
|
-
/**
|
|
11
|
-
* Validates that a given standard wallet has all the required features for a Sui wallet
|
|
12
|
-
*/
|
|
13
|
-
function isSuiStandardWallet(wallet) {
|
|
14
|
-
return [...STANDARD_FEATURES, ...SUI_FEATURES].every((feature) => feature in wallet.features);
|
|
15
|
-
}
|
|
16
|
-
export function filterSuiWallets(standardWallets) {
|
|
17
|
-
// Filter out all non-Sui standard wallets
|
|
18
|
-
return standardWallets.filter(isSuiStandardWallet).map(formatSuiWallet);
|
|
19
|
-
}
|
|
20
|
-
function isHex(value) {
|
|
21
|
-
return /^(0x|0X)?[a-fA-F0-9]+$/.test(value) && value.length % 2 === 0;
|
|
22
|
-
}
|
|
23
|
-
function getHexByteLength(value) {
|
|
24
|
-
return /^(0x|0X)/.test(value) ? (value.length - 2) / 2 : value.length / 2;
|
|
25
|
-
}
|
|
26
|
-
const SUI_ADDRESS_LENGTH = 32;
|
|
27
|
-
// Ref. https://github.com/MystenLabs/ts-sdks/blob/31dd6c73d7aab9819bd545323273f733cfcc5a01/packages/typescript/src/utils/sui-types.ts#L24-L27
|
|
28
|
-
export function isSuiAddressValid(address) {
|
|
29
|
-
return isHex(address) && getHexByteLength(address) === SUI_ADDRESS_LENGTH;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Override Sui standard wallet properties
|
|
33
|
-
*/
|
|
34
|
-
export const suiStdWalletOverrides = {
|
|
35
|
-
Phantom: {
|
|
36
|
-
icon: `${walletIconBaseUrl}/phantom.webp`,
|
|
37
|
-
connectorId: "phantom",
|
|
38
|
-
},
|
|
39
|
-
Backpack: {
|
|
40
|
-
icon: `${walletIconBaseUrl}/backpack.webp`,
|
|
41
|
-
connectorId: "backpack",
|
|
42
|
-
},
|
|
43
|
-
"OKX Wallet": {
|
|
44
|
-
icon: `${walletIconBaseUrl}/okx.webp`,
|
|
45
|
-
connectorId: "okx",
|
|
46
|
-
},
|
|
47
|
-
"Surf Wallet": {
|
|
48
|
-
icon: `${walletIconBaseUrl}/surf.webp`,
|
|
49
|
-
},
|
|
50
|
-
"Sui Wallet": {
|
|
51
|
-
icon: `${walletIconBaseUrl}/sui.webp`,
|
|
52
|
-
},
|
|
53
|
-
Stashed: {
|
|
54
|
-
icon: `${walletIconBaseUrl}/stashed.webp`,
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Format a Sui standard wallet into a Squid Wallet
|
|
59
|
-
*/
|
|
60
|
-
function formatSuiWallet(wallet) {
|
|
61
|
-
const { icon, name, features, id, chains } = wallet;
|
|
62
|
-
const standardWalletId = id || name;
|
|
63
|
-
const walletOverrides = suiStdWalletOverrides[standardWalletId];
|
|
64
|
-
const walletIcon = walletOverrides?.icon || icon;
|
|
65
|
-
const connectorId = walletOverrides?.connectorId || standardWalletId;
|
|
66
|
-
return {
|
|
67
|
-
connectorId,
|
|
68
|
-
name,
|
|
69
|
-
connectorName: name,
|
|
70
|
-
type: ChainType.SUI,
|
|
71
|
-
icon: walletIcon,
|
|
72
|
-
windowFlag: name,
|
|
73
|
-
isMobile: false,
|
|
74
|
-
isInstalled: () => true,
|
|
75
|
-
connector() {
|
|
76
|
-
return {
|
|
77
|
-
signTransaction: features["sui:signTransaction"].signTransaction,
|
|
78
|
-
connect: async () => {
|
|
79
|
-
const { accounts } = await features["standard:connect"].connect();
|
|
80
|
-
if (!isSuiChain(chains[0]))
|
|
81
|
-
throw new Error("Error connecting Sui wallet, invalid chain");
|
|
82
|
-
if (!accounts.length) {
|
|
83
|
-
throw new Error("No accounts returned from wallet");
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
account: accounts[0],
|
|
87
|
-
chain: chains[0],
|
|
88
|
-
};
|
|
89
|
-
},
|
|
90
|
-
disconnect: async () => {
|
|
91
|
-
await features["standard:disconnect"]?.disconnect();
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
export function getSuiChain(chainId) {
|
|
98
|
-
switch (chainId) {
|
|
99
|
-
case CHAIN_IDS.SUI:
|
|
100
|
-
return SUI_MAINNET_CHAIN;
|
|
101
|
-
case CHAIN_IDS.SUI_TESTNET:
|
|
102
|
-
return SUI_TESTNET_CHAIN;
|
|
103
|
-
default:
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=suiService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"suiService.js","sourceRoot":"","sources":["../../../src/services/internal/suiService.ts"],"names":[],"mappings":"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"}
|