Подскажите пожалуйста, использую wagmi и useWriteContract для отправки транзакции, вызываемая функция возвращает несколько значений. Как я могу их прочитать?
Читать полностью…я думал это работает как
create2 -> callee ctor (self destruct) -> контракт уничтожен
и можно снова звать create2, но у меня чето все улетает по газу в таком случае
Очевидно кто-то поменял поведение или адрес функции, на которую ссылаются обертки на js, java и kotlin.
Читать полностью…В общем что-то очень необычное, но уже вроде бы как обошёл это. Если передавать gasPrice=0 то начинает работать.
Читать полностью…1. хотел бы тебе посоветовать использовать viem вместо давно устаревшего web3
2. как будто бы веб3 видит что ты указал from
и пытается вызывать с такого-то адреса ее как write.
Всем привет. Начало происходить что-то странное. Сеть - ethereum sepolia
const provider = new Web3.providers.HttpProvider(rpc);
const web3 = new Web3(provider);
const wallet = web3.eth.accounts.privateKeyToAccount(pKey);
const contractWithAccount = new web3.eth.Contract(ERC20Abi, erc20Token, { from: wallet.address });
const contractWithProvider = new web3.eth.Contract(ERC20Abi, erc20Token);
const main = async () => {
const decimals = await contractWithAccount.methods.decimals().call();
console.log(decimals);
}
insufficient funds for gas * price + value: address 0xB1a257e67b2069C33c639bA696e99108f3c6C47C have 75534812756883593 want 3995152741700000000
contractWithProviderто всё окей, я получу нормальный ответ. Почему обычная view функция требует газ? Читать полностью…
кто нибудь может подсказать, из-за чего происходит ошибка?
Error: Request failed with status 400 (URL: https://relay-sepolia.flashbots.net): {"error":"unable to decode txs"}
Читать полностью…
const { ethers } = require("ethers");
const {
FlashbotsBundleProvider,
} = require("@flashbots/ethers-provider-bundle");
const provider = new ethers.JsonRpcProvider(
"key"
);
const wallet = new ethers.Wallet(
"key",
provider
);
async function main() {
const flashbotsProvider = await FlashbotsBundleProvider.create(
provider,
wallet,
"https://relay-sepolia.flashbots.net",
"11155111"
);
const nonce = await provider.getTransactionCount(wallet.address);
const gasPrice = ethers.parseUnits("40", "gwei");
const tx1 = {
to: "address",
value: ethers.parseEther("0.1"),
gasPrice: gasPrice,
gasLimit: 21000,
nonce: nonce,
};
const tx2 = {
to: "address",
value: ethers.parseEther("0.2"),
gasPrice: gasPrice,
gasLimit: 21000,
nonce: nonce + 1,
};
const signedTransactions = await Promise.all([
wallet.signTransaction(tx1),
wallet.signTransaction(tx2),
]);
const bundle = [
{ signedTransaction: signedTransactions[0] },
{ signedTransaction: signedTransactions[1] },
];
const blockNumber = await provider.getBlockNumber();
const targetBlockNumber = blockNumber + 1;
const response = await flashbotsProvider.sendBundle(
bundle,
targetBlockNumber
);
if ("error" in response) {
console.error(response.error.message);
return;
}
const receipt = await response.wait();
if (receipt === 0) {
console.log(`Бандл включен в блок ${targetBlockNumber}`);
} else {
console.error(`Бандл не был включен: ${receipt}`);
}
}
main();
Народ а если картинки для nft хранятся в папке ipfs, получается создатель папки может в любой момент их удалить/поменять?
Читать полностью…This means that if a contract is created in a transaction, the nonce is immediately non-zero, with the side-effect that a collision within the same transaction will always fail -- even if it's carried out from the init_code itself.Читать полностью…
It should also be noted that SELFDESTRUCT (0xff) has no immediate effect on nonce or code, thus a contract cannot be destroyed and recreated within one transaction.
Всем привет, а нельзя что ли в рамках 1 транзакции 2 раза сделать CREATE2 с одним и тем же nonce, при том что в коде конструктора создаваемого контракта есть selfdestruct?
Читать полностью…В аби контракта поменяй тип функции на вью. По крайней мере с ethers ,срабатывает.
Читать полностью…Так и есть, он её шлёт будто write хотя явно указано call()
Но ethers делает почему-то тоже самое. При этом что максимально странно - это новое поведение, которого раньше не было, и это происходит так же в клиентах на джава в андроиде и на свифт в айос. Для rpc от квик нод, и чейн стак. Инфура при этом работает нормально с подобными запросами.
я не работал с web3, но предполагаю что неправильный синтаксис чтения. Ты как будто не читаешь, а именно хочешь отослать транзакцию. Проверь синтаксис
Читать полностью…