Skip to content

Commit cc7bbc4

Browse files
authored
Merge pull request #169 from semiotic-ai/168-aggregator-add-support-for-mnemonic-key-path-andor-priv-key
feat(tap-aggregator): allow argument for key derive path to be used w…
2 parents fe95489 + 3737f51 commit cc7bbc4

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

tap_aggregator/src/main.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use alloy_primitives::{Address, FixedBytes, U256};
99
use alloy_sol_types::Eip712Domain;
1010
use anyhow::Result;
1111
use clap::Parser;
12-
use ethers_signers::{coins_bip39::English, MnemonicBuilder};
12+
use ethers_signers::{coins_bip39::English, MnemonicBuilder, Signer};
1313
use tokio::signal::unix::{signal, SignalKind};
1414

1515
use log::{debug, info};
@@ -24,10 +24,14 @@ struct Args {
2424
#[arg(long, default_value_t = 8080, env = "TAP_PORT")]
2525
port: u16,
2626

27-
/// Gateway mnemonic to be used to sign Receipt Aggregate Vouchers.
27+
/// Gateway mnemonic to be used to generate key for signing Receipt Aggregate Vouchers.
2828
#[arg(long, env = "TAP_MNEMONIC")]
2929
mnemonic: String,
3030

31+
/// Gateway key derive path to be used to generate key for signing Receipt Aggregate Vouchers.
32+
#[arg(long, default_value = "m/44'/60'/0'/0/0", env = "TAP_KEY_DERIVE_PATH")]
33+
key_derive_path: String,
34+
3135
/// Maximum request body size in bytes.
3236
/// Defaults to 10MB.
3337
#[arg(long, default_value_t = 10 * 1024 * 1024, env = "TAP_MAX_REQUEST_BODY_SIZE")]
@@ -88,8 +92,11 @@ async fn main() -> Result<()> {
8892
// Create a wallet from the mnemonic.
8993
let wallet = MnemonicBuilder::<English>::default()
9094
.phrase(args.mnemonic.as_str())
95+
.derivation_path(&args.key_derive_path)?
9196
.build()?;
9297

98+
info!("Wallet address: {:#40x}", wallet.address());
99+
93100
// Create the EIP-712 domain separator.
94101
let domain_separator = create_eip712_domain(&args)?;
95102

0 commit comments

Comments
 (0)