Compute transaction input for executing transactions (#28)

* Parsed ABI field in order to get method parameter

* Added logic for ABI

* Refactored dependencies

* Small refactoring

* Added unit tests for ABI parameter extraction logic

* Fixed format issues

* Fixed format

* Added new changes to format

* Added bail to stop execution when we have an error during deployment
This commit is contained in:
activecoder10
2025-07-09 14:03:38 +03:00
committed by GitHub
parent 3a537c2812
commit de7c7d6703
8 changed files with 457 additions and 44 deletions
+4 -1
View File
@@ -1,6 +1,7 @@
//! The go-ethereum node implementation.
use std::{
collections::HashMap,
fs::{File, create_dir_all, remove_dir_all},
io::{BufRead, BufReader, Read, Write},
path::PathBuf,
@@ -15,7 +16,7 @@ use std::{
use alloy::{
network::EthereumWallet,
primitives::{Address, map::HashMap},
primitives::Address,
providers::{Provider, ProviderBuilder, ext::DebugApi},
rpc::types::{
TransactionReceipt, TransactionRequest,
@@ -158,6 +159,8 @@ impl EthereumNode for Instance {
let connection_string = self.connection_string();
let wallet = self.wallet.clone();
log::debug!("Submitting transaction: {transaction:#?}");
execute_transaction(Box::pin(async move {
Ok(ProviderBuilder::new()
.wallet(wallet)
+4 -1
View File
@@ -1,4 +1,5 @@
use std::{
collections::HashMap,
fs::create_dir_all,
io::BufRead,
path::PathBuf,
@@ -13,7 +14,7 @@ use std::{
use alloy::{
hex,
network::EthereumWallet,
primitives::{Address, map::HashMap},
primitives::Address,
providers::{Provider, ProviderBuilder, ext::DebugApi},
rpc::types::{
TransactionReceipt,
@@ -251,6 +252,8 @@ impl EthereumNode for KitchensinkNode {
let url = self.rpc_url.clone();
let wallet = self.wallet.clone();
log::debug!("Submitting transaction: {transaction:#?}");
execute_transaction(Box::pin(async move {
Ok(ProviderBuilder::new()
.wallet(wallet)