@0xsquid/react-hooks 4.0.5 → 5.0.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 +12 -0
- package/dist/core/connectors/bitcoin/errors/index.js +22 -0
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -0
- 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 +9 -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 +27 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js +56 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.d.ts +15 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js +28 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js.map +1 -0
- package/dist/core/constants.d.ts +20 -0
- package/dist/core/constants.js +37 -0
- package/dist/core/constants.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/swap.d.ts +1 -0
- package/dist/core/types/transaction.d.ts +2 -0
- package/dist/core/types/transaction.js +1 -0
- package/dist/core/types/transaction.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 +2 -1
- package/dist/hooks/store/useHistoryStore.js.map +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 +19 -0
- package/dist/hooks/swap/useDepositAddress.js +86 -0
- package/dist/hooks/swap/useDepositAddress.js.map +1 -0
- package/dist/hooks/swap/useSwap.d.ts +1 -1
- package/dist/hooks/swap/useSwap.js +9 -23
- package/dist/hooks/swap/useSwap.js.map +1 -1
- 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 +3 -1
- package/dist/hooks/tokens/useSquidTokens.js +10 -2
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/useAllTransactionsStatus.js +12 -4
- package/dist/hooks/transaction/useAllTransactionsStatus.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 +191 -20
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +13 -9
- package/dist/hooks/transaction/useGetRoute.js +27 -9
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.d.ts +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
- package/dist/hooks/user/useHistory.js +4 -3
- 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 +7 -12
- package/dist/services/internal/assetsService.js +14 -11
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/bitcoinService.d.ts +6 -0
- package/dist/services/internal/bitcoinService.js +43 -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/estimateService.js +4 -4
- package/dist/services/internal/estimateService.js.map +1 -1
- 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/solanaService.d.ts +41 -0
- package/dist/services/internal/solanaService.js +82 -0
- package/dist/services/internal/solanaService.js.map +1 -0
- package/dist/services/internal/transactionService.d.ts +7 -5
- package/dist/services/internal/transactionService.js +20 -8
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +3 -55
- package/dist/services/internal/walletService.js +19 -151
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/tests/estimateService.test.js.map +1 -1
- package/dist/tests/swapConfig.test.js +55 -18
- package/dist/tests/swapConfig.test.js.map +1 -1
- package/dist/tests/walletService.test.js +0 -1
- package/dist/tests/walletService.test.js.map +1 -1
- package/package.json +12 -8
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class BitcoinConnectorError extends Error {
|
|
2
|
+
constructor(message: string);
|
|
3
|
+
}
|
|
4
|
+
export declare class BitcoinConnectorProviderNotFoundError extends BitcoinConnectorError {
|
|
5
|
+
constructor(providerName: string);
|
|
6
|
+
}
|
|
7
|
+
export declare class BitcoinConnectorTransactionFailedError extends BitcoinConnectorError {
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
export declare class BitcoinConnectorInvalidAccountError extends BitcoinConnectorError {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class BitcoinConnectorError extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.name = "BitcoinConnectorError";
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class BitcoinConnectorProviderNotFoundError extends BitcoinConnectorError {
|
|
8
|
+
constructor(providerName) {
|
|
9
|
+
super(`Bitcoin provider ${providerName} not found`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class BitcoinConnectorTransactionFailedError extends BitcoinConnectorError {
|
|
13
|
+
constructor() {
|
|
14
|
+
super("Bitcoin transaction failed");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class BitcoinConnectorInvalidAccountError extends BitcoinConnectorError {
|
|
18
|
+
constructor() {
|
|
19
|
+
super("Bitcoin account is invalid");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,qBAAqB;IAC9E,YAAY,YAAoB;QAC9B,KAAK,CAAC,oBAAoB,YAAY,YAAY,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,OAAO,sCAAuC,SAAQ,qBAAqB;IAC/E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,qBAAqB;IAC5E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -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,27 @@
|
|
|
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
|
+
interface PhantomProvider {
|
|
9
|
+
requestAccounts: () => Promise<PhantomBitcoinAccount[]>;
|
|
10
|
+
signPSBT: (psbt: Uint8Array, options: {
|
|
11
|
+
inputsToSign: {
|
|
12
|
+
address: string;
|
|
13
|
+
signingIndexes: number[];
|
|
14
|
+
}[];
|
|
15
|
+
}) => Promise<Uint8Array>;
|
|
16
|
+
}
|
|
17
|
+
export declare class PhantomConnector implements BitcoinConnector {
|
|
18
|
+
get getProvider(): PhantomProvider;
|
|
19
|
+
requestAccount(): Promise<{
|
|
20
|
+
address: string;
|
|
21
|
+
}>;
|
|
22
|
+
sendBTC(to: string, amount: number): Promise<{
|
|
23
|
+
txHash: string;
|
|
24
|
+
}>;
|
|
25
|
+
private signPsbt;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as bitcoin from "bitcoinjs-lib";
|
|
2
|
+
import { BitcoinConnectorInvalidAccountError, BitcoinConnectorProviderNotFoundError, BitcoinConnectorTransactionFailedError, } from "../errors";
|
|
3
|
+
import { broadcastTx, createSendBtcPsbt, fromHexString } from "../helpers";
|
|
4
|
+
const MAINNET = bitcoin.networks.bitcoin;
|
|
5
|
+
export class PhantomConnector {
|
|
6
|
+
get getProvider() {
|
|
7
|
+
const provider = window?.phantom?.bitcoin;
|
|
8
|
+
if (!provider) {
|
|
9
|
+
throw new BitcoinConnectorProviderNotFoundError("Phantom");
|
|
10
|
+
}
|
|
11
|
+
return provider;
|
|
12
|
+
}
|
|
13
|
+
async requestAccount() {
|
|
14
|
+
const phantomAccounts = await this.getProvider.requestAccounts();
|
|
15
|
+
if (!phantomAccounts)
|
|
16
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
17
|
+
const paymentAccount = phantomAccounts.find((account) => account.purpose === "payment");
|
|
18
|
+
if (typeof paymentAccount?.address !== "string") {
|
|
19
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
address: paymentAccount.address,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
async sendBTC(to, amount) {
|
|
26
|
+
const { address } = await this.requestAccount();
|
|
27
|
+
const { psbtHex } = await createSendBtcPsbt(address, to, amount);
|
|
28
|
+
const { txId } = await this.signPsbt(psbtHex);
|
|
29
|
+
if (!txId)
|
|
30
|
+
throw new BitcoinConnectorTransactionFailedError();
|
|
31
|
+
return { txHash: txId };
|
|
32
|
+
}
|
|
33
|
+
async signPsbt(psbtHex) {
|
|
34
|
+
const { address: paymentAddress } = await this.requestAccount();
|
|
35
|
+
const toSignPsbt = bitcoin.Psbt.fromHex(String(psbtHex), {
|
|
36
|
+
network: MAINNET,
|
|
37
|
+
});
|
|
38
|
+
const inputs = toSignPsbt.data.inputs;
|
|
39
|
+
const inputsToSign = [
|
|
40
|
+
{
|
|
41
|
+
// Need to sign each input with the payment address
|
|
42
|
+
address: paymentAddress,
|
|
43
|
+
signingIndexes: inputs.map((_, index) => index),
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
const signedPsbtBytes = await this.getProvider.signPSBT(fromHexString(psbtHex), {
|
|
47
|
+
inputsToSign,
|
|
48
|
+
});
|
|
49
|
+
const signedPsbt = bitcoin.Psbt.fromBuffer(signedPsbtBytes);
|
|
50
|
+
signedPsbt.finalizeAllInputs();
|
|
51
|
+
const tx = signedPsbt.extractTransaction();
|
|
52
|
+
const txId = await broadcastTx(tx.toHex());
|
|
53
|
+
return { txId };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# 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,EACL,mCAAmC,EACnC,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAsBzC,MAAM,OAAO,gBAAgB;IAC3B,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,OAAO,EAAE,OAAO,CAAC;QAEnD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,qCAAqC,CAAC,SAAS,CAAC,CAAC;SAC5D;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEjE,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,mCAAmC,EAAE,CAAC;QAEtE,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CACzC,CAAC,OAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAChE,CAAC;QAEF,IAAI,OAAO,cAAc,EAAE,OAAO,KAAK,QAAQ,EAAE;YAC/C,MAAM,IAAI,mCAAmC,EAAE,CAAC;SACjD;QAED,OAAO;YACL,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sCAAsC,EAAE,CAAC;QAE9D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAe;QAGpC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhE,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,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CACrD,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,15 @@
|
|
|
1
|
+
import { BitcoinConnector } from "..";
|
|
2
|
+
interface UnisatProvider {
|
|
3
|
+
sendBitcoin: (to: string, amount: number) => Promise<string>;
|
|
4
|
+
requestAccounts: () => Promise<string[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare class UnisatConnector implements BitcoinConnector {
|
|
7
|
+
get getProvider(): UnisatProvider;
|
|
8
|
+
sendBTC(to: string, amount: number): Promise<{
|
|
9
|
+
txHash: string;
|
|
10
|
+
}>;
|
|
11
|
+
requestAccount(): Promise<{
|
|
12
|
+
address: string;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BitcoinConnectorInvalidAccountError, BitcoinConnectorProviderNotFoundError, BitcoinConnectorTransactionFailedError, } from "../errors";
|
|
2
|
+
export class UnisatConnector {
|
|
3
|
+
get getProvider() {
|
|
4
|
+
const provider = window?.unisat;
|
|
5
|
+
if (!provider) {
|
|
6
|
+
throw new BitcoinConnectorProviderNotFoundError("Unisat");
|
|
7
|
+
}
|
|
8
|
+
return provider;
|
|
9
|
+
}
|
|
10
|
+
async sendBTC(to, amount) {
|
|
11
|
+
const txHash = await this.getProvider.sendBitcoin(to, amount);
|
|
12
|
+
if (!txHash) {
|
|
13
|
+
throw new BitcoinConnectorTransactionFailedError();
|
|
14
|
+
}
|
|
15
|
+
return { txHash };
|
|
16
|
+
}
|
|
17
|
+
async requestAccount() {
|
|
18
|
+
const accounts = await this.getProvider.requestAccounts();
|
|
19
|
+
const account = accounts[0];
|
|
20
|
+
if (typeof account !== "string") {
|
|
21
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
address: account,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=unisat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unisat.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/unisat.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,WAAW,CAAC;AAOnB,MAAM,OAAO,eAAe;IAC1B,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,MAAM,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,qCAAqC,CAAC,QAAQ,CAAC,CAAC;SAC3D;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,EAAE;YACX,MAAM,IAAI,sCAAsC,EAAE,CAAC;SACpD;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEpE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,mCAAmC,EAAE,CAAC;SACjD;QAED,OAAO;YACL,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,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://mainnet.helius-rpc.com/?api-key=92cf5e34-f897-4fcc-8c05-23d6a8002a17";
|
|
15
19
|
export declare const INTEGRATOR_ID = "squid-swap-widget-v2";
|
|
16
20
|
export declare const CHAIN_RPC_MAPPING: {
|
|
17
21
|
[key: string]: string;
|
|
@@ -37,7 +41,23 @@ export declare const CHAIN_IDS: {
|
|
|
37
41
|
mainnet: string;
|
|
38
42
|
testnet: string;
|
|
39
43
|
};
|
|
44
|
+
ARBITRUM: {
|
|
45
|
+
mainnet: string;
|
|
46
|
+
testnet: string;
|
|
47
|
+
};
|
|
48
|
+
BITCOIN: {
|
|
49
|
+
mainnet: string;
|
|
50
|
+
testnet: string;
|
|
51
|
+
};
|
|
52
|
+
SOLANA: {
|
|
53
|
+
mainnet: string;
|
|
54
|
+
testnet: string;
|
|
55
|
+
};
|
|
40
56
|
};
|
|
57
|
+
export declare const SUPPORTED_DESTINATION_CHAINS_FOR_BITCOIN_BRIDGE: Array<{
|
|
58
|
+
chainId: string;
|
|
59
|
+
networkName: string;
|
|
60
|
+
}>;
|
|
41
61
|
export declare const widgetHeaderSize: {
|
|
42
62
|
height: number;
|
|
43
63
|
paddingY: 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://mainnet.helius-rpc.com/?api-key=92cf5e34-f897-4fcc-8c05-23d6a8002a17";
|
|
17
30
|
export const INTEGRATOR_ID = "squid-swap-widget-v2";
|
|
18
31
|
export const CHAIN_RPC_MAPPING = {
|
|
19
32
|
"137": "https://polygon.llamarpc.com",
|
|
@@ -44,7 +57,29 @@ export const CHAIN_IDS = {
|
|
|
44
57
|
mainnet: "1",
|
|
45
58
|
testnet: "5",
|
|
46
59
|
},
|
|
60
|
+
ARBITRUM: {
|
|
61
|
+
mainnet: "42161",
|
|
62
|
+
testnet: "421613",
|
|
63
|
+
},
|
|
64
|
+
BITCOIN: {
|
|
65
|
+
mainnet: "bitcoin",
|
|
66
|
+
testnet: "bitcoin",
|
|
67
|
+
},
|
|
68
|
+
SOLANA: {
|
|
69
|
+
mainnet: "solana-mainnet-beta",
|
|
70
|
+
testnet: "solana-testnet",
|
|
71
|
+
},
|
|
47
72
|
};
|
|
73
|
+
export const SUPPORTED_DESTINATION_CHAINS_FOR_BITCOIN_BRIDGE = [
|
|
74
|
+
{
|
|
75
|
+
chainId: CHAIN_IDS.ETHEREUM.mainnet,
|
|
76
|
+
networkName: "Ethereum",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
chainId: CHAIN_IDS.ARBITRUM.mainnet,
|
|
80
|
+
networkName: "Arbitrum",
|
|
81
|
+
},
|
|
82
|
+
];
|
|
48
83
|
export const widgetHeaderSize = {
|
|
49
84
|
height: 60,
|
|
50
85
|
paddingY: 16,
|
|
@@ -68,6 +103,8 @@ export const axelarSuccessStatuses = [
|
|
|
68
103
|
"executed",
|
|
69
104
|
"express_executed",
|
|
70
105
|
"success",
|
|
106
|
+
// Chainflip
|
|
107
|
+
"COMPLETE",
|
|
71
108
|
];
|
|
72
109
|
export const axelarEndStatuses = [
|
|
73
110
|
...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;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAEpD,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,aAAa;IAC3B,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;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"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"}
|
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,EACL,SAAS,EACT,+CAA+C,EAC/C,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,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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"}
|
|
@@ -28,6 +28,7 @@ export declare enum TransactionStatus {
|
|
|
28
28
|
PARTIAL_SUCCESS = "partial_success",
|
|
29
29
|
NOT_FOUND = "not_found",
|
|
30
30
|
INITIAL_LOADING = "initialLoading",
|
|
31
|
+
GENERATING_DEPOSIT = "generating_deposit",
|
|
31
32
|
ERROR = "error",
|
|
32
33
|
WARNING = "warning",
|
|
33
34
|
PENDING = "pending",
|
|
@@ -38,6 +39,7 @@ export interface TransactionParams {
|
|
|
38
39
|
fromChain?: ChainData;
|
|
39
40
|
toChain?: ChainData;
|
|
40
41
|
nonce?: number;
|
|
42
|
+
transactionIdForStatus?: string;
|
|
41
43
|
transactionId: string | undefined;
|
|
42
44
|
timestamp?: number;
|
|
43
45
|
sourceStatus?: TransactionStatus;
|
|
@@ -30,6 +30,7 @@ export var TransactionStatus;
|
|
|
30
30
|
TransactionStatus["NOT_FOUND"] = "not_found";
|
|
31
31
|
// Unsubmitted Transaction, can be status from wallet
|
|
32
32
|
TransactionStatus["INITIAL_LOADING"] = "initialLoading";
|
|
33
|
+
TransactionStatus["GENERATING_DEPOSIT"] = "generating_deposit";
|
|
33
34
|
TransactionStatus["ERROR"] = "error";
|
|
34
35
|
TransactionStatus["WARNING"] = "warning";
|
|
35
36
|
TransactionStatus["PENDING"] = "pending";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/types/transaction.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,8CAA2B,CAAA;IAC3B,8CAA2B,CAAA;IAC3B,wDAAqC,CAAA;AACvC,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAClC,+EAAmD,CAAA;IACnD,yEAA6C,CAAA;IAC7C,iEAAqC,CAAA;IACrC,+EAAmD,CAAA;IACnD,2EAA+C,CAAA;IAC/C,wEAA4C,CAAA;IAC5C,kFAAsD,CAAA;IACtD,mFAAuD,CAAA;IACvD,+DAAmC,CAAA;IACnC,2DAA+B,CAAA;IAC/B,uEAA2C,CAAA;IAC3C,2CAAe,CAAA;AACjB,CAAC,EAbW,wBAAwB,KAAxB,wBAAwB,QAanC;AAED,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/types/transaction.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,8CAA2B,CAAA;IAC3B,8CAA2B,CAAA;IAC3B,wDAAqC,CAAA;AACvC,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAClC,+EAAmD,CAAA;IACnD,yEAA6C,CAAA;IAC7C,iEAAqC,CAAA;IACrC,+EAAmD,CAAA;IACnD,2EAA+C,CAAA;IAC/C,wEAA4C,CAAA;IAC5C,kFAAsD,CAAA;IACtD,mFAAuD,CAAA;IACvD,+DAAmC,CAAA;IACnC,2DAA+B,CAAA;IAC/B,uEAA2C,CAAA;IAC3C,2CAAe,CAAA;AACjB,CAAC,EAbW,wBAAwB,KAAxB,wBAAwB,QAanC;AAED,MAAM,CAAN,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IAC3B,kDAAkD;IAClD,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,wDAAmC,CAAA;IACnC,4CAAuB,CAAA;IACvB,qDAAqD;IACrD,uDAAkC,CAAA;IAClC,8DAAyC,CAAA;IACzC,oCAAe,CAAA;IACf,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;AACvB,CAAC,EAdW,iBAAiB,KAAjB,iBAAiB,QAc5B"}
|
|
@@ -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;
|