@coin-voyage/crypto 2.0.0-beta.0 → 2.0.1

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.
@@ -1,3 +1,4 @@
1
+ import { getValue } from "@coin-voyage/shared/common";
1
2
  import { createClient, http } from "viem";
2
3
  import { createConfig, injected } from "wagmi";
3
4
  import { safe, } from "wagmi/connectors";
@@ -10,7 +11,6 @@ import { extendConnector } from "./utils";
10
11
  export function createDefaultEVMConfig(props) {
11
12
  const connectors = [...(props?.connectors ?? [])];
12
13
  const anyWindow = typeof window !== "undefined" ? window : undefined;
13
- const localStorage = anyWindow?.localStorage;
14
14
  // in Multisig env, window.parent is not equal to window
15
15
  const shouldUseSafeConnector = anyWindow && anyWindow.parent !== anyWindow;
16
16
  const multiInjectedProviderDiscovery = shouldUseSafeConnector
@@ -22,12 +22,12 @@ export function createDefaultEVMConfig(props) {
22
22
  }));
23
23
  }
24
24
  // Retrieve the ID of the most recently connected wallet connector from storage
25
- const recentConnectorId = localStorage?.getItem(`wagmi.recentConnectorId`);
25
+ const recentConnectorId = getValue(`wagmi.recentConnectorId`);
26
26
  // If WalletConnect is the most recently connected wallet or lazy loading is disabled,
27
27
  // add the WalletConnect connector to the beginning of the connectors list
