@0xsquid/react-hooks 4.0.0 → 4.0.2-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.
Files changed (128) hide show
  1. package/dist/core/connectors/bitcoin/helpers.d.ts +5 -0
  2. package/dist/core/connectors/bitcoin/helpers.js +86 -0
  3. package/dist/core/connectors/bitcoin/helpers.js.map +1 -0
  4. package/dist/core/connectors/bitcoin/index.d.ts +6 -0
  5. package/dist/core/connectors/bitcoin/index.js +2 -0
  6. package/dist/core/connectors/bitcoin/index.js.map +1 -0
  7. package/dist/core/connectors/bitcoin/wallets/index.d.ts +2 -0
  8. package/dist/core/connectors/bitcoin/wallets/index.js +3 -0
  9. package/dist/core/connectors/bitcoin/wallets/index.js.map +1 -0
  10. package/dist/core/connectors/bitcoin/wallets/phantom.d.ts +19 -0
  11. package/dist/core/connectors/bitcoin/wallets/phantom.js +54 -0
  12. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +1 -0
  13. package/dist/core/connectors/bitcoin/wallets/unisat.d.ts +11 -0
  14. package/dist/core/connectors/bitcoin/wallets/unisat.js +16 -0
  15. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +1 -0
  16. package/dist/core/constants.d.ts +12 -0
  17. package/dist/core/constants.js +23 -0
  18. package/dist/core/constants.js.map +1 -1
  19. package/dist/core/externalLinks.d.ts +1 -1
  20. package/dist/core/externalLinks.js +1 -1
  21. package/dist/core/externalLinks.js.map +1 -1
  22. package/dist/core/index.d.ts +1 -0
  23. package/dist/core/index.js +1 -0
  24. package/dist/core/index.js.map +1 -1
  25. package/dist/core/providers/SolanaProvider.d.ts +28 -0
  26. package/dist/core/providers/SolanaProvider.js +15 -0
  27. package/dist/core/providers/SolanaProvider.js.map +1 -0
  28. package/dist/core/queries/queries-keys.d.ts +1 -1
  29. package/dist/core/queries/queries-keys.js +3 -1
  30. package/dist/core/queries/queries-keys.js.map +1 -1
  31. package/dist/core/types/wallet.d.ts +11 -2
  32. package/dist/core/types/wallet.js +3 -0
  33. package/dist/core/types/wallet.js.map +1 -1
  34. package/dist/core/wallets.js +50 -1
  35. package/dist/core/wallets.js.map +1 -1
  36. package/dist/hooks/cosmos/useCosmos.js +2 -1
  37. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  38. package/dist/hooks/cosmos/useCosmosForChain.js +1 -2
  39. package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -1
  40. package/dist/hooks/index.d.ts +2 -0
  41. package/dist/hooks/index.js +2 -0
  42. package/dist/hooks/index.js.map +1 -1
  43. package/dist/hooks/solana/useSolana.d.ts +27 -0
  44. package/dist/hooks/solana/useSolana.js +86 -0
  45. package/dist/hooks/solana/useSolana.js.map +1 -0
  46. package/dist/hooks/store/useHistoryStore.d.ts +1 -1
  47. package/dist/hooks/store/useWalletStore.js +1 -0
  48. package/dist/hooks/store/useWalletStore.js.map +1 -1
  49. package/dist/hooks/swap/useDepositAddress.d.ts +9 -0
  50. package/dist/hooks/swap/useDepositAddress.js +45 -0
  51. package/dist/hooks/swap/useDepositAddress.js.map +1 -0
  52. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +26 -1
  53. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  54. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +16 -5
  55. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  56. package/dist/hooks/tokens/useBalance.d.ts +122 -1
  57. package/dist/hooks/tokens/useBalance.js +25 -0
  58. package/dist/hooks/tokens/useBalance.js.map +1 -1
  59. package/dist/hooks/tokens/useMultiChainBalance.js +24 -7
  60. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  61. package/dist/hooks/tokens/useNativeBalance.d.ts +11 -1
  62. package/dist/hooks/tokens/useNativeBalance.js +81 -11
  63. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  64. package/dist/hooks/tokens/useNativeTokenForChain.d.ts +4 -0
  65. package/dist/hooks/tokens/useNativeTokenForChain.js +26 -0
  66. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -0
  67. package/dist/hooks/tokens/useSquidTokens.d.ts +2 -0
  68. package/dist/hooks/tokens/useSquidTokens.js +5 -1
  69. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  70. package/dist/hooks/transaction/useEstimate.d.ts +2 -2
  71. package/dist/hooks/transaction/useExecuteTransaction.d.ts +2 -2
  72. package/dist/hooks/transaction/useExecuteTransaction.js +161 -15
  73. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  74. package/dist/hooks/transaction/useGetRoute.d.ts +11 -8
  75. package/dist/hooks/transaction/useGetRoute.js +20 -7
  76. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  77. package/dist/hooks/transaction/useSingleTransaction.d.ts +1 -1
  78. package/dist/hooks/user/useHistory.js +2 -2
  79. package/dist/hooks/user/useHistory.js.map +1 -1
  80. package/dist/hooks/wallet/useMultiChainWallet.js +34 -11
  81. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  82. package/dist/hooks/wallet/useSigner.d.ts +4 -0
  83. package/dist/hooks/wallet/useSigner.js +22 -0
  84. package/dist/hooks/wallet/useSigner.js.map +1 -1
  85. package/dist/hooks/wallet/useWallet.js +44 -12
  86. package/dist/hooks/wallet/useWallet.js.map +1 -1
  87. package/dist/provider/index.js +3 -1
  88. package/dist/provider/index.js.map +1 -1
  89. package/dist/services/external/rpcService.d.ts +9 -1
  90. package/dist/services/external/rpcService.js +119 -1
  91. package/dist/services/external/rpcService.js.map +1 -1
  92. package/dist/services/index.d.ts +3 -0
  93. package/dist/services/index.js +3 -0
  94. package/dist/services/index.js.map +1 -1
  95. package/dist/services/internal/assetsService.d.ts +3 -1
  96. package/dist/services/internal/assetsService.js +7 -4
  97. package/dist/services/internal/assetsService.js.map +1 -1
  98. package/dist/services/internal/bitcoinService.d.ts +14 -0
  99. package/dist/services/internal/bitcoinService.js +53 -0
  100. package/dist/services/internal/bitcoinService.js.map +1 -0
  101. package/dist/services/internal/cosmosService.d.ts +37 -0
  102. package/dist/services/internal/cosmosService.js +97 -0
  103. package/dist/services/internal/cosmosService.js.map +1 -0
  104. package/dist/services/internal/estimateService.d.ts +2 -2
  105. package/dist/services/internal/evmService.d.ts +16 -0
  106. package/dist/services/internal/evmService.js +40 -0
  107. package/dist/services/internal/evmService.js.map +1 -0
  108. package/dist/services/internal/priceService.d.ts +5 -0
  109. package/dist/services/internal/priceService.js +19 -5
  110. package/dist/services/internal/priceService.js.map +1 -1
  111. package/dist/services/internal/solanaService.d.ts +39 -0
  112. package/dist/services/internal/solanaService.js +71 -0
  113. package/dist/services/internal/solanaService.js.map +1 -0
  114. package/dist/services/internal/transactionService.d.ts +5 -5
  115. package/dist/services/internal/transactionService.js +15 -6
  116. package/dist/services/internal/transactionService.js.map +1 -1
  117. package/dist/services/internal/walletService.d.ts +3 -55
  118. package/dist/services/internal/walletService.js +16 -151
  119. package/dist/services/internal/walletService.js.map +1 -1
  120. package/dist/tests/assetsService.test.js +37 -2
  121. package/dist/tests/assetsService.test.js.map +1 -1
  122. package/dist/tests/estimateService.test.js.map +1 -1
  123. package/dist/tests/priceService.test.d.ts +1 -0
  124. package/dist/tests/priceService.test.js +38 -0
  125. package/dist/tests/priceService.test.js.map +1 -0
  126. package/dist/tests/walletService.test.js +0 -1
  127. package/dist/tests/walletService.test.js.map +1 -1
  128. package/package.json +16 -10
