Skip to content

Commit 8b264b9

Browse files
committed
nit: move struct to top
1 parent e21ad9d commit 8b264b9

File tree

1 file changed

+29
-29
lines changed

1 file changed

+29
-29
lines changed

bin/submit_transaction.rs

+29-29
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,35 @@ use init4_bin_base::{
1414
use std::time::{Duration, Instant};
1515
use tokio::time::timeout;
1616

17+
#[derive(Debug, Clone, FromEnv)]
18+
struct Config {
19+
#[from_env(var = "RPC_URL", desc = "Ethereum RPC URL")]
20+
rpc_url: String,
21+
#[from_env(var = "CHAIN_ID", desc = "Ethereum chain ID")]
22+
chain_id: u64,
23+
#[from_env(var = "AWS_KMS_KEY_ID", desc = "AWS KMS key ID")]
24+
kms_key_id: String,
25+
#[from_env(var = "RECIPIENT_ADDRESS", desc = "Recipient address")]
26+
recipient_address: Address,
27+
#[from_env(var = "SLEEP_TIME", desc = "Time to sleep between transactions")]
28+
sleep_time: u64,
29+
}
30+
31+
impl Config {
32+
async fn provider(&self) -> HostProvider {
33+
let config = aws_config::load_defaults(aws_config::BehaviorVersion::latest()).await;
34+
let client = aws_sdk_kms::Client::new(&config);
35+
let signer =
36+
AwsSigner::new(client, self.kms_key_id.clone(), Some(self.chain_id)).await.unwrap();
37+
38+
ProviderBuilder::new()
39+
.wallet(EthereumWallet::from(signer))
40+
.connect(&self.rpc_url)
41+
.await
42+
.unwrap()
43+
}
44+
}
45+
1746
#[tokio::main]
1847
async fn main() {
1948
init4();
@@ -70,32 +99,3 @@ async fn send_transaction(provider: &HostProvider, recipient_address: Address) {
7099
tracing::debug!(success = receipt.status(), mine_time, hash, "transaction mined");
71100
histogram!("txn_submitter.tx_mine_time").record(mine_time as f64);
72101
}
73-
74-
#[derive(Debug, Clone, FromEnv)]
75-
struct Config {
76-
#[from_env(var = "RPC_URL", desc = "Ethereum RPC URL")]
77-
rpc_url: String,
78-
#[from_env(var = "CHAIN_ID", desc = "Ethereum chain ID")]
79-
chain_id: u64,
80-
#[from_env(var = "AWS_KMS_KEY_ID", desc = "AWS KMS key ID")]
81-
kms_key_id: String,
82-
#[from_env(var = "RECIPIENT_ADDRESS", desc = "Recipient address")]
83-
recipient_address: Address,
84-
#[from_env(var = "SLEEP_TIME", desc = "Time to sleep between transactions")]
85-
sleep_time: u64,
86-
}
87-
88-
impl Config {
89-
async fn provider(&self) -> HostProvider {
90-
let config = aws_config::load_defaults(aws_config::BehaviorVersion::latest()).await;
91-
let client = aws_sdk_kms::Client::new(&config);
92-
let signer =
93-
AwsSigner::new(client, self.kms_key_id.clone(), Some(self.chain_id)).await.unwrap();
94-
95-
ProviderBuilder::new()
96-
.wallet(EthereumWallet::from(signer))
97-
.connect(&self.rpc_url)
98-
.await
99-
.unwrap()
100-
}
101-
}

0 commit comments

Comments
 (0)