28
28
  if (anyWindow) {
29
29
  const walletConnect = getWalletConnectConnector(props?.walletConnect);
30
- if (recentConnectorId?.includes?.("walletConnect") || !props?.lazy) {
30
+ if (recentConnectorId === walletConnect.id || !props?.lazy) {
31
31
  connectors.unshift(walletConnect);
32
32
  }
33
33
  else {
@@ -41,7 +41,7 @@ export function createDefaultEVMConfig(props) {
41
41
  const coinbase = createCoinbaseConnector(props?.coinbase ?? {
42
42
  appName: "Coin Voyage",
43
43
  });
44
- if (recentConnectorId?.includes?.("coinbaseWalletSDK") || !props?.lazy) {
44
+ if (recentConnectorId === coinbase.id || !props?.lazy) {
45
45
  connectors.unshift(coinbase);
46
46
  }
47
47
  else {
@@ -49,8 +49,9 @@ export function createDefaultEVMConfig(props) {
49
49
  }
50
50
  }
51
51
  if (props?.metaMask && !isWalletInstalled("metaMask")) {
52
- if (recentConnectorId?.includes?.("metaMaskSDK") || !props.lazy) {
53
- connectors.unshift(createMetaMaskConnector(props.metaMask));
52
+ const metamaskConnector = createMetaMaskConnector(props.metaMask);
53
+ if (recentConnectorId?.split(",").includes(metamaskConnector.id) || !props.lazy) {
54
+ connectors.unshift(metamaskConnector);
54
55
  }
55
56
  }
56
57
  const config = createConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"create-default-evm-config.js","sourceRoot":"","sources":["../../src/evm/create-default-evm-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-default-evm-config.js","sourceRoot":"","sources":["../../src/evm/create-default-evm-config.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
+ import { getValue, setValue } from "@coin-voyage/shared/common";
1
2
  import { useEffect, useState } from "react";
2
3
  export const useLastConnector = () => {
3
4
  const [lastConnectorId, setLastConnectorId] = useState(null);
4
5
  useEffect(() => {
5
- const id = localStorage?.getItem("@coin-voyage/recentConnectorId");
6
+ const id = getValue("@coin-voyage/recentConnectorId");
6
7
  setLastConnectorId(id ?? "");
7
8
  }, []);
8
9
  const updateLastConnectorId = (id) => {
9
- localStorage?.setItem("@coin-voyage/recentConnectorId", id);
10
+ setValue("@coin-voyage/recentConnectorId", id);
10
11
  };
11
12
  return { lastConnectorId, updateLastConnectorId };
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-last-connector.js","sourceRoot":"","sources":["../../src/hooks/use-last-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAE3E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,YAAY,EAAE,OAAO,CAAC,gCAAgC,CAAC,CAAA;QAClE,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAE,EAAE;QAC3C,YAAY,EAAE,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAA;IAED,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAA;AACnD,CAAC,CAAA"}
1
+ {"version":3,"file":"use-last-connector.js","sourceRoot":"","sources":["../../src/hooks/use-last-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAE3E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAA;QACrD,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAE,EAAE;QAC3C,QAAQ,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAA;IAChD,CAAC,CAAA;IAED,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAA;AACnD,CAAC,CAAA"}
@@ -9,7 +9,7 @@ const wallets = [new CoinbaseWalletAdapter()];
9
9
  export function SolanaBaseProvider({ children, config }) {
10
10
  const solanaConfig = useMemo(() => config, [JSON.stringify(config)]);
11
11
  wallets.push(getWalletConnectConnector(solanaConfig?.walletConnect));
12
- return (_jsx(ConnectionProvider, { endpoint: solanaConfig?.rpcUrl ?? DEFAULT_SOLANA_RPC, children: _jsx(WalletProvider, { ...solanaConfig?.walletConfiguration, localStorageKey: solanaConfig?.walletConfiguration?.localStorageKey || "@coin-voyage/solana-wallet", autoConnect: solanaConfig?.walletConfiguration?.autoConnect || true, wallets: [...solanaConfig?.walletConfiguration?.wallets || [], ...wallets], children: children }) }));
12
+ return (_jsx(ConnectionProvider, { endpoint: solanaConfig?.rpcUrl ?? DEFAULT_SOLANA_RPC, children: _jsx(WalletProvider, { ...solanaConfig?.walletConfiguration, localStorageKey: solanaConfig?.walletConfiguration?.localStorageKey || "@coin-voyage/solana-wallet", autoConnect: solanaConfig?.walletConfiguration?.autoConnect, wallets: [...solanaConfig?.walletConfiguration?.wallets || [], ...wallets], children: children }) }));
13
13
  }
14
14
  function getWalletConnectConnector(params) {
15
15
  return new WalletConnectWalletAdapter({
@@ -1 +1 @@
1
- {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../src/solana/provider/base-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAgB,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,EAAE,OAAO,EAA0B,MAAM,OAAO,CAAA;AAIvD,MAAM,kBAAkB,GAAG,0EAA0E,CAAA;AAErG,MAAM,OAAO,GAAc,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAA;AAExD,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAInD;IACA,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAEpE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;IAEpE,OAAO,CACL,KAAC,kBAAkB,IAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,kBAAkB,YACtE,KAAC,cAAc,OACT,YAAY,EAAE,mBAAmB,EACrC,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,IAAI,4BAA4B,EACnG,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,IAAI,IAAI,EACnE,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,mBAAmB,EAAE,OAAO,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,YAEzE,QAAQ,GACM,GACE,CACtB,CAAA;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAgC;IACjE,OAAO,IAAI,0BAA0B,CAAC;QACpC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,OAAO,EAAE;YACP,IAAI,EAAE,eAAe;YACrB,SAAS,EACP,MAAM,EAAE,SAAS,IAAI,kCAAkC;YACzD,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,+BAA+B;YAC7D,QAAQ,EAAE,MAAM,EAAE,QAAQ;SAC3B;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../src/solana/provider/base-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAgB,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,EAAE,OAAO,EAA0B,MAAM,OAAO,CAAA;AAIvD,MAAM,kBAAkB,GAAG,0EAA0E,CAAA;AAErG,MAAM,OAAO,GAAc,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAA;AAExD,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAInD;IACA,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAEpE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;IAEpE,OAAO,CACL,KAAC,kBAAkB,IAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,kBAAkB,YACtE,KAAC,cAAc,OACT,YAAY,EAAE,mBAAmB,EACrC,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,IAAI,4BAA4B,EACnG,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAC3D,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,mBAAmB,EAAE,OAAO,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,YAEzE,QAAQ,GACM,GACE,CACtB,CAAA;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAgC;IACjE,OAAO,IAAI,0BAA0B,CAAC;QACpC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,OAAO,EAAE;YACP,IAAI,EAAE,eAAe;YACrB,SAAS,EACP,MAAM,EAAE,SAAS,IAAI,kCAAkC;YACzD,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,+BAA+B;YAC7D,QAAQ,EAAE,MAAM,EAAE,QAAQ;SAC3B;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -6,15 +6,20 @@ export function useSolanaTransaction() {
6
6
  const { connection } = useConnection();
7
7
  const wallet = useWallet();
8
8
  const execute = async (params) => {
9
+ if (!wallet.connected && wallet.wallet) {
10
+ try {
11
+ await wallet.connect();
12
+ }
13
+ catch {
14
+ throw new Error("Wallet not connected. Please reconnect your wallet and try again.");
15
+ }
16
+ }
9
17
  const { fromAddress, toAddress, amount, token } = params;
10
18
  let transaction = new Transaction();
11
19
  const senderPubKey = new PublicKey(fromAddress);
12
20
  const receiverPubKey = new PublicKey(toAddress);
13
21
  const instructions = [
14
- // add priority fees
15
- ComputeBudgetProgram.setComputeUnitPrice({
16
- microLamports: 1000000
17
- })
22
+ ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 1000000 })
18
23
  ];
19
24
  const value = BigInt(amount);
20
25
  // Native SOL transfer
@@ -40,14 +45,39 @@ export function useSolanaTransaction() {
40
45
  senderPubKey, // from's owner
41
46
  value, token.decimals));
42
47
  }
43
- const { context: { slot: minContextSlot }, value: { blockhash } } = await connection.getLatestBlockhashAndContext();
48
+ const { context: { slot: minContextSlot }, value: { blockhash, lastValidBlockHeight } } = await connection.getLatestBlockhashAndContext();
44
49
  transaction.feePayer = senderPubKey;
45
50
  transaction.recentBlockhash = blockhash;
46
51
  transaction.instructions = instructions;
47
- return await wallet.sendTransaction(transaction, connection, {
52
+ const signature = await wallet.sendTransaction(transaction, connection, {
48
53
  minContextSlot
49
54
  });
55
+ return waitForTransactionConfirmation(signature, connection, lastValidBlockHeight);
50
56
  };
51
57
  return { execute };
52
58
  }
59
+ async function waitForTransactionConfirmation(signature, connection, lastValidBlockHeight) {
60
+ const maxRetries = 30;
61
+ const retryDelay = 2000;
62
+ for (let i = 0; i < maxRetries; i++) {
63
+ const { value: statuses } = await connection.getSignatureStatuses([signature]);
64
+ const status = statuses[0];
65
+ if (status) {
66
+ if (status.err) {
67
+ throw new Error(`Transaction failed: ${JSON.stringify(status.err)}`);
68
+ }
69
+ if (status.confirmationStatus === "processed" ||
70
+ status.confirmationStatus === "confirmed" ||
71
+ status.confirmationStatus === "finalized") {
72
+ return signature;
73
+ }
74
+ }
75
+ // Check if blockhash expired
76
+ const blockHeight = await connection.getBlockHeight();
77
+ if (blockHeight > lastValidBlockHeight) {
78
+ throw new Error("Transaction expired. Please try again.");
79
+ }
80
+ await new Promise(resolve => setTimeout(resolve, retryDelay));
81
+ }
82
+ }
53
83
  //# sourceMappingURL=use-solana-transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-solana-transaction.js","sourceRoot":"","sources":["../../src/solana/use-solana-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,WAAW,EACX,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,oBAAoB;IAGlC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,KAAK,EAAE,MAA0B,EAAE,EAAE;QACnD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzD,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEpC,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAEhD,MAAM,YAAY,GAA6B;YAC7C,oBAAoB;YACpB,oBAAoB,CAAC,mBAAmB,CAAC;gBACvC,aAAa,EAAE,OAAS;aACzB,CAAC;SACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7B,sBAAsB;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,IAAI,CACf,aAAa,CAAC,QAAQ,CAAC;gBACrB,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,KAAK;aAChB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChD,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC;gBACpD,yBAAyB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC;aACtD,CAAC,CAAA;YAEF,MAAM,+BAA+B,GAAG,MAAM,iCAAiC,CAC7E,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,cAAc,CACf,CAAC;YACF,IAAI,+BAA+B,YAAY,sBAAsB,EAAE,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YAED,YAAY,CAAC,IAAI,CACf,gCAAgC,CAC9B,QAAQ,EAAE,OAAO;YACjB,IAAI,EACJ,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,eAAe;YAC7B,KAAK,EACL,KAAK,CAAC,QAAQ,CACf,CACF,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EACjC,KAAK,EAAE,EAAE,SAAS,EAAE,EACrB,GAAG,MAAM,UAAU,CAAC,4BAA4B,EAAE,CAAC;QAEpD,WAAW,CAAC,QAAQ,GAAG,YAAY,CAAC;QACpC,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,YAAY,GAAG,YAAY,CAAC;QAExC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE;YAC3D,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"use-solana-transaction.js","sourceRoot":"","sources":["../../src/solana/use-solana-transaction.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,6 @@ export function SuiBaseProvider({ children, config }) {
6
6
  return (_jsx(SuiClientProvider, { networks: {
7
7
  mainnet: { url: config?.rpcUrl ?? "https://fullnode.mainnet.sui.io:443" },
8
8
  devnet: { url: "https://fullnode.devnet.sui.io:443" },
9
- }, defaultNetwork: "mainnet", children: _jsx(WalletProvider, { ...suiConfig?.walletConfiguration, storageKey: suiConfig?.walletConfiguration?.storageKey || "@coin-voyage/sui-wallet", autoConnect: suiConfig?.walletConfiguration?.autoConnect || true, children: children }) }));
9
+ }, defaultNetwork: "mainnet", children: _jsx(WalletProvider, { ...suiConfig?.walletConfiguration, storageKey: suiConfig?.walletConfiguration?.storageKey || "@coin-voyage/sui-wallet", autoConnect: suiConfig?.walletConfiguration?.autoConnect, children: children }) }));
10
10
  }
11
11
  //# sourceMappingURL=base-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../src/sui/provider/base-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,OAAO,EAA0B,MAAM,OAAO,CAAA;AAGvD,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAEhD;IACA,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO,CACL,KAAC,iBAAiB,IAChB,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,IAAI,qCAAqC,EAAE;YACzE,MAAM,EAAE,EAAE,GAAG,EAAE,oCAAoC,EAAE;SACtD,EACD,cAAc,EAAC,SAAS,YAExB,KAAC,cAAc,OACT,SAAS,EAAE,mBAAmB,EAClC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,IAAI,yBAAyB,EACnF,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,IAAI,IAAI,YAChE,QAAQ,GAAkB,GACV,CACrB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../src/sui/provider/base-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,OAAO,EAA0B,MAAM,OAAO,CAAA;AAGvD,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAEhD;IACA,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO,CACL,KAAC,iBAAiB,IAChB,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,IAAI,qCAAqC,EAAE;YACzE,MAAM,EAAE,EAAE,GAAG,EAAE,oCAAoC,EAAE;SACtD,EACD,cAAc,EAAC,SAAS,YAExB,KAAC,cAAc,OACT,SAAS,EAAE,mBAAmB,EAClC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,IAAI,yBAAyB,EACnF,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,YAEvD,QAAQ,GACM,GACC,CACrB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coin-voyage/crypto",
3
3
  "description": "Crypto utilities for Coin Voyage",
4
- "version": "2.0.0-beta.0",
4
+ "version": "2.0.1",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "author": "Lars <lars@coinvoyage.io>",
@@ -50,7 +50,7 @@
50
50
  "@solana/wallet-adapter-walletconnect": "0.1.21",
51
51
  "@solana/wallet-adapter-base": "0.9.27",
52
52
  "@solana/wallet-adapter-coinbase": "0.1.23",
53
- "@coin-voyage/shared": "2.0.0-beta.0"
53
+ "@coin-voyage/shared": "2.0.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/elliptic": "6.4.18"
@@ -65,6 +65,11 @@
65
65
  "viem": "^2.41.2",
66
66
  "wagmi": "^2.19.5"
67
67
  },
68
+ "overrides": {
69
+ "@walletconnect/logger": {
70
+ "pino": "10.0.0"
71
+ }
72
+ },
68
73
  "scripts": {
69
74
  "watch": "tsc -w -p ./tsconfig.json",
70
75
  "build": "tsc --build --force",