@@ -0,0 +1,5 @@
1
+ export declare const fromHexString: (hexString: string) => Uint8Array;
2
+ export declare function createSendBtcPsbt(senderAddress: string, recipientAddress: string, amount: number): Promise<{
3
+ psbtHex: string;
4
+ }>;
5
+ export declare function broadcastTx(txHex: string): Promise<string>;
@@ -0,0 +1,86 @@
1
+ import * as ecc from "@bitcoinerlab/secp256k1";
2
+ import axios from "axios";
3
+ import * as bitcoin from "bitcoinjs-lib";
4
+ bitcoin.initEccLib(ecc);
5
+ const network = bitcoin.networks.bitcoin;
6
+ export const fromHexString = (hexString) => {
7
+ const matches = hexString.match(/.{1,2}/g);
8
+ if (!matches) {
9
+ throw new Error("Invalid hex string");
10
+ }
11
+ return Uint8Array.from(matches.map((byte) => parseInt(byte, 16)));
12
+ };
13
+ export async function createSendBtcPsbt(senderAddress, recipientAddress, amount) {
14
+ const feeRate = await getFeeRate();
15
+ const utxos = await getAddressUtxos(senderAddress);
16
+ if (!utxos) {
17
+ throw new Error("No UTXOs found");
18
+ }
19
+ // Sort UTXOs by value in descending order
20
+ // This ensures that we select the UTXOs with the highest value first
21
+ // to optimize the transaction size
22
+ const sortedUtxos = utxos.sort((a, b) => b.value - a.value);
23
+ // Sum up the values of the UTXOs up to the desired amount
24
+ let inputAmount = 0;
25
+ const inputs = [];
26
+ for (const utxo of sortedUtxos) {
27
+ inputAmount += utxo.value;
28
+ inputs.push(utxo);
29
+ if (inputAmount >= amount)
30
+ break;
31
+ }
32
+ if (inputAmount < amount)
33
+ throw new Error("Insufficient balance");
34
+ const outputsCount = 2; // Only two outputs, recipient and change outputs
35
+ // Calculate fee based on the byte size of the total inputs and outputs
36
+ // Approximate transaction size = (inputs * 150 bytes + outputs * 34 bytes + 10 bytes overhead)
37
+ const transactionSize = inputs.length * 150 + outputsCount * 34 + 10;
38
+ const fee = feeRate * transactionSize;
39
+ const satsNeeded = fee + amount;
40
+ const psbt = new bitcoin.Psbt({ network });
41
+ let amountGathered = 0;
42
+ for (const utxo of sortedUtxos) {
43
+ const { txid, vout, value } = utxo;
44
+ const script = bitcoin.address.toOutputScript(senderAddress, network);
45
+ psbt.addInput({
46
+ hash: txid,
47
+ index: vout,
48
+ witnessUtxo: {
49
+ script,
50
+ value: BigInt(value),
51
+ },
52
+ });
53
+ amountGathered += value;
54
+ if (amountGathered >= satsNeeded) {
55
+ break;
56
+ }
57
+ }
58
+ psbt.addOutput({
59
+ address: recipientAddress,
60
+ value: BigInt(amount),
61
+ });
62
+ if (amountGathered > satsNeeded) {
63
+ psbt.addOutput({
64
+ address: senderAddress,
65
+ value: BigInt(amountGathered - satsNeeded),
66
+ });
67
+ }
68
+ return {
69
+ psbtHex: psbt.toHex(),
70
+ };
71
+ }
72
+ export async function broadcastTx(txHex) {
73
+ return axios
74
+ .post(`https://mempool.space/api/tx`, txHex)
75
+ .then((res) => res.data);
76
+ }
77
+ async function getAddressUtxos(address) {
78
+ return axios
79
+ .get(`https://mempool.space/api/address/${address}/utxo`)
80
+ .then((response) => response.data);
81
+ }
82
+ async function getFeeRate() {
83
+ const response = await axios.get("https://mempool.space/api/v1/fees/recommended");
84
+ return response.data.halfHourFee;
85
+ }
86
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./wallets";
2
+ export interface BitcoinConnector {
3
+ sendBTC(to: string, amount: number): Promise<{
4
+ txHash: string;
5
+ }>;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./wallets";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PhantomConnector } from "./phantom";
2
+ export { UnisatConnector } from "./unisat";
@@ -0,0 +1,3 @@
1
+ export { PhantomConnector } from "./phantom";
2
+ export { UnisatConnector } from "./unisat";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { BitcoinConnector } from "..";
2
+ export interface PhantomBitcoinAccount {
3
+ address: string;
4
+ publicKey: string;
5
+ addressType: "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
6
+ purpose: "payment" | "ordinals";
7
+ }
8
+ export declare class PhantomConnector implements BitcoinConnector {
9
+ get getProvider(): any | undefined;
10
+ getAccounts(): Promise<{
11
+ paymentAddress: string;
12
+ }>;
13
+ sendBTC(to: string, amount: number): Promise<{
14
+ txHash: string;
15
+ }>;
16
+ signPsbt(psbtHex: string): Promise<{
17
+ txId: string | undefined;
18
+ }>;
19
+ }
@@ -0,0 +1,54 @@
1
+ import * as bitcoin from "bitcoinjs-lib";
2
+ import { broadcastTx, createSendBtcPsbt, fromHexString } from "../helpers";
3
+ const MAINNET = bitcoin.networks.bitcoin;
4
+ export class PhantomConnector {
5
+ get getProvider() {
6
+ const provider = window?.phantom?.bitcoin;
7
+ if (!provider) {
8
+ throw new Error("Phantom wallet not found");
9
+ }
10
+ return provider;
11
+ }
12
+ async getAccounts() {
13
+ const phantomAccounts = await this.getProvider.requestAccounts();
14
+ if (!phantomAccounts)
15
+ throw new Error("No accounts found");
16
+ const payment = phantomAccounts.find((account) => account.purpose === "payment");
17
+ if (!payment)
18
+ throw new Error("No payment account found");
19
+ return {
20
+ paymentAddress: payment.address,
21
+ };
22
+ }
23
+ async sendBTC(to, amount) {
24
+ const { paymentAddress } = await this.getAccounts();
25
+ const { psbtHex } = await createSendBtcPsbt(paymentAddress, to, amount);
26
+ const { txId } = await this.signPsbt(psbtHex);
27
+ if (!txId)
28
+ throw new Error("Error sending BTC");
29
+ return { txHash: txId };
30
+ }
31
+ async signPsbt(psbtHex) {
32
+ const { paymentAddress } = await this.getAccounts();
33
+ const toSignPsbt = bitcoin.Psbt.fromHex(String(psbtHex), {
34
+ network: MAINNET,
35
+ });
36
+ const inputs = toSignPsbt.data.inputs;
37
+ const inputsToSign = [
38
+ {
39
+ // Need to sign each input with the payment address
40
+ address: paymentAddress,
41
+ signingIndexes: inputs.map((_, index) => index),
42
+ },
43
+ ];
44
+ const signedPsbtBytes = await this.getProvider.signPSBT(fromHexString(psbtHex), {
45
+ inputsToSign,
46
+ });
47
+ const signedPsbt = bitcoin.Psbt.fromBuffer(signedPsbtBytes);
48
+ signedPsbt.finalizeAllInputs();
49
+ const tx = signedPsbt.extractTransaction();
50
+ const txId = await broadcastTx(tx.toHex());
51
+ return { txId };
52
+ }
53
+ }
54
+ //# sourceMappingURL=phantom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phantom.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/phantom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AASzC,MAAM,OAAO,gBAAgB;IAC3B,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,OAAO,EAAE,OAAO,CAAC;QAEnD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW;QAGf,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAE3C,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAClC,CAAC,OAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAChE,CAAC;QAEF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE1D,OAAO;YACL,cAAc,EAAE,OAAO,CAAC,OAAO;SAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAG5B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACvD,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,MAAM,YAAY,GAAG;YACnB;gBACE,mDAAmD;gBACnD,OAAO,EAAE,cAAc;gBACvB,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;aAChD;SACF,CAAC;QAEF,MAAM,eAAe,GAAe,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CACjE,aAAa,CAAC,OAAO,CAAC,EACtB;YACE,YAAY;SACb,CACF,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE5D,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,EAAE,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAE3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3C,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { BitcoinConnector } from "..";
2
+ interface UnisatProvider {
3
+ sendBitcoin: (to: string, amount: number) => Promise<string>;
4
+ }
5
+ export declare class UnisatConnector implements BitcoinConnector {
6
+ get getProvider(): UnisatProvider;
7
+ sendBTC(to: string, amount: number): Promise<{
8
+ txHash: string;
9
+ }>;
10
+ }
11
+ export {};
@@ -0,0 +1,16 @@
1
+ export class UnisatConnector {
2
+ get getProvider() {
3
+ const provider = window?.unisat;
4
+ if (!provider) {
5
+ throw new Error("Unisat wallet not found");
6
+ }
7
+ return provider;
8
+ }
9
+ async sendBTC(to, amount) {
10
+ const txHash = await this.getProvider.sendBitcoin(to, amount);
11
+ if (!txHash)
12
+ throw new Error("Transaction failed");
13
+ return { txHash };
14
+ }
15
+ }
16
+ //# sourceMappingURL=unisat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unisat.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/unisat.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,eAAe;IAC1B,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,MAAM,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEnD,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -1,5 +1,8 @@
1
+ import { ChainType } from "@0xsquid/squid-types";
1
2
  import type { AppConfig, SlippageOption } from "./types/config";
3
+ export declare const chainTypeToZeroAddressMap: Record<ChainType, string>;
2
4
  export declare const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
5
+ export declare const nativeBitcoinTokenAddress = "satoshi";
3
6
  export declare const maxPriceImpact = 30;
4
7
  export declare const limitTradeSizeUsd = 10000000;
5
8
  export declare const defaultSlippage: SlippageOption;
@@ -12,6 +15,7 @@ export declare const subTransparentClass = "tw-bg-opacity-50";
12
15
  export declare const backendVersion = "v2";
13
16
  export declare const internalSquidApiBaseUrl = "https://app.squidrouter.com/api";
14
17
  export declare const TOKEN_PRICE_API_URL = "https://beta.app.squidrouter.com/api/coingecko";
18
+ export declare const SOLANA_RPC_URL = "https://squid-app-v2-git-feat-solana-balance-rpc-proxy-0xsquid.vercel.app/api/solana_proxy_rpc";
15
19
  export declare const CHAIN_RPC_MAPPING: {
16
20
  [key: string]: string;
17
21
  };
@@ -36,6 +40,14 @@ export declare const CHAIN_IDS: {
36
40
  mainnet: string;
37
41
  testnet: string;
38
42
  };
43
+ BITCOIN: {
44
+ mainnet: string;
45
+ testnet: string;
46
+ };
47
+ SOLANA: {
48
+ mainnet: string;
49
+ testnet: string;
50
+ };
39
51
  };
