Описание изменений
This commit is contained in:
@@ -1,17 +1,50 @@
|
||||
import { ref } from 'vue';
|
||||
import { ethers } from 'ethers';
|
||||
|
||||
export function useEthereum() {
|
||||
const address = ref('');
|
||||
const isConnected = ref(true);
|
||||
const isConnected = ref(false);
|
||||
const provider = ref(null);
|
||||
const signer = ref(null);
|
||||
|
||||
async function connect() {
|
||||
console.log('Имитация подключения к кошельку');
|
||||
return { success: true };
|
||||
if (window.ethereum) {
|
||||
try {
|
||||
// Запрашиваем доступ к кошельку
|
||||
await window.ethereum.request({ method: 'eth_requestAccounts' });
|
||||
// Используем синтаксис ethers.js v6
|
||||
provider.value = new ethers.BrowserProvider(window.ethereum);
|
||||
signer.value = await provider.value.getSigner();
|
||||
address.value = await signer.value.getAddress();
|
||||
isConnected.value = true;
|
||||
|
||||
console.log('Подключение успешно:', address.value);
|
||||
return { success: true, address: address.value };
|
||||
} catch (error) {
|
||||
console.error('Ошибка подключения к кошельку:', error);
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
} else {
|
||||
console.error('Ethereum wallet not found. Please install MetaMask.');
|
||||
return { success: false, error: 'Ethereum wallet not found. Please install MetaMask.' };
|
||||
}
|
||||
}
|
||||
|
||||
async function getContract() {
|
||||
console.log('Имитация получения контракта');
|
||||
return {};
|
||||
async function getContract(contractAddress, contractABI) {
|
||||
if (!signer.value) {
|
||||
console.error('Подключите кошелек перед получением контракта.');
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
// Используем синтаксис ethers.js v6
|
||||
const contract = new ethers.Contract(contractAddress, contractABI, signer.value);
|
||||
console.log('Контракт получен:', contract);
|
||||
return contract;
|
||||
} catch (error) {
|
||||
console.error('Ошибка получения контракта:', error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user