@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.
- package/dist/core/connectors/bitcoin/helpers.d.ts +5 -0
- package/dist/core/connectors/bitcoin/helpers.js +86 -0
- package/dist/core/connectors/bitcoin/helpers.js.map +1 -0
- package/dist/core/connectors/bitcoin/index.d.ts +6 -0
- package/dist/core/connectors/bitcoin/index.js +2 -0
- package/dist/core/connectors/bitcoin/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/index.d.ts +2 -0
- package/dist/core/connectors/bitcoin/wallets/index.js +3 -0
- package/dist/core/connectors/bitcoin/wallets/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.d.ts +19 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js +54 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.d.ts +11 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js +16 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js.map +1 -0
- package/dist/core/constants.d.ts +12 -0
- package/dist/core/constants.js +23 -0
- 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/externalLinks.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/providers/SolanaProvider.d.ts +28 -0
- package/dist/core/providers/SolanaProvider.js +15 -0
- package/dist/core/providers/SolanaProvider.js.map +1 -0
- package/dist/core/queries/queries-keys.d.ts +1 -1
- package/dist/core/queries/queries-keys.js +3 -1
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/wallet.d.ts +11 -2
- package/dist/core/types/wallet.js +3 -0
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/wallets.js +50 -1
- package/dist/core/wallets.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.js +2 -1
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/cosmos/useCosmosForChain.js +1 -2
- package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/solana/useSolana.d.ts +27 -0
- package/dist/hooks/solana/useSolana.js +86 -0
- package/dist/hooks/solana/useSolana.js.map +1 -0
- package/dist/hooks/store/useHistoryStore.d.ts +1 -1
- package/dist/hooks/store/useWalletStore.js +1 -0
- package/dist/hooks/store/useWalletStore.js.map +1 -1
- package/dist/hooks/swap/useDepositAddress.d.ts +9 -0
- package/dist/hooks/swap/useDepositAddress.js +45 -0
- package/dist/hooks/swap/useDepositAddress.js.map +1 -0
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +26 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +16 -5
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +122 -1
- package/dist/hooks/tokens/useBalance.js +25 -0
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +24 -7
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +11 -1
- package/dist/hooks/tokens/useNativeBalance.js +81 -11
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.d.ts +4 -0
- package/dist/hooks/tokens/useNativeTokenForChain.js +26 -0
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -0
- package/dist/hooks/tokens/useSquidTokens.d.ts +2 -0
- package/dist/hooks/tokens/useSquidTokens.js +5 -1
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.d.ts +2 -2
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +2 -2
- package/dist/hooks/transaction/useExecuteTransaction.js +161 -15
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +11 -8
- package/dist/hooks/transaction/useGetRoute.js +20 -7
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.d.ts +1 -1
- package/dist/hooks/user/useHistory.js +2 -2
- package/dist/hooks/user/useHistory.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +34 -11
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +4 -0
- package/dist/hooks/wallet/useSigner.js +22 -0
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.js +44 -12
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/provider/index.js +3 -1
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/rpcService.d.ts +9 -1
- package/dist/services/external/rpcService.js +119 -1
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +3 -1
- package/dist/services/internal/assetsService.js +7 -4
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/bitcoinService.d.ts +14 -0
- package/dist/services/internal/bitcoinService.js +53 -0
- package/dist/services/internal/bitcoinService.js.map +1 -0
- package/dist/services/internal/cosmosService.d.ts +37 -0
- package/dist/services/internal/cosmosService.js +97 -0
- package/dist/services/internal/cosmosService.js.map +1 -0
- package/dist/services/internal/estimateService.d.ts +2 -2
- package/dist/services/internal/evmService.d.ts +16 -0
- package/dist/services/internal/evmService.js +40 -0
- package/dist/services/internal/evmService.js.map +1 -0
- package/dist/services/internal/priceService.d.ts +5 -0
- package/dist/services/internal/priceService.js +19 -5
- package/dist/services/internal/priceService.js.map +1 -1
- package/dist/services/internal/solanaService.d.ts +39 -0
- package/dist/services/internal/solanaService.js +71 -0
- package/dist/services/internal/solanaService.js.map +1 -0
- package/dist/services/internal/transactionService.d.ts +5 -5
- package/dist/services/internal/transactionService.js +15 -6
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +3 -55
- package/dist/services/internal/walletService.js +16 -151
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/tests/assetsService.test.js +37 -2
- package/dist/tests/assetsService.test.js.map +1 -1
- package/dist/tests/estimateService.test.js.map +1 -1
- package/dist/tests/priceService.test.d.ts +1 -0
- package/dist/tests/priceService.test.js +38 -0
- package/dist/tests/priceService.test.js.map +1 -0
- package/dist/tests/walletService.test.js +0 -1
- package/dist/tests/walletService.test.js.map +1 -1
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -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"}
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -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;
|
package/dist/core/constants.js
CHANGED
|
@@ -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;
|
|
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://
|
|
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://
|
|
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,
|
|
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"}
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.js
CHANGED
package/dist/core/index.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/core/wallets.js
CHANGED
|
@@ -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 = [
|
|
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
|