40
52
  export declare const widgetHeaderSize: {
41
53
  height: number;
@@ -1,6 +1,18 @@
1
1
  "use client";
2
+ import { ChainType } from "@0xsquid/squid-types";
3
+ import { zeroAddress as evmZeroAddress } from "viem";
2
4
  import { squidApiBaseUrl } from "./externalLinks";
5
+ const btcZeroAddress = "bc1qcdyjau30xhw26h2egcfklwyyyskafhp9x8qtg2";
6
+ const cosmosZeroAddress = "osmo1awrua7e2kj69d7vn5qt5tccrhavmj9xa6y8hhu";
7
+ const solanaZeroAddress = "AuF3k2X5CsXJiXo7YKL5jxDG3gmf9MjaVK8hqt7Kfes1";
8
+ export const chainTypeToZeroAddressMap = {
9
+ [ChainType.EVM]: evmZeroAddress,
10
+ [ChainType.COSMOS]: cosmosZeroAddress,
11
+ [ChainType.BTC]: btcZeroAddress,
12
+ [ChainType.SOLANA]: solanaZeroAddress,
13
+ };
3
14
  export const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
15
+ export const nativeBitcoinTokenAddress = "satoshi";
4
16
  export const maxPriceImpact = 30;
5
17
  export const limitTradeSizeUsd = 10000000;
6
18
  // by setting slippage to undefined, it's set to "auto"
@@ -14,6 +26,7 @@ export const subTransparentClass = "tw-bg-opacity-50";
14
26
  export const backendVersion = "v2";
15
27
  export const internalSquidApiBaseUrl = "https://app.squidrouter.com/api";
16
28
  export const TOKEN_PRICE_API_URL = `https://beta.app.squidrouter.com/api/coingecko`;
29
+ export const SOLANA_RPC_URL = "https://squid-app-v2-git-feat-solana-balance-rpc-proxy-0xsquid.vercel.app/api/solana_proxy_rpc";
17
30
  export const CHAIN_RPC_MAPPING = {
18
31
  "137": "https://polygon.llamarpc.com",
19
32
  };
@@ -43,6 +56,14 @@ export const CHAIN_IDS = {
43
56
  mainnet: "1",
44
57
  testnet: "5",
45
58
  },
59
+ BITCOIN: {
60
+ mainnet: "bitcoin",
61
+ testnet: "bitcoin",
62
+ },
63
+ SOLANA: {
64
+ mainnet: "solana-mainnet-beta",
65
+ testnet: "solana-testnet",
66
+ },
46
67
  };
