evmlib/contract/payment_vault/
implementation.rs1use crate::common::Address;
2use alloy::network::Network;
3use alloy::providers::Provider;
4use alloy::sol;
5
6sol!(
7 #[allow(missing_docs)]
8 #[sol(rpc)]
9 PaymentVaultImplementation,
10 "artifacts/PaymentVaultNoProxyV2.json"
11);
12
13pub async fn deploy<P, N>(provider: &P, network_token_address: Address) -> Address
15where
16 P: Provider<N>,
17 N: Network,
18{
19 let contract = PaymentVaultImplementation::deploy(provider, network_token_address)
20 .await
21 .expect("Could not deploy payment vault implementation contract");
22
23 *contract.address()
24}