47
68
  export const widgetHeaderSize = {
48
69
  height: 60,
@@ -67,6 +88,8 @@ export const axelarSuccessStatuses = [
67
88
  "executed",
68
89
  "express_executed",
69
90
  "success",
91
+ // Chainflip
92
+ "COMPLETE",
70
93
  ];
71
94
  export const axelarEndStatuses = [
72
95
  ...axelarSuccessStatuses,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,CAAC,MAAM,qBAAqB,GAChC,4CAA4C,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAmB,SAAS,CAAC;AACzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,gDAAgD,CAAC;AAEpF,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,KAAK,EAAE,8BAA8B;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,2DAA2D;IAC3D,6FAA6F;IAC7F,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,aAAa;KACvB;IACD,qDAAqD;IACrD,SAAS,EAAE;QACT,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,eAAe;KACzB;IACD,yEAAyE;IACzE,MAAM,EAAE;QACN,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB;IACD,8BAA8B;IAC9B,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,eAAe;KACzB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAc;IAC5C,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,eAAe;IACvB,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC;AAEF,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,+CAAyB,CAAA;AAC3B,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,sBAAsB;IACtB,UAAU;IACV,kBAAkB;IAClB,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,qBAAqB;IACxB,uBAAuB;IACvB,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare const squidMainLink = "https://www.squidrouter.com/";
2
2
  export declare const squidDocLink = "https://docs.widget.squidrouter.com/";
3
- export declare const squidApiBaseUrl = "https://apiplus.squidrouter.com";
3
+ export declare const squidApiBaseUrl = "https://api.uatsquidrouter.com";
4
4
  export declare const squidDiscordLink = "https://discord.gg/squidrouter";
5
5
  export declare const squidSupportLink = "https://support.squidrouter.com";
6
6
  export declare const squidHelpLink: string;
@@ -1,7 +1,7 @@
1
1
  // Squid Links
2
2
  export const squidMainLink = "https://www.squidrouter.com/";
3
3
  export const squidDocLink = "https://docs.widget.squidrouter.com/";
4
- export const squidApiBaseUrl = "https://apiplus.squidrouter.com";
4
+ export const squidApiBaseUrl = "https://api.uatsquidrouter.com";
5
5
  export const squidDiscordLink = "https://discord.gg/squidrouter";
6
6
  export const squidSupportLink = "https://support.squidrouter.com";
7
7
  export const squidHelpLink = `${squidDocLink}troubleshooting#additional-support`;
@@ -1 +1 @@
1
- {"version":3,"file":"externalLinks.js","sourceRoot":"","sources":["../../src/core/externalLinks.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,iCAAiC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,YAAY,oCAAoC,CAAC;AACjF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,YAAY,6BAA6B,CAAC;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,YAAY,mDAAmD,CAAC;AAC1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY,2CAA2C,CAAC;AAC3G,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY,sBAAsB,CAAC;AAE5E,eAAe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAC7B,uEAAuE,CAAC;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,gGAAgG,CAAC;AAEnG,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,oEAAoE;CAC3E,CAAC"}
1
+ {"version":3,"file":"externalLinks.js","sourceRoot":"","sources":["../../src/core/externalLinks.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,YAAY,oCAAoC,CAAC;AACjF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,YAAY,6BAA6B,CAAC;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,YAAY,mDAAmD,CAAC;AAC1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY,2CAA2C,CAAC;AAC3G,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY,sBAAsB,CAAC;AAE5E,eAAe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAC7B,uEAAuE,CAAC;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,gGAAgG,CAAC;AAEnG,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,oEAAoE;CAC3E,CAAC"}
@@ -1,2 +1,3 @@
1
+ export { CHAIN_IDS, chainTypeToZeroAddressMap } from "./constants";
1
2
  export { CosmosProvider, useCosmosContext } from "./providers/CosmosProvider";
2
3
  export * from "./types";
@@ -1,3 +1,4 @@
1
+ export { CHAIN_IDS, chainTypeToZeroAddressMap } from "./constants";
1
2
  export { CosmosProvider, useCosmosContext } from "./providers/CosmosProvider";
2
3
  export * from "./types";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,cAAc,SAAS,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { ChainData } from "@0xsquid/squid-types";
2
+ import { Connection } from "@solana/web3.js";
3
+ import { UseMutationResult } from "@tanstack/react-query";
4
+ import React, { ReactNode } from "react";
5
+ import { SolanaWalletAdapter } from "../../hooks/solana/useSolana";
6
+ import { SolanaWallet } from "../types/wallet";
7
+ export interface ConnectSolanaParams {
8
+ chain: ChainData;
9
+ wallet: SolanaWallet;
10
+ }
11
+ export interface ISolanaContextData {
12
+ wallet?: SolanaWallet;
13
+ connectSolana: UseMutationResult<string | undefined, unknown, {
14
+ chain: ChainData;
15
+ wallet?: SolanaWallet;
16
+ }>;
17
+ isConnected: boolean;
18
+ clearData: () => void;
19
+ solanaWalletObject?: SolanaWalletAdapter;
20
+ solanaAddress?: string;
21
+ signer?: SolanaWalletAdapter;
22
+ connection: Connection;
23
+ }
24
+ export declare const SolanaContext: React.Context<ISolanaContextData | undefined>;
25
+ export declare const SolanaProvider: React.FC<{
26
+ children: ReactNode;
27
+ }>;
28
+ export declare const useSolanaContext: () => ISolanaContextData;
@@ -0,0 +1,15 @@
1
+ import React, { createContext, useContext } from "react";
2
+ import { useSolana } from "../../hooks/solana/useSolana";
3
+ export const SolanaContext = createContext(undefined);
4
+ export const SolanaProvider = ({ children, }) => {
5
+ const solanaHook = useSolana();
6
+ return (React.createElement(SolanaContext.Provider, { value: solanaHook }, children));
7
+ };
8
+ export const useSolanaContext = () => {
9
+ const context = useContext(SolanaContext);
10
+ if (!context) {
11
+ throw new Error("useSolanaContext must be used within a SolanaProvider");
12
+ }
13
+ return context;
14
+ };
15
+ //# sourceMappingURL=SolanaProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaProvider.js","sourceRoot":"","sources":["../../../src/core/providers/SolanaProvider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAuB,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAuB9E,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CACxC,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAsC,CAAC,EAChE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC;IAE/B,OAAO,CACL,oBAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,IACtC,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAuB,EAAE;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAC1E;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -54,7 +54,7 @@ export declare const keys: () => {
54
54
  allTokensBalance: (address: string | undefined, chainType: ChainType | undefined) => (string | undefined)[];
55
55
  allTokensPriceUSDAndBalance: (address?: string) => (string | undefined)[];
56
56
  allConnectedWalletBalances: (addresses?: string[]) => (string[] | QueryKeys | undefined)[];
57
- transaction: (fromChainId: string | undefined, toChainId: string | undefined, toTokenAddress: string | undefined, fromTokenAddress: string | undefined, price: string | undefined, slippage: SlippageOption | undefined, getGasOnDestination: boolean | undefined, sourceUserAddress: string | undefined, degenMode: boolean | undefined, destinationAddress: string | undefined, fallbackAddress: string | undefined) => (string | number | boolean | undefined)[];
57
+ transaction: (fromChainId: string | undefined, toChainId: string | undefined, toTokenAddress: string | undefined, fromTokenAddress: string | undefined, price: string | undefined, slippage: SlippageOption | undefined, getGasOnDestination: boolean | undefined, sourceUserAddress: string | undefined, degenMode: boolean | undefined, destinationAddress: string | undefined, fallbackAddress: string | undefined, quoteOnly: boolean | undefined, fromChainType: ChainType | undefined) => (string | number | boolean | undefined)[];
58
58
  transactionStatus: (currentTransaction?: Pick<SimplifiedTransactionHistory, "transactionId" | "status" | "fromChain" | "toChain" | "fromAddress">) => (string | undefined)[];
59
59
  allTransactionsStatus: (transactions?: Pick<SimplifiedTransactionHistory, "transactionId" | "status" | "fromChain" | "toChain">[]) => string[];
60
60
  transactionStatusRefetcher: (currentTransaction?: TransactionParams) => (string | undefined)[];
@@ -119,7 +119,7 @@ export const keys = () => ({
119
119
  // ============
120
120
  // Transactions
121
121
  // ============
122
- transaction: (fromChainId, toChainId, toTokenAddress, fromTokenAddress, price, slippage, getGasOnDestination, sourceUserAddress, degenMode, destinationAddress, fallbackAddress) => [
122
+ transaction: (fromChainId, toChainId, toTokenAddress, fromTokenAddress, price, slippage, getGasOnDestination, sourceUserAddress, degenMode, destinationAddress, fallbackAddress, quoteOnly, fromChainType) => [
123
123
  ...keys().transactions(),
124
124
  QueryKeys.Transaction,
125
125
  fromChainId,
@@ -133,6 +133,8 @@ export const keys = () => ({
133
133
  degenMode,
134
134
  destinationAddress,
135
135
  fallbackAddress,
136
+ quoteOnly,
137
+ fromChainType,
136
138
  ],
137
139
  transactionStatus: (currentTransaction) => [
138
140
  ...keys().transactions(),
@@ -1 +1 @@
1
- {"version":3,"file":"queries-keys.js","sourceRoot":"","sources":["../../../src/core/queries/queries-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries-keys.js","sourceRoot":"","sources":["../../../src/core/queries/queries-keys.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,12 @@ export declare enum WindowWalletFlag {
26
26
  Zerion = "zerionWallet",
27
27
  Snapper = "cosmos",
28
28
  Exodus = "exodus",
29
- Rainbow = "rainbow"
29
+ Rainbow = "rainbow",
30
+ Phantom = "phantom.solana",
31
+ PhantomBTC = "phantom.bitcoin",
32
+ Unisat = "unisat"
30
33
  }
31
- export type ConnectorID = "metaMaskSDK" | "coinbaseWalletSDK" | "walletConnect" | "blockchaindotcom" | "keplr" | "cosmostation" | "cosmostationCosmos" | "leap" | "xdefi" | "xdeficosmos" | "bitget" | "coin98" | "rabby" | "okx" | "injected" | "zerion" | "deficonnect" | "snapper" | "trustwallet" | "exodus" | "rainbow";
34
+ export type ConnectorID = "metaMaskSDK" | "coinbaseWalletSDK" | "walletConnect" | "blockchaindotcom" | "keplr" | "cosmostation" | "cosmostationCosmos" | "leap" | "xdefi" | "xdeficosmos" | "bitget" | "coin98" | "rabby" | "okx" | "injected" | "zerion" | "deficonnect" | "snapper" | "trustwallet" | "exodus" | "rainbow" | "phantom" | "phantomBTC" | "unisat";
32
35
  export interface EvmWallet extends Wallet {
33
36
  type: ChainType.EVM;
34
37
  connector: (chains?: Chain[]) => CreateConnectorFn;
@@ -37,6 +40,12 @@ export interface CosmosWallet extends Wallet {
37
40
  type: ChainType.COSMOS;
38
41
  connector?: (chains?: Chain[]) => CreateConnectorFn;
39
42
  }
43
+ export interface SolanaWallet extends Wallet {
44
+ type: ChainType.SOLANA;
45
+ }
46
+ export interface BitcoinWallet extends Wallet {
47
+ type: ChainType.BTC;
48
+ }
40
49
  export interface Wallet {
41
50
  name: string;
42
51
  type: ChainType;
@@ -22,5 +22,8 @@ export var WindowWalletFlag;
22
22
  WindowWalletFlag["Snapper"] = "cosmos";
23
23
  WindowWalletFlag["Exodus"] = "exodus";
24
24
  WindowWalletFlag["Rainbow"] = "rainbow";
25
+ WindowWalletFlag["Phantom"] = "phantom.solana";
26
+ WindowWalletFlag["PhantomBTC"] = "phantom.bitcoin";
27
+ WindowWalletFlag["Unisat"] = "unisat";
25
28
  })(WindowWalletFlag || (WindowWalletFlag = {}));
26
29
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/core/types/wallet.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,gBAuBX;AAvBD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,wDAAoC,CAAA;IACpC,oDAAgC,CAAA;IAChC,mDAA+B,CAAA;IAC/B,oDAAgC,CAAA;IAChC,yDAAqC,CAAA;IACrC,uEAAmD,CAAA;IACnD,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,6CAAyB,CAAA;IACzB,sCAAkB,CAAA;IAClB,+CAA2B,CAAA;IAC3B,qCAAiB,CAAA;IACjB,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,uDAAmC,CAAA;IACnC,2CAAuB,CAAA;IACvB,sCAAkB,CAAA;IAClB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAvBW,gBAAgB,KAAhB,gBAAgB,QAuB3B"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/core/types/wallet.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,gBA0BX;AA1BD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,wDAAoC,CAAA;IACpC,oDAAgC,CAAA;IAChC,mDAA+B,CAAA;IAC/B,oDAAgC,CAAA;IAChC,yDAAqC,CAAA;IACrC,uEAAmD,CAAA;IACnD,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,6CAAyB,CAAA;IACzB,sCAAkB,CAAA;IAClB,+CAA2B,CAAA;IAC3B,qCAAiB,CAAA;IACjB,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,uDAAmC,CAAA;IACnC,2CAAuB,CAAA;IACvB,sCAAkB,CAAA;IAClB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,8CAA0B,CAAA;IAC1B,kDAA8B,CAAA;IAC9B,qCAAiB,CAAA;AACnB,CAAC,EA1BW,gBAAgB,KAAhB,gBAAgB,QA0B3B"}
@@ -330,8 +330,51 @@ const cosmosWallets = [
330
330
  canSwitchWallets: false,
331
331
  },
332
332
  ];
333
+ const solanaWallets = [
334
+ {
335
+ name: "Phantom",
336
+ type: ChainType.SOLANA,
337
+ connectorId: "phantom",
338
+ connectorName: "Phantom",
339
+ windowFlag: WindowWalletFlag.Phantom,
340
+ icon: `${walletIconBaseUrl}/phantom.webp`,
341
+ canSwitchWallets: false,
342
+ isMobile: true,
343
+ },
344
+ ];
345
+ const bitcoinWallets = [
346
+ {
347
+ name: "Phantom",
348
+ type: ChainType.BTC,
349
+ connectorId: "phantomBTC",
350
+ connectorName: "Phantom",
351
+ windowFlag: WindowWalletFlag.PhantomBTC,
352
+ icon: `${walletIconBaseUrl}/phantom.webp`,
353
+ canSwitchWallets: false,
354
+ isMobile: true,
355
+ },
356
+ {
357
+ name: "Unisat",
358
+ type: ChainType.BTC,
359
+ connectorId: "unisat",
360
+ canSwitchWallets: false,
361
+ isMobile: true,
362
+ icon: `${walletIconBaseUrl}/unisat.webp`,
363
+ connectorName: "Unisat",
364
+ windowFlag: WindowWalletFlag.Unisat,
365
+ },
366
+ ];
333
367
  // Merge EVM and Cosmos wallets
334
- export const formattedWallets = [...evmWallets, ...cosmosWallets];
368
+ export const formattedWallets = [
369
+ ...evmWallets,
370
+ ...cosmosWallets,
371
+ ...solanaWallets,
372
+ ...bitcoinWallets,
373
+ ];
374
+ const phantomWalletStoreLinks = {
375
+ chrome: "https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa",
376
+ firefox: "https://addons.mozilla.org/en-US/firefox/addon/phantom-app/",
377
+ };
335
378
  export const walletStoreLinks = {
336
379
  leap: {
337
380
  chrome: "https://chrome.google.com/webstore/detail/leap-cosmos-wallet/fcfcfllfndlomdhbehjjcoimbgofdncg",
@@ -417,5 +460,11 @@ export const walletStoreLinks = {
417
460
  chrome: "https://chromewebstore.google.com/detail/rainbow/opfgelmcmbiajamepnmloijbpoleiama",
418
461
  firefox: "https://addons.mozilla.org/en-US/firefox/addon/rainbow-extension",
419
462
  },
463
+ phantom: phantomWalletStoreLinks,
464
+ phantomBTC: phantomWalletStoreLinks,
465
+ unisat: {
466
+ chrome: "https://chromewebstore.google.com/detail/unisat-wallet/ppbibelpcjmhbdihakflkdcoccbgbkpo",
467
+ firefox: "",
468
+ },
420
469
  };
421
470
  //# sourceMappingURL=wallets.js.map